|
@ -194,7 +194,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
JSONObject IMObj = consultTeamService.addServiceConsult(assistanceDO.getId(),patient,proxyPatient,null);
|
|
|
String sessionId=patient+"_"+ IMObj.getJSONObject("resultMsg").getString("consult") + "_20";
|
|
|
assistanceDO.setSessionId(sessionId);
|
|
|
//向会话中发送一条 陈XX发起紧急救助
|
|
|
//向会话中发送一条消息
|
|
|
ConsultTeamDo consultTeam = consultTeamDao.queryByRelationCode(assistanceDO.getId());
|
|
|
if (consultTeam!=null){
|
|
|
if (StringUtils.isNotBlank(assistanceDO.getSendMessage())){
|
|
@ -232,6 +232,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
return result;
|
|
|
}
|
|
|
emergencyOrderVO.setId(assistanceDO.getId());
|
|
|
//手环发起时坐标已取
|
|
|
if (assistanceDO.getOrderSource()==2){//手环发起的紧急救助获取手环坐标
|
|
|
try {
|
|
|
List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByUserAndCategoryCode(assistanceDO.getPatient(),"4");
|
|
@ -246,6 +247,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
if (pointJsonObject!=null){
|
|
|
Double lat = pointJsonObject.getDouble("lat");
|
|
|
Double lon = pointJsonObject.getDouble("lon");
|
|
|
assistanceDO.setServeAddress(resultTmp2.getString("address").replace(" ",""));
|
|
|
assistanceDO.setServeLat(lat+"");
|
|
|
assistanceDO.setServeLon(lon+"");
|
|
|
assistanceDO = emergencyAssistanceDao.save(assistanceDO);
|
|
@ -307,6 +309,30 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
//通知对象
|
|
|
List<Map<String,Object>> noticePersons = new ArrayList<>();
|
|
|
JSONArray familyArr = familyMemberService.getPatientMembers(assistanceDO.getPatient(),null,null,null);
|
|
|
String emeCallPhone = "";
|
|
|
if (assistanceDO.getOrderSource()!=1){//设备发起工单
|
|
|
String category = assistanceDO.getOrderSource()==2?"4":"7";
|
|
|
List<DevicePatientDevice> devices = patientDeviceDao.findByUserAndCategoryCode(assistanceDO.getPatient(),category);
|
|
|
if (devices.size()>0){
|
|
|
try {
|
|
|
com.alibaba.fastjson.JSONObject jsonTmp = patientDeviceService.getAqgDeviceInfo(devices.get(0).getDeviceSn());
|
|
|
if (jsonTmp.containsKey("sos_numbers")){//取第一个号码
|
|
|
JSONArray array = jsonTmp.getJSONArray("sos_numbers");
|
|
|
for (int i=0;i<array.size();i++){
|
|
|
JSONObject obj = array.getJSONObject(i);
|
|
|
if (obj.getBooleanValue("dial_flag")){
|
|
|
emeCallPhone = obj.getString("num");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
System.out.println("1");
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
for (int i=0;i<familyArr.size();i++){
|
|
|
String patientId = familyArr.getJSONObject(i).getString("id");
|
|
|
BasePatientDO patientDO1 = patientDao.findById(patientId);
|
|
@ -321,12 +347,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
Map<String,Object> tmp = new HashMap<>();
|
|
|
tmp.put("name","系统预警");
|
|
|
tmp.put("status",0);
|
|
|
tmp.put(statusName,"未读");
|
|
|
if (assistanceDO.getOrderSource()==2){
|
|
|
tmp.put("statusName","未读");
|
|
|
if (assistanceDO.getOrderSource()!=1){//设备发起工单
|
|
|
Map<String,Object> tmp2 = new HashMap<>();
|
|
|
tmp2.put("name","电话通知");
|
|
|
tmp2.put("status",0);
|
|
|
tmp2.put(statusName,"未呼叫");
|
|
|
tmp2.put("status",emeCallPhone.equals(patientDO1.getMobile())?1:0);
|
|
|
tmp2.put("statusName",emeCallPhone.equals(patientDO1.getMobile())?"已呼叫":"未呼叫");
|
|
|
arr.add(tmp2);
|
|
|
}
|
|
|
SystemMessageDO messageDO = systemMessageDao.findByRelationCodeAndReceiver(assistanceDO.getId(),patientId);
|
|
@ -334,7 +360,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
if (StringUtils.isNotBlank(messageDO.getIsRead())){
|
|
|
tmp.put("status",Integer.parseInt(messageDO.getIsRead()));
|
|
|
if (Integer.parseInt(messageDO.getIsRead())==1){
|
|
|
tmp.put(statusName,"已读");
|
|
|
tmp.put("statusName","已读");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -409,7 +435,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
// }
|
|
|
// otherDoctorDistance.sort(Comparator.comparing(obj -> ((JSONObject) obj).getInteger("distance")));
|
|
|
// }
|
|
|
emergencyOrderVO.setOtherDoctorDistance(otherDoctorDistanceObj.toJSONString());
|
|
|
emergencyOrderVO.setOtherDoctorDistance(otherDoctorDistance.toJSONString());
|
|
|
emergencyOrderVO.setNoticePersons(noticePersons);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONStringWithDateFormat(emergencyOrderVO,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
|
|
|
|
|
@ -807,6 +833,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
assistanceDO.setUpdateUserName(doctorDO.getName());
|
|
|
assistanceDO.setUpdateUser(doctorDO.getId());
|
|
|
assistanceDO.setEmergencyCancel(emergencyCancel);
|
|
|
if (!consultTeamService.finishConsult(assistanceDO.getId(),assistanceDO.getPatient(),doctor,2)){
|
|
|
String failMsg = "修改失败:咨询未能结束";
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
|
return result;
|
|
|
}
|
|
|
emergencyAssistanceDao.save(assistanceDO);
|
|
|
|
|
|
result = getOrderDetail(orderId,null);
|