package fence;
|
import java.awt.geom.Point2D;
|
import java.util.Vector;
|
|
import Judge.JugeNumber;
|
import Method.GetNowTime;
|
import Method.InsertData;
|
import PbuliClass.IsPtInPoly;
|
import PbuliClass.ShowMessage;
|
import jiekou.Warnig;
|
import person.Person;
|
import person.person_Dell;
|
import tbDataModel.TbFence;
|
|
/**³¬Ô±±¨¾¯*/
|
public class Pointchaoyuan {
|
static Vector<Person> cyvc=new Vector<Person>();
|
public static void isinchaoyuan(String tagid,int x,int y,String floor,int size) {
|
Person person=person_Dell.get_Person(tagid);
|
if(person==null) {//ÈËÔ±²»´æÔÚÔÚÔòÍ˳ö
|
return;
|
}
|
|
for(int i=0;i<size;i++) {
|
TbFence fc=Fences.getChaoyuan_fences().get(i);
|
String baoliu2=fc.getBaoliu2();
|
if( baoliu2==null) {
|
continue;
|
}
|
if(!JugeNumber.isDigit(baoliu2)) {//Èç¹ûΧÀ¸ÎÞÏÞÖÆÔò½øÈëÏÂÒ»¸öÑ»·
|
continue;
|
}
|
String fcfloor=fc.getFloor();
|
String allFnece = fc.getBaoliu10();
|
if(floor.equals(fcfloor)&&!allFnece.equals("1")) {//±êÇ©ËùÔÚ²ãºÍΧÀ¸ÔÚÒ»²ã
|
Point2D.Double point=new Point2D.Double(x,y);
|
boolean isin=IsPtInPoly.inPoly(point, fc.getPts());
|
String area=fc.getName();
|
boolean a=serch(tagid,area);//²éÏÂÈËÊÇ·ñÒѾÔÚ¸ÄΧÀ¸ÄÚ
|
if(isin) {//Èç¹ûÔÚÇøÓòÄÚ
|
int numxianzhi=Integer.parseInt(baoliu2);
|
int num=num(area);
|
if(!a) {//Èç¹ûÈ˲»ÔÚ¼¯ºÏÄÚ
|
person.setChaoyuanquname(area);
|
cyvc.add(person);
|
if(num>numxianzhi) {//Èç¹ûΧÀ¸ÄÚÈËÊý´óÓÚÏÞÖÆÈËÊý
|
ShowMessage.zidingyi(area+"µ±Ç°ÊýÁ¿"+num+"³¬¹ýÏÞÖÆÊýÁ¿"+numxianzhi+"±¨¾¯");
|
String name=person.getP_name();
|
String bumen=person.getP_department();
|
String intime=GetNowTime.now();
|
InsertData.into_database("³¬Ô±±¨¾¯",area,name,bumen,tagid,intime,"","");
|
person.setP_fence("3");
|
Warnig.chaoyuan(area, fcfloor, String.valueOf(num), String.valueOf(numxianzhi));
|
Kongzhizhengdong.contril(tagid,"ËùÔÚÇøÓòÒѳ¬Ô±");//¿ØÖÆÕ𶯻òÕß·äÃù
|
}
|
}else {
|
if(num>numxianzhi) {//Èç¹ûΧÀ¸ÄÚÈËÊý´óÓÚÏÞÖÆÈËÊý
|
Warnig.chaoyuan(area, fcfloor, String.valueOf(num), String.valueOf(numxianzhi));
|
ShowMessage.zidingyi(area+"µ±Ç°ÊýÁ¿"+num+"³¬¹ýÏÞÖÆÊýÁ¿"+numxianzhi+"±¨¾¯");
|
Kongzhizhengdong.contril(tagid,"ËùÔÚÇøÓòÒѳ¬Ô±");//¿ØÖÆÕ𶯻òÕß·äÃù
|
}
|
}
|
}else {
|
if(a) {
|
cyvc.removeElement(person);
|
person.setP_fence("0");
|
}
|
}
|
}
|
}
|
|
|
|
}
|
|
/**´Ó¼¯ºÏÖÐѰÕÒij¸öÈË*/
|
public static boolean serch(String tagid,String area) {
|
boolean a=false;
|
int size=cyvc.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
Person b=cyvc.get(i);
|
String tagid1=b.getP_tagid();
|
String area1=b.getChaoyuanquname();
|
if(tagid.equals(tagid1) && area.equals(area1)) {
|
a=true;
|
break;
|
}
|
}
|
}
|
return a;
|
|
}
|
|
/**´Ó¼¯ºÏÖÐѰÕÒij¸öÈË*/
|
public static boolean serch(String tagid) {
|
boolean a=false;
|
int size=cyvc.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
Person b=cyvc.get(i);
|
String tagid1=b.getP_tagid();
|
if(tagid.equals(tagid1) ) {
|
a=true;
|
break;
|
}
|
}
|
}
|
return a;
|
|
}
|
|
/**´Ó¼¯ºÏÖÐѰÕÒij¸öΧÀ¸ÖÐÈËÔ±×ÜÊý*/
|
public static int num(String area) {
|
int num=0;
|
int size=cyvc.size();
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
Person b=cyvc.get(i);
|
String area1=b.getChaoyuanquname();
|
if(area.equals(area1)) {
|
num=num+1;
|
}
|
}
|
}
|
return num;
|
|
}
|
|
}
|