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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package fence;
import java.awt.geom.Point2D;
import java.util.Vector;
 
import Method.BaoWenShow;
import PbuliClass.IsPtInPoly;
import home.ChuShiHua;
import person.Person;
import person.person_Dell;
import tbDataModel.TbFence;
import tbDataModel.shineitag;
import urt.Dell_gps;
 
/**ÅжϵãÊÇ·ñÔÚÊÒÄÚÇøÓòÄÚ*/
public class PointIsInshinei {    
    //ÊÒÄÚÇøÓòµÄ¼¯ºÏ
    static Vector<shineitag> shineitag_vc=new Vector<shineitag>();
    public  static  void is_in_shinei(
            int snsize,
            Vector<TbFence> shinei_fence_vc,
            String tagid,
            int x,
            int y,
            String floor,
            Point2D.Double point) {
 
        if(snsize !=0) {//Èç¹ûÊÒÄÚÇøÓò´æÔÚ            
            if(Dell_gps.get_tb_gps(tagid) ==null) {//Èç¹û¸Ã±êÇ©²»´øGPS¶¨Î»¹¦ÄÜÔò·µ»Ø
                return;
            }
            
            Person person=person_Dell.get_Person(tagid);
            if(person==null) {//Èç¹û±êÇ©²»´æÔÚ·µ»Ø
                return;
            }
            
            ChuShiHua.setSucc(0);                
            for(int i=0;i<snsize;i++) {    //Èç¹ûÊÒÄÚÇøÓò´æÔÚ            
                TbFence tbfenc=shinei_fence_vc.get(i);
                String fencename=tbfenc.getName();//ÅжÏID×ø±êÊÇ·ñÔÚΧÀ¸ÇøÓòÄÚ                            
                boolean isin=IsPtInPoly.inPoly(point, tbfenc.getPts());
                if(isin) {
                    person.setIndoor_fence(1);                    
                    String hex=tagid+",ÔÚ"+fencename+"ÊÒÄÚ"+x+", "+y;
                    BaoWenShow.ok_tagid("2", "debug",hex, "127.0.0.1",tagid);
                    return;
                }
            }
            
            person.setIndoor_fence(0);
            String hex=tagid+",²»ÔÚÊÒÄÚ"+x+","+y;
            BaoWenShow.ok_tagid("2", "debug",hex, "127.0.0.1",tagid);
        }
 
    }
 
 
    /**ÔÚËùÓÐÊÒÄÚΧÀ¸ÖÐÕÒ±êÇ©ÊÇ·ñ´æÔÚ*/
    public static int  taginshinei(String tagid) {
        int indoor=0;        
        int size=shineitag_vc.size();
        for(int i=0;i<size;i++) {
            String fencename=shineitag_vc.get(i).getFence_name();            
            if(get_tag(fencename,tagid)) { 
                indoor=1;                
                break;
            }
        }
        return indoor;
 
    }
 
 
 
    /**ͨ¹ýΧÀ¸Ãû³ÆÕÒµ½ÊÒÄÚÇøÓò¶ÔÏó*/
    public static Vector<String>  getsntg(String name) {
        Vector<String>  sntag=new Vector<String>();
        int size=shineitag_vc.size();
        if(size !=0) {
            for(int i=0;i<size;i++) {
                shineitag sntag1=shineitag_vc.get(i);
                String name1=sntag1.getFence_name();
                if(name1.equals(name)) {
                    sntag=sntag1.getTagvector();
                    break;
                }
            }
        }
        return sntag;
    }
 
 
    /**ͨ¹ýÊÒÄÚÇøÓòÃû³ÆºÍ±êÇ©IDÕÒµ½±êÇ©ÊÇ·ñÔÚ¸ÃÊÒÄÚÇøÓò*/
    public static boolean get_tag(String fencename,String tagid) {
        boolean isin=false;
        Vector<String> tagvector=getsntg(fencename);
        if(tagvector !=null) {
            int size=tagvector.size();
            if(size !=0) {
                for(int i=0;i<size;i++) {
                    String tagid1=tagvector.get(i);    
                    if(tagid1 !=null) {
                        if(tagid1.equals(tagid)) {
                            isin=true;
                            break;
                        }
                    }
                }
            }
        }
        return isin;
    }
 
 
    /**ÏòÊÒÄÚ¼¯ºÏ¶ÔÏóÖÐÌí¼ÓÒ»¸ö±êǩͬʱɾ³ýÆäËûËùÓÐÊÒÄÚ¼¯ºÏÖиñêÇ©*/
    public static void shinei_add_tag(String fencename,String tagid) {
        if(!get_tag(fencename,tagid)) {
            getsntg(fencename).add(tagid);
            delete_all_jilu(fencename,tagid);
        }        
    }
 
    /**ÏòÊÒÄÚ¼¯ºÏ¶ÔÏóÖÐɾ³ýÒ»¸ö±êÇ©*/
    public static void delete_sntag(String fencename,String tagid) {        
        if(get_tag(fencename,tagid)) {
            getsntg(fencename).removeElement(tagid);
        }        
    }
 
    /**ɾ³ýËùÓм¯ºÏÖеıêÇ©*/
    public static void delte_all_snvec() {
        int size=shineitag_vc.size();
        if(size !=0) {
            for(int i=0;i<size;i++) {
                shineitag_vc.get(i).getTagvector().removeAllElements();
            }
        }
    }
 
    /**ɾ³ýij¸ö±êÇ©ÔÚÆäËûËùÓÐÊÒÄÚÇøÓò¼¯ºÏÖеļǼ*/
    public static void delete_all_jilu(String fencename,String tagid) {
        int size=shineitag_vc.size();
        if(size !=0) {
            for(int i=0;i<size;i++) {
                String fencename1=shineitag_vc.get(i).getFence_name();                
                if(!fencename1.equals(fencename)) {
                    shineitag_vc.get(i).getTagvector().removeElement(tagid);
                }
            }
        }
    }
 
 
    public static Vector<shineitag> getShineitag_vc() {
        return shineitag_vc;
    }
 
 
 
 
}