Browse Source

围栏修改

liubing 3 years ago
parent
commit
024e706458

+ 6 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java

@ -1002,7 +1002,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
                        day = DateUtil.getStringDateShort();
                    }
                    // 电子围栏
                    devInfoObj.put("safeAreaGz", securityMonitoringOrderService.getElectronicFence(deviceSn));
                    devInfoObj.put("safeAreaGz", securityMonitoringOrderService.getElectronicFence(device.getUser()));
                    // 行动轨迹
                    devInfoObj.put("actionTrack", securityMonitoringOrderService.getActionTrack(deviceSn,day));
                    //当前定位
@ -1029,7 +1029,11 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
                    devInfoObj.put("currentLon",lon);       //当前定位
                    double dulat =Double.parseDouble(lat);
                    double dulon = Double.parseDouble(lon);
                    String safeArea = device.getSafeAreaGz();
                    List<PatientSafeAreaDO> safeAreaDOS = safeAreaDao.findByPatient(device.getUser());
                    String safeArea=null;
                    if (safeAreaDOS.size()>0){
                        safeArea = safeAreaDOS.get(0).getSafeAreaGz();
                    }
                    String[] safeAreas = safeArea.split(";");
                    com.alibaba.fastjson.JSONArray fenceLocation = new com.alibaba.fastjson.JSONArray();
                    for (String area:safeAreas){

+ 9 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -124,6 +124,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    private BaseSleepPlanDetailDao sleepPlanDetailDao;
    @Autowired
    private BaseSleepNightRecordDao nightRecordDao;
    @Autowired
    private PatientSafeAreaDao safeAreaDao;
    private Logger logger = LoggerFactory.getLogger(SecurityMonitoringOrderService.class);
@ -254,8 +256,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        return result;
    }
    public List<Map<String , Object>> getElectronicFence(String deviceSn){
        String sql = " select safe_area_gz safeAreaGz from wlyy_patient_device where device_sn = '"+deviceSn+"' and del = 0 order by id desc limit 1";
    public List<Map<String , Object>> getElectronicFence(String patient){
        String sql = " select safe_area_gz safeAreaGz from wlyy_patient_safe_area where patient = '"+patient+"' ";
        return jdbcTemplate.queryForList(sql);
    }
@ -1402,7 +1404,11 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                    }
                }
                if (!(dulat == 0.0 && dulon == 0.0)) {
                    String safeArea = deviceDO.getSafeAreaGz();
                    List<PatientSafeAreaDO> safeAreaDOS = safeAreaDao.findByPatient(deviceDO.getUser());
                    String safeArea=null;
                    if (safeAreaDOS.size()>0){
                        safeArea = safeAreaDOS.get(0).getSafeAreaGz();
                    }
                    JSONArray fenceLocation = new JSONArray();
                    String address = LatitudeUtils.getLocationAddress(dulat + "", dulon + "");
                    if (StringUtils.isNotBlank(safeArea)) {

+ 21 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/dao/device/PatientSafeAreaDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.PatientSafeAreaDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by Bing on 2021/8/31.
 */
public interface PatientSafeAreaDao extends PagingAndSortingRepository<PatientSafeAreaDO,Long>,
        JpaSpecificationExecutor<PatientSafeAreaDO> {
    List<PatientSafeAreaDO> findByPatient(String patient);
    @Modifying
    void deleteByPatient(String patient);
}

+ 14 - 7
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceUploadService.java

@ -70,6 +70,8 @@ public class DeviceUploadService {
    private GpsUtil gpsUtil;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private PatientSafeAreaDao safeAreaDao;
    public Result uploadDevicesData(String dataJson)throws Exception {
        try {
@ -483,15 +485,20 @@ public class DeviceUploadService {
                            List<DevicePatientDevice> patientDeviceList = patientDeviceDao.findByDeviceSn(sn);
                            DevicePatientDevice patientDevice = null;
                            if (patientDeviceList.size()>0){
                                for (DevicePatientDevice pd2:patientDeviceList){
                                    if (StringUtils.isNotBlank(pd2.getSafeAreaGz())){
                                        patientDevice = pd2;
                                        break;
                                    }
                                }
                                patientDevice = patientDeviceList.get(0);
//                                for (DevicePatientDevice pd2:patientDeviceList){
//                                    if (StringUtils.isNotBlank(pd2.getSafeAreaGz())){
//                                        patientDevice = pd2;
//                                        break;
//                                    }
//                                }
                            }
                            if (null!=patientDevice){//存在围栏地址
                                String safeArea = patientDevice.getSafeAreaGz();
                                List<PatientSafeAreaDO> safeAreaDOS = safeAreaDao.findByPatient(patientDevice.getUser());
                                String safeArea=null;
                                if (safeAreaDOS.size()>0){
                                    safeArea = safeAreaDOS.get(0).getSafeAreaGz();
                                }
                                if (StringUtils.isNotBlank(safeArea)){
                                    String[] safeAreas = safeArea.split(";");
                                    JSONArray fenceLocation = new JSONArray();