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
98
99
100
101
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);
 
    }
    
    
 
}