|
@ -1,6 +1,7 @@
|
|
package com.yihu.jw.care.service.assistance;
|
|
package com.yihu.jw.care.service.assistance;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao;
|
|
import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao;
|
|
@ -95,6 +96,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
}
|
|
}
|
|
Map<String,Object> mapTmp = items.get(0);
|
|
Map<String,Object> mapTmp = items.get(0);
|
|
List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembers(mapTmp.get("team_code").toString());
|
|
List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembers(mapTmp.get("team_code").toString());
|
|
|
|
assistanceDO.setTeamCode(mapTmp.get("team_code").toString());
|
|
if (doctorDOS.size()==0){
|
|
if (doctorDOS.size()==0){
|
|
String failMsg = "紧急救助服务项服务医生为空,不可发起救助";
|
|
String failMsg = "紧急救助服务项服务医生为空,不可发起救助";
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
@ -112,7 +114,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
distance = distanceTmp;
|
|
distance = distanceTmp;
|
|
assistanceDO.setDoctor(doctorDO.getId());
|
|
assistanceDO.setDoctor(doctorDO.getId());
|
|
assistanceDO.setDoctorName(doctorDO.getName());
|
|
assistanceDO.setDoctorName(doctorDO.getName());
|
|
assistanceDO.setDoctorAddress("");
|
|
|
|
|
|
assistanceDO.setDoctorAddress(doctorDO.getDoctorLocateAddress());
|
|
assistanceDO.setDoctorLon(doctorDO.getDoctorLon());
|
|
assistanceDO.setDoctorLon(doctorDO.getDoctorLon());
|
|
assistanceDO.setDoctorLat(doctorDO.getDoctorLat());
|
|
assistanceDO.setDoctorLat(doctorDO.getDoctorLat());
|
|
}
|
|
}
|
|
@ -133,11 +135,6 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
return getOrderDetail(assistanceDO.getId());
|
|
return getOrderDetail(assistanceDO.getId());
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
|
|
* 救助工单详情
|
|
|
|
* @param orderID
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public JSONObject getOrderDetail(String orderID){
|
|
public JSONObject getOrderDetail(String orderID){
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
EmergencyAssistanceDO assistanceDO = emergencyAssistanceDao.findOne(orderID);
|
|
EmergencyAssistanceDO assistanceDO = emergencyAssistanceDao.findOne(orderID);
|
|
@ -147,17 +144,98 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembers(assistanceDO.getTeamCode());
|
|
|
|
double distance = 0.0;
|
|
|
|
JSONArray otherDoctorDistance = new JSONArray();
|
|
|
|
JSONObject otherDoctorDistanceObj = new JSONObject();
|
|
|
|
for (BaseDoctorDO doctorDO:doctorDOS){
|
|
|
|
if (StringUtils.isBlank(doctorDO.getDoctorLat())||StringUtils.isBlank(doctorDO.getDoctorLon())){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
double distanceTmp = countDistance.getDistance(Double.parseDouble(assistanceDO.getServeLat()),Double.parseDouble(assistanceDO.getServeLon()),Double.parseDouble(doctorDO.getDoctorLat()),Double.parseDouble(doctorDO.getDoctorLon()));
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
assistanceDO.setOtherDoctorDistance(otherDoctorDistance.toJSONString());
|
|
BasePatientDO patientDO = patientDao.findById(assistanceDO.getPatient());
|
|
BasePatientDO patientDO = patientDao.findById(assistanceDO.getPatient());
|
|
assistanceDO.setPatientPhoto(patientDO.getPhoto());
|
|
assistanceDO.setPatientPhoto(patientDO.getPhoto());
|
|
assistanceDO.setPatientSex(patientDO.getSex());
|
|
assistanceDO.setPatientSex(patientDO.getSex());
|
|
assistanceDO.setPatientAge(IdCardUtil.getAgeForIdcard(patientDO.getIdcard()));
|
|
assistanceDO.setPatientAge(IdCardUtil.getAgeForIdcard(patientDO.getIdcard()));
|
|
double distance=countDistance.getDistance(Double.parseDouble(assistanceDO.getServeLat()),Double.parseDouble(assistanceDO.getServeLon()),Double.parseDouble(assistanceDO.getDoctorLat()),Double.parseDouble(assistanceDO.getDoctorLon()));
|
|
|
|
assistanceDO.setDistance(distance);
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.success);
|
|
result.put(ResponseContant.resultFlag, ResponseContant.success);
|
|
result.put(ResponseContant.resultMsg,JSONObject.parseObject(JSON.toJSONStringWithDateFormat(assistanceDO,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue)));
|
|
result.put(ResponseContant.resultMsg,JSONObject.parseObject(JSON.toJSONStringWithDateFormat(assistanceDO,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue)));
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 救助工单详情
|
|
|
|
* @param orderID
|
|
|
|
* @return
|
|
|
|
*/ //医生无法查看已取消
|
|
|
|
public JSONObject doctorGetOrderDetail(String orderID,String doctor){
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(doctor);
|
|
|
|
if (doctorDO==null) {
|
|
|
|
String failMsg = "医生信息不存在,无法查看";
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
|
result.put(ResponseContant.resultMsg, failMsg);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
EmergencyAssistanceDO assistanceDO = emergencyAssistanceDao.findOne(orderID);
|
|
|
|
if (assistanceDO==null){
|
|
|
|
String failMsg = "当前救助工单不存在";
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
if (assistanceDO.getStatus()==-1){
|
|
|
|
String failMsg = "当前工单已取消 无法查看";
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return getOrderDetail(orderID);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 救助工单详情
|
|
|
|
* @param orderID
|
|
|
|
* @return
|
|
|
|
*///患者只能查看已完成
|
|
|
|
public JSONObject patientGetOrderDetail(String orderID,String patient){
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
BasePatientDO patientDO = patientDao.findById(patient);
|
|
|
|
if (patientDO==null) {
|
|
|
|
String failMsg = "患者信息不存在,无法查看";
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
|
result.put(ResponseContant.resultMsg, failMsg);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
EmergencyAssistanceDO assistanceDO = emergencyAssistanceDao.findOne(orderID);
|
|
|
|
if (assistanceDO==null){
|
|
|
|
String failMsg = "当前救助工单不存在";
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
if (assistanceDO.getStatus()!=0){
|
|
|
|
String failMsg = "当前工单未完成 无法查看";
|
|
|
|
result.put(ResponseContant.resultFlag, ResponseContant.fail);
|
|
|
|
result.put(ResponseContant.resultMsg,failMsg);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return getOrderDetail(orderID);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 居民救助历史tab数量
|
|
* 居民救助历史tab数量
|
|
* @param patient
|
|
* @param patient
|
|
@ -323,6 +401,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
|
|
doctorDO.setDoctorLocateAddress(doctorAddress);
|
|
doctorDO.setDoctorLat(doctorLat);
|
|
doctorDO.setDoctorLat(doctorLat);
|
|
doctorDO.setDoctorLon(doctorLon);
|
|
doctorDO.setDoctorLon(doctorLon);
|
|
doctorDao.save(doctorDO);
|
|
doctorDao.save(doctorDO);
|