|
@ -41,7 +41,6 @@ import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.restmodel.ResponseContant;
|
|
|
import com.yihu.jw.restmodel.emergency.EmergencyOrderVO;
|
|
|
import com.yihu.jw.restmodel.web.PageEnvelop;
|
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
|
import com.yihu.jw.util.common.GpsUtil;
|
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
|
import com.yihu.jw.util.common.LatitudeUtils;
|
|
@ -244,7 +243,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
orderDO.setServiceStatus("2");
|
|
|
this.save(orderDO);
|
|
|
//创建im会话 安防警报咨询的sessionid 为居民code+(wlyy_consult_team表consult)+20
|
|
|
JSONObject IMObj = consultTeamService.addSecurityMoConsult(orderDO.getId(),orderDO.getPatient(),null,null);
|
|
|
JSONObject IMObj = consultTeamService.addSecurityMoConsult(orderDO.getId(),orderDO.getPatient(),null,null,orderDO.getServeDesc());
|
|
|
String sessionId=orderDO.getPatient()+"_"+ IMObj.getJSONObject("resultMsg").getString("consult") + "_22";
|
|
|
orderDO.setSessionId(sessionId);
|
|
|
if (StringUtils.isNotBlank(orderDO.getServeDesc())){
|
|
@ -456,7 +455,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
}else {
|
|
|
monitorInfo.put("sleepPlan",false);
|
|
|
}
|
|
|
monitorInfo = patientSignTopicInfo(monitorInfo,orderDO.getPatient(),"preventFall",null);
|
|
|
monitorInfo = patientSignTopicInfo(monitorInfo,orderDO.getPatient(),"preventFall",null,true);
|
|
|
emergencyOrderVO.setInformation(monitorInfo);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
@ -465,7 +464,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
if (6==orderDO.getOrderSource()){//气感工单
|
|
|
try {
|
|
|
JSONObject monitorInfo = JSONObject.parseObject(orderDO.getWarnInfo());
|
|
|
monitorInfo = patientSignTopicInfo(monitorInfo,orderDO.getPatient(),"preventFall",null);
|
|
|
monitorInfo = patientSignTopicInfo(monitorInfo,orderDO.getPatient(),"preventFall",null,true);
|
|
|
emergencyOrderVO.setInformation(monitorInfo);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
@ -474,7 +473,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
if (7==orderDO.getOrderSource()){//烟感工单
|
|
|
try {
|
|
|
JSONObject monitorInfo = JSONObject.parseObject(orderDO.getWarnInfo());
|
|
|
monitorInfo = patientSignTopicInfo(monitorInfo,orderDO.getPatient(),"preventFall",null);
|
|
|
monitorInfo = patientSignTopicInfo(monitorInfo,orderDO.getPatient(),"preventFall",null,true);
|
|
|
emergencyOrderVO.setInformation(monitorInfo);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
@ -663,7 +662,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
}
|
|
|
|
|
|
public PageEnvelop getSecurityOrderList(String doctor, String serverDoctor, String patientName, String patient, String status,
|
|
|
String svrDesc,String topicItem, Integer page, Integer pageSize){
|
|
|
String svrDesc,String topicItem, Integer page, Integer pageSize,Integer dailyMonitor){
|
|
|
JSONArray result = new JSONArray();
|
|
|
//服务权限
|
|
|
if(doctorServicePermissionsService.isPermission(doctor,10)==0){
|
|
@ -676,12 +675,53 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
String sql = " select p.id patientCode,p.name,p.sex,p.photo,p.idcard,ord.id orderId,ord.number,ord.serve_desc,ord.create_time,ord.`status`,ord.doctor," +
|
|
|
"ord.doctor_name,ord.update_user,ord.update_user_name,ord.patient_phone,ord.conclusion_status from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
|
|
|
"where 1=1 ";
|
|
|
if (StringUtils.isNotBlank(doctor)){
|
|
|
fliter+=" and EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
|
|
|
"base_team_member m " +
|
|
|
"where ord.patient = CONVERT(sr.patient USING utf8) and sr.id = r.sign_id and sr.status=1 and " +
|
|
|
" r.service_package_id = i.service_package_id and m.team_code = r.team_code and i.del = 1 and sr.`status`=1 and i.code='preventLost' and m.doctor_code = '"+doctor+"' and m.del = '1') ";
|
|
|
|
|
|
if (1==dailyMonitor){//医生日常监护居民安防工单列表查询
|
|
|
if (StringUtils.isBlank(topicItem)||StringUtils.isBlank(doctor)){
|
|
|
return new PageEnvelop();
|
|
|
}
|
|
|
String categoryCode ="";
|
|
|
switch (topicItem){
|
|
|
case "preventLost":
|
|
|
categoryCode="'4'";
|
|
|
break;
|
|
|
case "preventFall":
|
|
|
categoryCode="'12'";
|
|
|
break;
|
|
|
case "preventFire":
|
|
|
categoryCode="'15'";
|
|
|
break;
|
|
|
case "preventGasLeakage":
|
|
|
categoryCode="'14'";
|
|
|
break;
|
|
|
case "preventOutOfBed":
|
|
|
categoryCode="'13'";
|
|
|
break;
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(doctor)){//日常监护医生必传
|
|
|
fliter += " and EXISTS( SELECT DISTINCT p.id,p.name,p.residential_area residentialArea,p.photo,p.idcard,p.mobile, " +
|
|
|
" p.openid,p.sex,p.pad_imei padImei " +
|
|
|
" from base_patient p , base_service_package_sign_record sr,base_service_package_record r,base_team_member m " +
|
|
|
" WHERE p.id = sr.patient and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id " +
|
|
|
" and m.doctor_code = '"+doctor+"' and m.del = '1' ) ";
|
|
|
|
|
|
fliter +=" and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id " +
|
|
|
" where pd.user = p.id and pd.del=0 and pd.category_code in ("+categoryCode+") and FIND_IN_SET('"+topicItem+"',dd.service_topic)) ";
|
|
|
|
|
|
if ("preventLost".equals(topicItem)){//有绑定围栏的居民
|
|
|
fliter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
if (StringUtils.isNotBlank(doctor)){
|
|
|
fliter+=" and EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
|
|
|
"base_team_member m " +
|
|
|
"where ord.patient = CONVERT(sr.patient USING utf8) and sr.id = r.sign_id and sr.status=1 and " +
|
|
|
" r.service_package_id = i.service_package_id and m.team_code = r.team_code and i.del = 1 and sr.`status`=1 and m.doctor_code = '"+doctor+"' and m.del = '1') ";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(serverDoctor)){
|
|
|
fliter +=" and ord.doctor = '"+serverDoctor+"' ";
|
|
|
}
|
|
@ -756,7 +796,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
|
|
|
}
|
|
|
|
|
|
public JSONObject getSecurityTab(String patient,String doctor,String status,String svrDesc,String topicItem){
|
|
|
public JSONObject getSecurityTab(String patient,String doctor,String status,String svrDesc,String topicItem,Integer dailyMonitor){
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
result.put("status_-2",0);//误报警
|
|
@ -777,11 +817,49 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
sql = "select ord.status,ord.serve_desc,count(ord.id) count from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
|
|
|
"where 1=1 ";
|
|
|
String fliter = " ";
|
|
|
if (StringUtils.isNotBlank(doctor)){
|
|
|
fliter+=" and EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
|
|
|
"base_team_member m " +
|
|
|
"where ord.patient = CONVERT(sr.patient USING utf8) and sr.id = r.sign_id and sr.status=1 and " +
|
|
|
" r.service_package_id = i.service_package_id and m.team_code = r.team_code and i.del = 1 and sr.`status`=1 and i.code='preventLost' and m.doctor_code = '"+doctor+"' and m.del = '1') ";
|
|
|
if (1==dailyMonitor){//医生日常监护居民安防工单列表查询
|
|
|
if (StringUtils.isBlank(topicItem)||StringUtils.isBlank(doctor)){
|
|
|
return result;
|
|
|
}
|
|
|
String categoryCode ="";
|
|
|
switch (topicItem){
|
|
|
case "preventLost":
|
|
|
categoryCode="'4'";
|
|
|
break;
|
|
|
case "preventFall":
|
|
|
categoryCode="'12'";
|
|
|
break;
|
|
|
case "preventFire":
|
|
|
categoryCode="'15'";
|
|
|
break;
|
|
|
case "preventGasLeakage":
|
|
|
categoryCode="'14'";
|
|
|
break;
|
|
|
case "preventOutOfBed":
|
|
|
categoryCode="'13'";
|
|
|
break;
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(doctor)) {//日常监护医生必传
|
|
|
fliter += " and EXISTS( SELECT DISTINCT p.id,p.name,p.residential_area residentialArea,p.photo,p.idcard,p.mobile, " +
|
|
|
" p.openid,p.sex,p.pad_imei padImei " +
|
|
|
" from base_patient p , base_service_package_sign_record sr,base_service_package_record r,base_team_member m " +
|
|
|
" WHERE p.id = sr.patient and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id " +
|
|
|
" and m.doctor_code = '" + doctor + "' and m.del = '1' ) ";
|
|
|
|
|
|
fliter += " and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id " +
|
|
|
" where pd.user = p.id and pd.del=0 and pd.category_code in (" + categoryCode + ") and FIND_IN_SET('" + topicItem + "',dd.service_topic)) ";
|
|
|
|
|
|
if ("preventLost".equals(topicItem)) {//有绑定围栏的居民
|
|
|
fliter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
if (StringUtils.isNotBlank(doctor)){
|
|
|
fliter+=" and EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
|
|
|
"base_team_member m " +
|
|
|
"where ord.patient = CONVERT(sr.patient USING utf8) and sr.id = r.sign_id and sr.status=1 and " +
|
|
|
" r.service_package_id = i.service_package_id and m.team_code = r.team_code and i.del = 1 and sr.`status`=1 and m.doctor_code = '"+doctor+"' and m.del = '1') ";
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(patient)){
|
|
|
fliter+=" and ord.patient='"+patient+"' ";
|
|
@ -1398,7 +1476,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public JSONObject patientMonitoringInfo(String patient,String topicItem){
|
|
|
public JSONObject patientMonitoringInfo(String patient,String topicItem,boolean video){
|
|
|
JSONObject result = new JSONObject();
|
|
|
result.put("location",null);
|
|
|
result.put("fences",null);
|
|
@ -1406,6 +1484,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
result.put("fire",null);
|
|
|
result.put("fall",null);
|
|
|
result.put("sleep",null);
|
|
|
result.put("sleepOrderInfo",null);//最近工单
|
|
|
result.put("deviceSn",null);
|
|
|
result.put("emeAssistance",false);
|
|
|
result.put("monitorInfo",null);
|
|
@ -1443,6 +1522,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count>0){
|
|
|
result.put("sleep",true);
|
|
|
sql = " select serve_desc from base_security_monitoring_order where topic_item='preventOutOfBed' " +
|
|
|
"and patient='"+patient+"' and `status`=1 order by create_time desc limit 1 ";
|
|
|
List<String> serveDesces = jdbcTemplate.queryForList(sql,String.class);
|
|
|
if (serveDesces.size()>0){
|
|
|
result.put("sleepOrderInfo",serveDesces.get(0));
|
|
|
}
|
|
|
}else {
|
|
|
result.put("sleep",false);
|
|
|
}
|
|
@ -1454,7 +1539,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
if (counnt>0){
|
|
|
result.put("emeAssistance",true);
|
|
|
}
|
|
|
result = patientSignTopicInfo(result,patient,topicItem,null);
|
|
|
result = patientSignTopicInfo(result,patient,topicItem,null,true);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@ -1472,6 +1557,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
result.put("fire",null);
|
|
|
result.put("fall",null);
|
|
|
result.put("sleep",null);
|
|
|
result.put("sleepOrderInfo",null);//最近工单
|
|
|
result.put("deviceSn",null);
|
|
|
result.put("emeAssistance",false);
|
|
|
result.put("monitorInfo",null);
|
|
@ -1509,6 +1595,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count>0){
|
|
|
result.put("sleep",true);
|
|
|
sql = " select serve_desc from base_security_monitoring_order where topic_item='preventOutOfBed' " +
|
|
|
"and patient='"+patient+"' and `status`=1 order by create_time desc limit 1 ";
|
|
|
List<String> serveDesces = jdbcTemplate.queryForList(sql,String.class);
|
|
|
if (serveDesces.size()>0){
|
|
|
result.put("sleepOrderInfo",serveDesces.get(0));
|
|
|
}
|
|
|
}else {
|
|
|
result.put("sleep",false);
|
|
|
}
|
|
@ -1522,9 +1614,9 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
}
|
|
|
List<DevicePatientDevice> devices4 = patientDeviceDao.findByUserAndCategoryCode(patient,"4");//手表
|
|
|
if (devices4.size()>0){
|
|
|
result = patientSignTopicInfo(result,patient,"preventLost",devices4.get(0).getDeviceSn());
|
|
|
result = patientSignTopicInfo(result,patient,"preventLost",devices4.get(0).getDeviceSn(),true);
|
|
|
}
|
|
|
patientSignTopicInfo(result,patient,"preventFall",null);
|
|
|
patientSignTopicInfo(result,patient,"preventFall",null,true);
|
|
|
|
|
|
return result;
|
|
|
}
|
|
@ -1561,6 +1653,11 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
JSONObject locationTmp = response.getJSONObject("last_location");
|
|
|
Double lon = locationTmp.getJSONArray("coordinates").getDouble(0);
|
|
|
Double lat = locationTmp.getJSONArray("coordinates").getDouble(1);
|
|
|
if (!response.getBoolean("online")){//设备离线 取居民表定位
|
|
|
result.put("X1online",false);
|
|
|
}else {
|
|
|
result.put("X1online",true);
|
|
|
}
|
|
|
JSONObject tmp = gpsUtil.gcj02_To_Bd09(lat,lon);
|
|
|
tmp.put("city",response.getString("last_city"));
|
|
|
tmp.put("province",response.getString("last_province"));
|
|
@ -1851,7 +1948,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
|
|
|
}
|
|
|
|
|
|
public JSONObject patientSignTopicInfo(JSONObject result,String patient,String topicItem,String deviceSn){
|
|
|
public JSONObject patientSignTopicInfo(JSONObject result,String patient,String topicItem,String deviceSn,boolean video){
|
|
|
if (null==result){
|
|
|
result = new JSONObject();
|
|
|
}
|
|
@ -1865,14 +1962,15 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
preventOutOfBed(result, patient,true,null);
|
|
|
}
|
|
|
if ("preventFire".equals(topicItem)||StringUtils.isBlank(topicItem)){
|
|
|
preventFire(result, patient,null,true);
|
|
|
preventFire(result, patient,null,video);
|
|
|
}
|
|
|
if ("preventGasLeakage".equals(topicItem)||StringUtils.isBlank(topicItem)){
|
|
|
preventGasLeakage(result, patient,true);
|
|
|
preventGasLeakage(result, patient,video);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
public JSONObject updateDoctorLocation(String doctor,String orderId,String doctorAddress,String doctorLat,String doctorLon){
|
|
|
JSONObject result = new JSONObject();
|
|
|
BaseDoctorDO doctorDO = baseDoctorDao.findById(doctor);
|
|
@ -2044,4 +2142,126 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public JSONObject findMonitorPatientsByDoctor(String doctor,String topicItem,String day,Integer page,Integer pageSize,Integer detail){
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
|
|
String sql = " SELECT DISTINCT p.id,p.name,p.residential_area residentialArea,p.photo,p.idcard,p.mobile, " +
|
|
|
" p.openid,p.sex,p.pad_imei padImei " +
|
|
|
" from base_patient p , base_service_package_sign_record sr,base_service_package_record r,base_team_member m " +
|
|
|
" WHERE p.id = sr.patient and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id " +
|
|
|
" and m.doctor_code = '"+doctor+"' and m.del = '1' ";
|
|
|
String fliter = "";
|
|
|
String categoryCode ="";
|
|
|
String topicItemTmp = topicItem;
|
|
|
switch (topicItem){
|
|
|
case "actionTrack":
|
|
|
categoryCode="'4'";
|
|
|
topicItemTmp="preventLost";
|
|
|
break;
|
|
|
case "preventLost":
|
|
|
categoryCode="'4'";
|
|
|
break;
|
|
|
case "preventFall":
|
|
|
categoryCode="'12'";
|
|
|
break;
|
|
|
case "preventFire":
|
|
|
categoryCode="'15'";
|
|
|
break;
|
|
|
case "preventGasLeakage":
|
|
|
categoryCode="'14'";
|
|
|
break;
|
|
|
case "preventOutOfBed":
|
|
|
categoryCode="'13'";
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
fliter =" and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id " +
|
|
|
" where pd.user = sr.patient and pd.del=0 and pd.category_code in ("+categoryCode+") and FIND_IN_SET('"+topicItemTmp+"',dd.service_topic)) ";
|
|
|
|
|
|
if ("preventLost".equals(topicItem)){//有绑定围栏的居民
|
|
|
fliter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
|
|
|
}
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql+fliter);
|
|
|
result.put("total",list.size());
|
|
|
if (1 == detail){//获取详情
|
|
|
JSONArray monitorInfos = new JSONArray();
|
|
|
page = page>0?page-1:0;
|
|
|
Integer totalPage = 0;
|
|
|
if(list.size()%pageSize==0){
|
|
|
totalPage =list.size()/pageSize;
|
|
|
}else{
|
|
|
totalPage = list.size()/pageSize+1;
|
|
|
}
|
|
|
Integer currentIndexFrom = page*pageSize;
|
|
|
Integer currentIndexEnd = page*pageSize+pageSize;
|
|
|
result.put("totalPage",totalPage);
|
|
|
result.put("currentPage",page+1);
|
|
|
for (int i=currentIndexFrom;i<list.size()&&i<currentIndexEnd;i++){
|
|
|
Map<String,Object> patientTmp = list.get(i);
|
|
|
com.alibaba.fastjson.JSONObject object = new com.alibaba.fastjson.JSONObject();
|
|
|
|
|
|
String deviceSn ="";
|
|
|
List<String> deviceSns = jdbcTemplate.queryForList("select pd.device_sn from wlyy_patient_device pd INNER JOIN dm_device dd " +
|
|
|
" on pd.device_id = dd.id where pd.user = '"+patientTmp.get("id").toString()+"' and pd.del=0 and pd.category_code in ("+categoryCode+") and FIND_IN_SET('"+topicItemTmp+"',dd.service_topic)",String.class);
|
|
|
if (deviceSns.size()>0){
|
|
|
deviceSn = deviceSns.get(0);
|
|
|
}
|
|
|
if (deviceSns.size()>0){
|
|
|
deviceSn = deviceSns.get(0);
|
|
|
}
|
|
|
object.put("deviceCode",deviceSn);
|
|
|
|
|
|
switch (topicItem){
|
|
|
case "actionTrack":
|
|
|
JSONArray locations = JSON.parseArray(JSON.toJSONString(patientDeviceService.getX1Locations(deviceSn, day), SerializerFeature.WriteMapNullValue));
|
|
|
object.put("routes", locations);
|
|
|
//获取手表定位
|
|
|
JSONObject response= patientDeviceService.getAqgDeviceInfo2(deviceSn);
|
|
|
if (response!=null) {
|
|
|
//定位信息
|
|
|
if (response.containsKey("last_location") && response.get("last_location") != null) {
|
|
|
JSONObject locationTmp = response.getJSONObject("last_location");
|
|
|
Double lon = locationTmp.getJSONArray("coordinates").getDouble(0);
|
|
|
Double lat = locationTmp.getJSONArray("coordinates").getDouble(1);
|
|
|
if (!response.getBoolean("online")) {//设备离线 取居民表定位
|
|
|
object.put("X1online", false);
|
|
|
} else {
|
|
|
object.put("X1online", true);
|
|
|
}
|
|
|
JSONObject tmp = gpsUtil.gcj02_To_Bd09(lat, lon);
|
|
|
tmp.put("city", response.getString("last_city"));
|
|
|
tmp.put("province", response.getString("last_province"));
|
|
|
tmp.put("address", response.getString("last_address"));
|
|
|
object.put("location", tmp);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
object = patientMonitoringInfo(patientTmp.get("id").toString(),topicItem,false);
|
|
|
break;
|
|
|
}
|
|
|
object.put("patientInfo",patientTmp);
|
|
|
monitorInfos.add(object);
|
|
|
}
|
|
|
result.put("topicInfo",monitorInfos);
|
|
|
}else {
|
|
|
JSONArray monitorInfos = new JSONArray();
|
|
|
for (int i=0;i<list.size();i++){
|
|
|
Map<String,Object> patientTmp = list.get(i);
|
|
|
String deviceSn ="";
|
|
|
List<String> deviceSns = jdbcTemplate.queryForList("select pd.device_sn from wlyy_patient_device pd INNER JOIN dm_device dd " +
|
|
|
" on pd.device_id = dd.id where pd.user = '"+patientTmp.get("id").toString()+"' and pd.del=0 and pd.category_code in ("+categoryCode+") and FIND_IN_SET('"+topicItem+"',dd.service_topic)",String.class);
|
|
|
if (deviceSns.size()>0){
|
|
|
deviceSn = deviceSns.get(0);
|
|
|
}
|
|
|
JSONObject object = patientMonitoringInfo(patientTmp.get("id").toString(),"null",false);
|
|
|
object.put("deviceSn",deviceSn);
|
|
|
object.put("patientInfo",patientTmp);
|
|
|
monitorInfos.add(object);
|
|
|
}
|
|
|
result.put("topicInfo",monitorInfos);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
}
|