zsh_root
2024-01-02 7b595546af704983dbafcd0d385c8768ddacefc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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 Pointoutdoor {
    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.equals("1")) {
            person.setChumenstate(0);
            return;
        }
        String intime=GetNowTime.now();
 
        for(int i=0;i<size;i++) {
            TbFence warning_fence=fences.get(i);
            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.getChumenstate();//ÈËÔ±ÊÇ·ñÒѾ­´¦ÓÚ³öÃÅÇøÓòÄÚ                
                String name=person.getP_name();                
                if(isin==1) {
                    ShowMessage.zidingyi(name+"("+tagid+")³öÃÅ"+area+"±¨¾¯"+baoliu18);//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
                    int zhendstate =person.getNowzhendong();
                    if(zhendstate==0) {
                        Kongzhizhengdong.contril(tagid,"³öß澯");//¿ØÖÆÕ𶯻òÕß·äÃù
                    }
                    Palyvoice.play("outdoor.wav");
                    person.setP_fencename(area);
                    return;
                }            
 
                ShowMessage.zidingyi(name+"("+tagid+")δ¾­ÊÚȨ³öÃÅ"+area+"±¨¾¯");//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
                datainto_base("ÑéÖ¤¼Ç¼",name,tagid,"³öÃÅ","δ¾­ÊÚȨ");
                Palyvoice.play("outdoor.wav");
                Kongzhizhengdong.contril(tagid,"³öß澯");//¿ØÖÆÕ𶯻òÕß·äÃù
                person.setChumenstate(1);
                person.setP_fencename(area);
                return;
            }
        }
 
        person.setP_fence("0");    
        person.setP_fencename("");
        person.setChumenstate(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);
    }
 
}