|
@ -3,6 +3,7 @@ package com.yihu.jw.care.service.third;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.care.dao.device.BaseSleepPlanDao;
|
|
|
import com.yihu.jw.care.dao.device.PatientSafeAreaDao;
|
|
|
import com.yihu.jw.care.dao.label.BaseCapacityLabelDao;
|
|
|
import com.yihu.jw.care.dao.label.WlyyPatientLabelDao;
|
|
|
import com.yihu.jw.care.dao.security.BaseEmergencyWarnLogDao;
|
|
@ -15,8 +16,11 @@ import com.yihu.jw.care.service.lifeCare.LifeCareOrderService;
|
|
|
import com.yihu.jw.care.service.security.SecurityMonitoringOrderService;
|
|
|
import com.yihu.jw.care.service.sign.CapacityAssessmentRecordService;
|
|
|
import com.yihu.jw.care.service.sign.ServicePackageService;
|
|
|
import com.yihu.jw.care.util.CountDistance;
|
|
|
import com.yihu.jw.care.util.Point;
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
|
import com.yihu.jw.entity.care.device.BaseSleepPlan;
|
|
|
import com.yihu.jw.entity.care.device.PatientSafeAreaDO;
|
|
|
import com.yihu.jw.entity.care.label.BaseCapacityLabelDO;
|
|
|
import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
|
|
|
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
|
|
@ -74,6 +78,10 @@ public class PatientInfoPlatFormService {
|
|
|
private SecurityMonitoringOrderDao securityMonitoringOrderDao;
|
|
|
@Autowired
|
|
|
private BaseSleepPlanDao sleepPlanDao;
|
|
|
@Autowired
|
|
|
private PatientSafeAreaDao patientSafeAreaDao;
|
|
|
@Autowired
|
|
|
private CountDistance countDistance;
|
|
|
|
|
|
|
|
|
/**
|
|
@ -296,8 +304,24 @@ public class PatientInfoPlatFormService {
|
|
|
SecurityMonitoringOrderDO orderDO = securityMonitoringOrderDao.findOne(orderId);
|
|
|
|
|
|
if ("疑似离开安全区域".equals(orderDO.getServeDesc())){
|
|
|
//超出距离
|
|
|
info.put("info1","超出距离: 1m");//todo
|
|
|
//超出距离 获取居民
|
|
|
List<PatientSafeAreaDO> patientSafeAreaDOs = patientSafeAreaDao.findByPatient(orderDO.getPatient());
|
|
|
if (patientSafeAreaDOs.size()>0){
|
|
|
PatientSafeAreaDO patientSafeAreaDO = patientSafeAreaDOs.get(0);
|
|
|
List<Point> pointList = new ArrayList<Point>(){};
|
|
|
String pointStr = patientSafeAreaDO.getSafeAreaGz();
|
|
|
String[] points = pointStr.split(";");
|
|
|
for (String tmp:points){
|
|
|
String[] lonLat = tmp.split(",");
|
|
|
pointList.add(new Point(Double.parseDouble(lonLat[1]) , Double.parseDouble(lonLat[0])));
|
|
|
}
|
|
|
Point p = new Point(Double.parseDouble(orderDO.getServeLat()) , Double.parseDouble(orderDO.getServeLon()));
|
|
|
|
|
|
String dist = countDistance.getPointToEdgeDistance(p,pointList,2);
|
|
|
if (StringUtils.isNotBlank(dist)){
|
|
|
info.put("info1","超出距离: "+dist+"m");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if ("超时未起床".equals(orderDO.getServeDesc())){
|
|
|
List<BaseSleepPlan> sleepPlan = sleepPlanDao.findByPatient(orderDO.getPatient());
|