package fence;
|
import java.awt.geom.Point2D;
|
import java.util.List;
|
import DataBase.DatabaseManagement;
|
import Method.ControTag;
|
import Method.GetNowTime;
|
import PbuliClass.IsInStartAndEndTime;
|
import PbuliClass.IsPtInPoly;
|
import PbuliClass.ShowMessage;
|
import person.Person;
|
import person.person_Dell;
|
import tbDataModel.TbFence;
|
|
/**½øÃŸ澯*/
|
public class Pointindoor {
|
public static void isindoor_fence(
|
List<TbFence> fences,
|
int size,
|
String tagid,
|
int x,
|
int y,
|
String floor,
|
Point2D.Double point
|
) {
|
if(size==0) {//Èç¹ûΧÀ¸²»´æÔÚÔòÍ˳ö
|
return;
|
}
|
Person person=person_Dell.get_Person(tagid);
|
if(person==null) {//Èç¹û±êÇ©²»´æÔÚÔòÍ˳ö
|
return;
|
}
|
|
String baoliu18=person.getBaoliu18();
|
if(baoliu18==null || baoliu18.equals("1")) {
|
person.setJinmenstate(0);
|
return;
|
}
|
|
String intime=GetNowTime.now();
|
for(int i=0;i<size;i++) {
|
TbFence indoor_fence=fences.get(i);
|
String startime=indoor_fence.getStart();//ΧÀ¸ÉúЧ¿ªÊ¼Ê±¼ä
|
String stoptime=indoor_fence.getStop();//ΧÀ¸ÉúЧ½áÊøÊ±¼ä
|
String area=indoor_fence.getName();//ÇøÓòÃû³Æ
|
String ceng=indoor_fence.getFloor();//ΧÀ¸ÇøÓòËùÔڵIJã
|
String allFnece = indoor_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, indoor_fence.getPts());//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ
|
if(ispoly) {//Èç¹ûÔÚ¸æ¾¯ÇøÓòÄÚ
|
int isin=person.getJinmenstate();//ÈËÔ±ÊÇ·ñÒѾ´¦ÓÚ½øÃÅÇøÓòÄÚ
|
String name=person.getP_name();
|
if(isin==1) {
|
ShowMessage.zidingyi(name+"("+tagid+")½øÃÅ"+area+"±¨¾¯");//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
|
int zhendstate =person.getNowzhendong();
|
if(zhendstate==0) {
|
Kongzhizhengdong.contril(tagid,"½øÃŸ澯");//¿ØÖÆÕ𶯻òÕß·äÃù
|
}
|
Palyvoice.play("indoor.wav");
|
person.setP_fencename(area);
|
return;
|
}
|
|
ShowMessage.zidingyi(name+"("+tagid+")δ¾ÊÚȨ½øÃÅ"+area+"±¨¾¯");//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
|
datainto_base("ÑéÖ¤¼Ç¼",name,tagid,"½øÃÅ","δ¾ÊÚȨ");
|
Palyvoice.play("indoor.wav");
|
Kongzhizhengdong.contril(tagid,"½øÃŸ澯");//¿ØÖÆÕ𶯻òÕß·äÃù
|
person.setJinmenstate(1);
|
person.setP_fencename(area);
|
return;
|
}
|
}
|
|
person.setP_fencename("");
|
person.setJinmenstate(0);
|
int zhendstate =person.getNowzhendong();
|
if(zhendstate==1) {
|
ControTag.konghzitag(0, tagid,(byte)0x10,"","½øÃÅÏ·¢");//Ï·¢Õñ¶¯
|
}
|
|
|
}
|
|
public static void datainto_base(String type,String name,String tagid,String event,String details) {
|
String addtime=GetNowTime.now();
|
String[] ziduan = {"type","name","tagid","event","details","addtime"};
|
String[] zhi = {type,name,tagid,event,details,addtime};
|
DatabaseManagement.insertfast("tb_permission", ziduan, zhi);
|
}
|
|
}
|