| 
					
				 | 
			
			
				@ -139,63 +139,65 @@ public class DeviceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Double lat= Double.parseDouble(request.getParameter("lat")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Double lon= Double.parseDouble(request.getParameter("lon")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(imei); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject position = gpsUtil.gcj02_To_Bd09(lat,lon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setSosAddress(address); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setSosLat(position.getDouble("lat")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setSosLon(position.getDouble("lon")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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 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 url = cloudCareUrl+"cloudCare/noLogin/emergency_assistance/newOrder"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<NameValuePair> params = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                params.add(new BasicNameValuePair("jsonData", jsonObject.toJSONString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                params.add(new BasicNameValuePair("patientId", logDO.getPatient())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    params.add(new BasicNameValuePair("orderSource", "2"));//工单来源工单发起来源状态 1APP 2手环 3居家报警 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject position = gpsUtil.gcj02_To_Bd09(lat,lon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setSosAddress(address); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setSosLat(position.getDouble("lat")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setSosLon(position.getDouble("lon")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (deviceDO.getCategoryCode().equals("7")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    params.add(new BasicNameValuePair("orderSource", "3")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    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 response = httpClientUtil.post(url, params,"UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                System.out.println(response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //发送紧急救助 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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 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 url = cloudCareUrl+"cloudCare/noLogin/emergency_assistance/newOrder"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<NameValuePair> params = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    params.add(new BasicNameValuePair("jsonData", jsonObject.toJSONString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    params.add(new BasicNameValuePair("patientId", logDO.getPatient())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (deviceDO.getCategoryCode().equals("4")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        params.add(new BasicNameValuePair("orderSource", "2"));//工单来源工单发起来源状态 1APP 2手环 3居家报警 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (deviceDO.getCategoryCode().equals("7")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        params.add(new BasicNameValuePair("orderSource", "3")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String response = httpClientUtil.post(url, params,"UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    System.out.println(response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sosLogDao.save(logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sosLogDao.save(logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch(Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 |