|
@ -84,7 +84,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
return result;
|
|
|
}
|
|
|
//签约防走失服务包
|
|
|
String sql ="SELECT i.code,team_code,org_code from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i \n" +
|
|
|
String sql ="SELECT i.code,i.team_code,i.org_code,i.org_name from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i \n" +
|
|
|
"where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and i.del = 1 and sr.`status`=1 \n" +
|
|
|
"and sr.patient = '"+assistanceDO.getPatient()+"' and i.code='emergencyAssistance' ";
|
|
|
List<Map<String,Object>> items = jdbcTemplate.queryForList(sql);
|
|
@ -96,6 +96,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
}
|
|
|
Map<String,Object> mapTmp = items.get(0);
|
|
|
List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembers(mapTmp.get("team_code").toString());
|
|
|
if (StringUtils.isNotBlank((mapTmp.get("org_code").toString()))){
|
|
|
assistanceDO.setOrgCode(mapTmp.get("org_code").toString());
|
|
|
}
|
|
|
if (StringUtils.isNotBlank((mapTmp.get("org_name").toString()))){
|
|
|
assistanceDO.setOrgName((mapTmp.get("org_name").toString()));
|
|
|
}
|
|
|
assistanceDO.setTeamCode(mapTmp.get("team_code").toString());
|
|
|
if (doctorDOS.size()==0){
|
|
|
String failMsg = "紧急救助服务项服务医生为空,不可发起救助";
|
|
@ -103,7 +109,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
|
return result;
|
|
|
}
|
|
|
//获取距离患者最近的一个医生
|
|
|
//获取距离患者最近的一个医生(默认直线距离最近的医生)
|
|
|
double distance = 0.0;
|
|
|
for (BaseDoctorDO doctorDO:doctorDOS){
|
|
|
if (StringUtils.isBlank(doctorDO.getDoctorLat())||StringUtils.isBlank(doctorDO.getDoctorLon())){
|
|
@ -131,6 +137,19 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
imUtill.sendTopicIM(patient,patientDO.getName(),consultTeam.getConsult(),"1",assistanceDO.getSendMessage(),null);
|
|
|
}
|
|
|
}
|
|
|
//推送socket给医生
|
|
|
for (BaseDoctorDO doctorDO:doctorDOS){
|
|
|
JSONObject message = new JSONObject();
|
|
|
message.put("session_id",assistanceDO.getSessionId());
|
|
|
message.put("sender_name",assistanceDO.getPatientName());
|
|
|
message.put("order_id",assistanceDO.getId());
|
|
|
message.put("content_type",40);
|
|
|
try {
|
|
|
imUtill.sendMDTSocketMessageToDoctor(doctorDO.getId(),message.toString());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
emergencyAssistanceDao.save(assistanceDO);
|
|
|
return getOrderDetail(assistanceDO.getId());
|
|
|
}
|
|
@ -156,15 +175,14 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
if (doctorDO.getId().equals(assistanceDO.getDoctor())){//服务医生
|
|
|
assistanceDO.setDistance(distance);
|
|
|
}
|
|
|
else {
|
|
|
otherDoctorDistanceObj.put("doctor",doctorDO.getId());
|
|
|
otherDoctorDistanceObj.put("doctorName",doctorDO.getName());
|
|
|
otherDoctorDistanceObj.put("doctorAddress",doctorDO.getDoctorLocateAddress());
|
|
|
otherDoctorDistanceObj.put("doctorLon",doctorDO.getDoctorLon());
|
|
|
otherDoctorDistanceObj.put("doctorLat",doctorDO.getDoctorLat());
|
|
|
otherDoctorDistanceObj.put("distance",distanceTmp);
|
|
|
otherDoctorDistance.add(otherDoctorDistanceObj);
|
|
|
}
|
|
|
otherDoctorDistanceObj = new JSONObject();
|
|
|
otherDoctorDistanceObj.put("doctor",doctorDO.getId());
|
|
|
otherDoctorDistanceObj.put("doctorName",doctorDO.getName());
|
|
|
otherDoctorDistanceObj.put("doctorAddress",doctorDO.getDoctorLocateAddress());
|
|
|
otherDoctorDistanceObj.put("doctorLon",doctorDO.getDoctorLon());
|
|
|
otherDoctorDistanceObj.put("doctorLat",doctorDO.getDoctorLat());
|
|
|
otherDoctorDistanceObj.put("distance",distanceTmp);
|
|
|
otherDoctorDistance.add(otherDoctorDistanceObj);
|
|
|
}
|
|
|
assistanceDO.setOtherDoctorDistance(otherDoctorDistance.toJSONString());
|
|
|
BasePatientDO patientDO = patientDao.findById(assistanceDO.getPatient());
|
|
@ -382,6 +400,10 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
if (StringUtils.isNotBlank(conclusionImg)){
|
|
|
assistanceDO.setConclusionImg(conclusionImg);
|
|
|
}
|
|
|
//完成医生
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(doctor);
|
|
|
assistanceDO.setDoctor(doctor);
|
|
|
assistanceDO.setDoctorName(doctorDO.getName());
|
|
|
assistanceDO.setCompleteTime(new Date());
|
|
|
assistanceDO.setStatus(0);
|
|
|
assistanceDO.setUpdateUser(doctor);
|