package fence;
|
import java.awt.geom.Point2D;
|
import java.util.List;
|
|
import Method.ControTag;
|
import Method.InsertData;
|
import PbuliClass.IsInStartAndEndTime;
|
import PbuliClass.IsPtInPoly;
|
import PbuliClass.ShowMessage;
|
import jiekou.Warnig;
|
import person.Person;
|
import person.person_Dell;
|
import tbDataModel.TbFence;
|
|
/**ÅжϵãÊÇ·ñÔÚ¸æ¾¯ÇøÓòÄÚ*/
|
public class PointISInWarning {
|
public static void is_in_warning_fence(
|
List<TbFence> warning_fences,
|
int size,
|
String tagid,
|
String intime,
|
int x,
|
int y,
|
String floor,
|
Point2D.Double point
|
) {
|
if(size==0) {//Èç¹ûΧÀ¸²»´æÔÚÔòÍ˳ö
|
return;
|
}
|
Person person=person_Dell.get_Person(tagid);
|
if(person==null) {//Èç¹û±êÇ©²»´æÔÚÔòÍ˳ö
|
return;
|
}
|
|
for(int i=0;i<size;i++) {
|
TbFence warning_fence=warning_fences.get(i);
|
String bumen1=warning_fence.getBumen();
|
String bumen=person.getP_department();
|
String qiyong=warning_fence.getBaoliu7();
|
if(qiyong.equals("0")) {//Èç¹ûΧÀ¸Ã»ÓÐÆôÓÃ
|
continue;
|
}
|
if(!bumen1.equals(bumen)) {//Èç¹û²¿ÃŲ»ÏàͬÔò·µ»Ø
|
continue;
|
}
|
String startime=warning_fence.getStart();//ΧÀ¸ÉúЧ¿ªÊ¼Ê±¼ä
|
String stoptime=warning_fence.getStop();//ΧÀ¸ÉúЧ½áÊøÊ±¼ä
|
String area=warning_fence.getName();//ÇøÓòÃû³Æ
|
String ceng=warning_fence.getFloor();//ΧÀ¸ÇøÓòËùÔڵIJã
|
String allFnece=warning_fence.getBaoliu10();//
|
if(!ceng.equals(floor)&&!allFnece.equals("1")) {//Èç¹ûÈËÔ±ËùÔÚ²ãºÍΧÀ¸²ã²»Ò»ÖÂÔòÍ˳ö
|
continue;
|
}
|
boolean zai=IsInStartAndEndTime.belongCalendar(intime, startime, stoptime);//ÅжÏÊÇ·ñÔÚΧÀ¸ÉúЧµÄʱ¼äÄÚ
|
if(!zai) {//Èç²»ÔÚΧÀ¸ÉúЧʱ¼äÄÚÔòÍ˳ö
|
continue;
|
}
|
boolean ispoly=IsPtInPoly.inPoly(point, warning_fence.getPts());//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ
|
if(ispoly) {//Èç¹ûÔÚ¸æ¾¯ÇøÓòÄÚ
|
int isin=person.getIsinwaring();//ÈËÔ±ÊÇ·ñÒѾ´¦ÓÚΧÀ¸ÇøÓòÄÚ
|
person.setP_fence("1");
|
String name=person.getP_name();
|
if(isin==1) {
|
ShowMessage.zidingyi(name+"("+tagid+")½øÈë"+area+"±¨¾¯");//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
|
Warnig.in_warning(tagid, area, "RGN_IN", floor);//Êý¾Ýת·¢
|
int zhendstate =person.getNowzhendong();
|
if(zhendstate==0) {
|
Kongzhizhengdong.contril(tagid,"½øÈë¸æ¾¯ÇøÓò");//¿ØÖÆÕ𶯻òÕß·äÃù
|
// System.out.println(tagid+"¿ªÊ¼Õð¶¯");
|
}
|
Palyvoice.play("warning.wav");
|
return;
|
}
|
|
ShowMessage.zidingyi(name+"("+tagid+")½øÈë"+area+"±¨¾¯");//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
|
InsertData.into_database("½øÈë¸æ¾¯",area,name,bumen,tagid,intime,"","");
|
Palyvoice.play("warning.wav");
|
Warnig.in_warning(tagid, area, "RGN_IN", floor);//Êý¾Ýת·¢
|
Kongzhizhengdong.contril(tagid,"½øÈë¸æ¾¯ÇøÓò");//¿ØÖÆÕ𶯻òÕß·äÃù
|
person_Dell.alert_isin_fence(tagid, "1",area);//±êÇ©½øÈë¸æ¾¯ÇøÓò½«ÊµÊ±Î»ÖÃÖи澯״̬ÐÞ¸ÄΪ1
|
person.setIsinwaring(1);
|
return;
|
}
|
}
|
|
int isin=person.getIsinwaring();//ÈËÔ±ÊÇ·ñÒѾ´¦ÓÚΧÀ¸ÇøÓòÄÚ
|
if(isin !=0) {
|
Warnig.in_warning(tagid,"", "RGN_OUT", floor);//Êý¾Ýת·¢
|
}
|
int zhendstate =person.getNowzhendong();
|
if(zhendstate==1) {
|
ControTag.konghzitag(0, tagid,(byte)0x10,"","½øÈëÇøÓòÏ·¢");//Ï·¢Õñ¶¯
|
}
|
person.setP_fence("0");
|
person.setIsinwaring(0);
|
|
}
|
|
|
|
}
|