Procházet zdrojové kódy

医养设备项目SOS触发修改

liubing před 2 roky
rodič
revize
12ea4bc70c

+ 2 - 1
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/DeviceController.java

@ -69,7 +69,8 @@ public class DeviceController {
            long startTime=System.currentTimeMillis();
            long startTime=System.currentTimeMillis();
            String paraString = JSON.toJSONString(request.getParameterMap());
            String paraString = JSON.toJSONString(request.getParameterMap());
            deviceService.aqgsos(imei, label_mac, time_begin,request);
//            触发改为另外一个接口触发
//            deviceService.aqgsos(imei, label_mac, time_begin,request);
            long endTime=System.currentTimeMillis();
            long endTime=System.currentTimeMillis();
            dataPushLogUtil.savePushLog(imei,paraString,"爱牵挂SOS数据接收");
            dataPushLogUtil.savePushLog(imei,paraString,"爱牵挂SOS数据接收");
            dataPushLogUtil.updContactStatus(imei,1,false);
            dataPushLogUtil.updContactStatus(imei,1,false);

+ 71 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java

@ -353,6 +353,77 @@ public class DeviceService {
                    }
                    }
                }
                }
                else if (type==1){
                    Double lat= null;
                    Double lon= null;
                    String address=null;
                    List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(deviceid);
                    if (devicePatientDeviceDos.size()>0){
                        DevicePatientDevice deviceDO = devicePatientDeviceDos.get(0);
                        BasePatientDO patientDO = patientDao.findById(deviceDO.getUser());
                        DeviceSosLogDO logDO = new DeviceSosLogDO();
                        logDO.setPatient(patientDO.getId());
                        logDO.setPatientName(patientDO.getName());
                        logDO.setIdcard(patientDO.getIdcard());
                        logDO.setCategoryCode(deviceDO.getCategoryCode());
                        logDO.setDeviceSn(deviceDO.getDeviceSn());
                        logDO.setCreateTime(new Date());
                        if (deviceDO.getCategoryCode().equals("4")) {
                            //获取最新定位
                            String url = cloudCareUrl+"cloudCare/noLogin/device/getDeviceLastLocation";
                            List<NameValuePair> params = new ArrayList<>();
                            params.add(new BasicNameValuePair("deviceSn", deviceid));
                            String response = httpClientUtil.get(url, params,"UTF-8");
                            JSONObject resObj = JSONObject.parseObject(response);
                            if (resObj.getInteger("status")==200){
                                lat = resObj.getJSONObject("data").getJSONObject("obj").getJSONObject("locationdata").getJSONObject("point").getDouble("lat");
                                lon = resObj.getJSONObject("data").getJSONObject("obj").getJSONObject("locationdata").getJSONObject("point").getDouble("lon");
                                address = resObj.getJSONObject("data").getJSONObject("obj").getJSONObject("locationdata").getString("address").replace(" ","");
                                logDO.setSosAddress(address);
                                logDO.setSosLat(lat+"");
                                logDO.setSosLon(lon+"");
                            }
                            else {
                                return;
                            }
                        } else if (deviceDO.getCategoryCode().equals("7")) {
                            logDO.setSosAddress(deviceDO.getSosAddress());
                            Map<String, String> json = null;
                            if (StringUtils.isNotBlank(deviceDO.getSosAddress())) {
                                json = LatitudeUtils.getGeocoderLatitude(deviceDO.getSosAddress().replace("G.", "").replace("(糖友网)", "").replace("(高友网)", ""));
                            }
                            if (json != null) {
                                logDO.setSosLat(json.get("lat").toString());
                                logDO.setSosLon(json.get("lng").toString());
                            }
                        }
                        //发送紧急救助
                        String sql =" select Distinct pack.org_code,pack.org_name\n" +
                                "from base_service_package_sign_record sr INNER JOIN base_service_package_record pr\n" +
                                "on sr.id = pr.sign_id and sr.status=1 INNER JOIN base_service_package_item item on pr.service_package_id = item.service_package_id and item.del=1 \n" +
                                "INNER JOIN base_service_package pack on pr.service_package_id = pack.id where item.code='emergencyAssistance' and sr.patient='"+patientDO.getId()+"'";
                        List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql);
                        if (sqlResult.size()>0){
                            JSONObject jsonObject = new JSONObject();
                            jsonObject.put("serveAddress",logDO.getSosAddress());
                            jsonObject.put("serveLon",logDO.getSosLon());
                            jsonObject.put("serveLat",logDO.getSosLat());
                            jsonObject.put("orgCode",sqlResult.get(0).get("org_code").toString());
                            jsonObject.put("orgName",sqlResult.get(0).get("org_name").toString());
                            jsonObject.put("patient",logDO.getPatient());
                            jsonObject.put("patientName",logDO.getPatientName());
                            jsonObject.put("deviceSn",logDO.getDeviceSn());
                            String orderSource=null;
                            if (deviceDO.getCategoryCode().equals("4")) {
                                orderSource="2";
                            }
                            if (deviceDO.getCategoryCode().equals("7")) {
                                orderSource="3";
                            }
                            orderUtil.createEmeOrder(logDO,orderSource);
                        }
                    }
                }
            }
            }