|
@ -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())){
|
|
@ -307,6 +307,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,13 +345,20 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
Map<String,Object> tmp = new HashMap<>();
|
|
|
tmp.put("name","系统预警");
|
|
|
tmp.put("status",0);
|
|
|
tmp.put(statusName,"未读");
|
|
|
tmp.put("statusName","未读");
|
|
|
if (assistanceDO.getOrderSource()!=1){//设备发起工单
|
|
|
Map<String,Object> tmp2 = new HashMap<>();
|
|
|
tmp2.put("name","电话通知");
|
|
|
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);
|
|
|
if (messageDO != null){
|
|
|
if (StringUtils.isNotBlank(messageDO.getIsRead())){
|
|
|
tmp.put("status",Integer.parseInt(messageDO.getIsRead()));
|
|
|
if (Integer.parseInt(messageDO.getIsRead())==1){
|
|
|
tmp.put(statusName,"已读");
|
|
|
tmp.put("statusName","已读");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -402,7 +433,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));
|
|
|
|
|
@ -493,6 +524,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
public JSONObject getTabStatusCounts(String patient,String doctor){
|
|
|
JSONObject result = new JSONObject();
|
|
|
JSONObject tmpObj = new JSONObject();
|
|
|
tmpObj.put("status_-2",0);//误报警
|
|
|
tmpObj.put("status_-1",0);//已取消
|
|
|
tmpObj.put("status_0",0);//已完成
|
|
|
tmpObj.put("status_1",0);//申请中
|
|
@ -525,15 +557,15 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
public JSONObject existApplyStatus(String patient){
|
|
|
JSONObject result = new JSONObject();
|
|
|
JSONObject tmpObj = new JSONObject();
|
|
|
EmergencyAssistanceDO assistanceDO = emergencyAssistanceDao.findByProxyPatientAndStatus(patient,1);
|
|
|
if (assistanceDO==null){
|
|
|
List<EmergencyAssistanceDO> assistanceDO = emergencyAssistanceDao.findByProxyPatientAndStatus(patient,1);
|
|
|
if (assistanceDO.size()==0){
|
|
|
tmpObj.put("exist","false");
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.success);
|
|
|
result.put(ResponseContant.resultMsg,tmpObj);
|
|
|
return result;
|
|
|
}
|
|
|
else {
|
|
|
JSONObject detail = getOrderDetail(assistanceDO.getId(),null);
|
|
|
JSONObject detail = getOrderDetail(assistanceDO.get(0).getId(),null);
|
|
|
tmpObj.put("exist","true");
|
|
|
tmpObj.put("assistanceDO",detail.getJSONObject("resultMsg"));
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.success);
|
|
@ -548,8 +580,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
* @param doctor
|
|
|
* @return
|
|
|
*/
|
|
|
public List<EmergencyAssistanceDO> getOrderList(String patient,String doctor,String status,Integer page,Integer pageSize,String sort){
|
|
|
StringBuilder sql = new StringBuilder(" select ord.* from base_emergency_assistance_order ord where 1=1 ");
|
|
|
public List<EmergencyAssistanceDO> getOrderList(String patient,String patientName,String doctor,String status,Integer page,Integer pageSize,String sort){
|
|
|
StringBuilder sql = new StringBuilder(" select ord.* from base_emergency_assistance_order ord inner join base_patient pa on pa.id = ord.patient and pa.del=1 where 1=1 ");
|
|
|
if (StringUtils.isNotBlank(doctor)){
|
|
|
sql.append(" AND EXISTS (" +
|
|
|
"SELECT sr.patient from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
|
|
@ -560,6 +592,9 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
if (StringUtils.isNotBlank(patient)){
|
|
|
sql.append(" and ( ord.patient = '"+patient+"' or ord.proxy_patient='"+patient+"' )");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(patientName)){
|
|
|
sql.append(" and (pa.name like '%"+patientName+"%' or pa.idcard like '%"+patientName+"%') ");
|
|
|
}
|
|
|
sql.append(" and ord.status in ( '").append(status.replace(",","','")).append("') ");
|
|
|
sql.append(" order by ord.create_time "+sort+" limit "+page*pageSize+","+pageSize);
|
|
|
|
|
@ -796,6 +831,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);
|