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
package fence;
import java.awt.geom.Point2D;
import java.util.List;
 
import Method.GetNowTime;
import Method.InsertData;
import PbuliClass.IsInStartAndEndTime;
import PbuliClass.IsPtInPoly;
import PbuliClass.ShowMessage;
import person.Person;
import person.person_Dell;
import tbDataModel.TbFence;
 
/**ÅжϵãÊÇ·ñ³öÈ¥¸æ¾¯ÇøÓòÄÚ*/
public class PointIsInOutWarning {
 
 
    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
            ) {
        Person person=person_Dell.get_Person(tagid);
        if(person ==null) {//Èç¹û±êÇ©²»´æÔÚ
            return;
        }
 
        if(size ==0) {//Èç¹ûΧÀ¸ÇøÓò²»´æÔÚÔòÍ˳ö
            return;
        }
 
        for(int i=0;i<size;i++) {
            TbFence  warning_fence=warning_fences.get(i);
            String bumen=person.getP_department();
            String bumen1=warning_fence.getBumen();
            String qiyong=warning_fence.getBaoliu7();
            if(qiyong.equals("0")) {//Èç¹ûΧÀ¸Ã»ÓÐÆôÓÃ
                continue;
            }
            if(!bumen.equals(bumen1)) {//Èç¹û²¿ÃŲ»Ò»ÖÂÔò¼ÌÐø
                continue;
            }
            String ceng=warning_fence.getFloor();//ΧÀ¸ÇøÓòËùÔڵIJ㲻һÖÂ
            String allFnece = warning_fence.getBaoliu10();
            if(!ceng.equals(floor)&&!allFnece.equals("1")) {
                continue;
            }
            String startime=warning_fence.getStart();//ΧÀ¸ÉúЧ¿ªÊ¼Ê±¼ä
            String stoptime=warning_fence.getStop();//ΧÀ¸ÉúЧ½áÊøÊ±¼ä
            boolean zai=IsInStartAndEndTime.belongCalendar(intime, startime, stoptime);//ÅжÏÊÇ·ñÔÚΧÀ¸ÉúЧµÄʱ¼äÄÚ
            if(!zai) {//ÔÚΧÀ¸ÉúЧʱ¼äÄÚÍ˳ö
                continue;
            }
            boolean ispoly=IsPtInPoly.inPoly(point, warning_fence.getPts());//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ
            if(!ispoly) {//Èç¹ûÔÚ¸æ¾¯ÇøÓòÄÚ    
                boolean isin=person.isOutwarning();//ÈËÔ±ÊÇ·ñÒѾ­´¦ÓÚΧÀ¸ÇøÓòÍâ
                person.setP_fence("2");
                String name=person.getP_name();    
                String area=warning_fence.getName();//ÇøÓòÃû³Æ
                if(isin) {
                    ShowMessage.zidingyi(name+"("+tagid+")³ö"+area+"±¨¾¯\n"+GetNowTime.timestamp2());//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
                    Kongzhizhengdong.contril(tagid,"³öÇøÓò¸æ¾¯");//¿ØÖÆÕ𶯻òÕß·äÃù
                    Palyvoice.play("outwarning.wav");
                    return;
                }            
 
                ShowMessage.zidingyi(name+"("+tagid+")³ö"+area+"±¨¾¯\n"+GetNowTime.timestamp2());//Êý¾Ý¿âÖÐÌí¼ÓÒ»Ìõ¼Ç¼
                InsertData.into_database("³öÈ¥¸æ¾¯",area,name,bumen,tagid,intime,"","");
                Palyvoice.play("outwarning.wav");
                Kongzhizhengdong.contril(tagid,"³öÇøÓò¸æ¾¯");//¿ØÖÆÕ𶯻òÕß·äÃù
                person_Dell.alert_isin_fence(tagid, "1",area);//±êÇ©½øÈë¸æ¾¯ÇøÓò½«ÊµÊ±Î»ÖÃÖи澯״̬ÐÞ¸ÄΪ1
                person.setOutwarning(true);
                return;
            }
        }
 
        person.setP_fence("0");
        person.setOutwarning(false);
    }
}