|
@ -20,6 +20,7 @@ import com.yihu.jw.care.service.contacts.ContactsService;
|
|
import com.yihu.jw.care.service.device.PatientDeviceService;
|
|
import com.yihu.jw.care.service.device.PatientDeviceService;
|
|
import com.yihu.jw.care.service.doctor.DoctorServicePermissionsService;
|
|
import com.yihu.jw.care.service.doctor.DoctorServicePermissionsService;
|
|
import com.yihu.jw.care.service.family.PatientFamilyMemberService;
|
|
import com.yihu.jw.care.service.family.PatientFamilyMemberService;
|
|
|
|
import com.yihu.jw.care.service.sign.ServicePackageService;
|
|
import com.yihu.jw.care.util.ConstantUtil;
|
|
import com.yihu.jw.care.util.ConstantUtil;
|
|
import com.yihu.jw.care.util.CountDistance;
|
|
import com.yihu.jw.care.util.CountDistance;
|
|
import com.yihu.jw.care.util.HttpClientUtilCare;
|
|
import com.yihu.jw.care.util.HttpClientUtilCare;
|
|
@ -133,6 +134,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
private DeviceDetailDao deviceDetailDao;
|
|
private DeviceDetailDao deviceDetailDao;
|
|
@Autowired
|
|
@Autowired
|
|
private PermissionService permissionService;
|
|
private PermissionService permissionService;
|
|
|
|
@Autowired
|
|
|
|
private ServicePackageService servicePackageService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取百度天气
|
|
* 获取百度天气
|
|
@ -1513,94 +1516,134 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void initialize(){
|
|
public void initialize(){
|
|
String sql ="SELECT DISTINCT o.id AS id,o.doctor AS doctor,o.doctor_name AS doctorName,o.`status` AS status, DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') AS createTime,DATE_FORMAT(o.update_time,'%Y-%m-%d %H:%i:%s') as updateTime,o.patient AS patient,o.patient_name AS patientName FROM base_emergency_assistance_order o LEFT JOIN base_emergency_warn_conclusion c ON o.id=c.order_id " +
|
|
|
|
" UNION SELECT DISTINCT o.id AS id,o.doctor AS doctor,o.doctor_name AS doctorName,o.`status` AS status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') AS createTime,DATE_FORMAT(o.update_time,'%Y-%m-%d %H:%i:%s') as updateTime,o.patient AS patient,o.patient_name AS patientName FROM base_security_monitoring_order o LEFT JOIN base_emergency_warn_conclusion c ON o.id=c.order_id";
|
|
|
|
List<Map<String, Object>> emeList = jdbcTemplate.queryForList(sql);
|
|
|
|
List<BaseEmergencyWarnLogDO> list =new ArrayList<>();
|
|
|
|
List<EmergencyWarnConclusionDO> listC = new ArrayList<>();
|
|
|
|
for (Map<String, Object> map : emeList) {
|
|
|
|
BaseEmergencyWarnLogDO baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
String sqlLog = "SELECT * FROM base_emergency_warn_log WHERE order_id = '"+map.get("id")+"' AND (type IS NULL OR type = '')";
|
|
|
|
List<Map<String, Object>> logList = jdbcTemplate.queryForList(sqlLog);
|
|
|
|
if (logList.size()<=0){
|
|
|
|
switch (map.get("status").toString()){
|
|
|
|
case "0" :
|
|
|
|
//小结完成
|
|
|
|
baseEmergencyWarnLogDO.setType(5);
|
|
|
|
baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDateLong(map.get("createTime").toString()));
|
|
|
|
baseEmergencyWarnLogDO.setContent("完成服务小结");
|
|
|
|
baseEmergencyWarnLogDO.setUserType(2);
|
|
|
|
baseEmergencyWarnLogDO.setUserCode(map.get("doctor").toString());
|
|
|
|
baseEmergencyWarnLogDO.setUserName(map.get("doctorName").toString());
|
|
|
|
baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
list.add(baseEmergencyWarnLogDO);
|
|
|
|
baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
//已知悉
|
|
|
|
baseEmergencyWarnLogDO.setType(1);
|
|
|
|
baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("createTime").toString()));
|
|
|
|
baseEmergencyWarnLogDO.setContent("已知悉");
|
|
|
|
baseEmergencyWarnLogDO.setUserType(2);
|
|
|
|
baseEmergencyWarnLogDO.setUserCode(map.get("doctor").toString());
|
|
|
|
baseEmergencyWarnLogDO.setUserName(map.get("doctorName").toString());
|
|
|
|
baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
list.add(baseEmergencyWarnLogDO);
|
|
|
|
break;
|
|
|
|
case "-1": //取消
|
|
|
|
baseEmergencyWarnLogDO.setType(6);
|
|
|
|
baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("updateTime").toString()));
|
|
|
|
baseEmergencyWarnLogDO.setContent("已取消");
|
|
|
|
baseEmergencyWarnLogDO.setUserType(1);
|
|
|
|
baseEmergencyWarnLogDO.setUserCode(map.get("patient").toString());
|
|
|
|
baseEmergencyWarnLogDO.setUserName(map.get("patientName").toString());
|
|
|
|
baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
list.add(baseEmergencyWarnLogDO);
|
|
|
|
break;
|
|
|
|
case "-2": //误报警
|
|
|
|
String sqlsign = "SELECT sign_doctor_code AS signDoctorCode,sign_doctor_name AS signDoctorName FROM wlyy_sign_family WHERE patient = '"+map.get("patient").toString()+"' LIMIT 1";
|
|
|
|
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sqlsign);
|
|
|
|
String signCode = "";
|
|
|
|
String signName = "";
|
|
|
|
if (maps.size()<=0) {
|
|
|
|
signCode = "";
|
|
|
|
signName = "";
|
|
|
|
}else {
|
|
|
|
signCode = maps.get(0).get("signDoctorCode").toString();
|
|
|
|
signName = maps.get(0).get("signDoctorName").toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
//创建小结
|
|
|
|
String countSql = "SELECT COUNT(id) FROM base_emergency_warn_conclusion WHERE order_id = '"+map.get("id").toString()+"'";
|
|
|
|
List<Map<String, Object>> countList = jdbcTemplate.queryForList(countSql);
|
|
|
|
if (countList.size()<=0) {
|
|
|
|
EmergencyWarnConclusionDO emergencyWarnConclusionDO = new EmergencyWarnConclusionDO();
|
|
|
|
emergencyWarnConclusionDO.setOrderId(map.get("id").toString());
|
|
|
|
emergencyWarnConclusionDO.setConclusion("误报警!");
|
|
|
|
emergencyWarnConclusionDO.setPatient(map.get("patient").toString());
|
|
|
|
emergencyWarnConclusionDO.setPatientName(map.get("patientName").toString());
|
|
|
|
emergencyWarnConclusionDO.setDoctor(signCode);
|
|
|
|
emergencyWarnConclusionDO.setDoctorName(signName);
|
|
|
|
emergencyWarnConclusionDO.setCreateTime(DateUtil.strToDate(map.get("updateTime").toString()));
|
|
|
|
emergencyWarnConclusionDO.setCreateUser(signCode);
|
|
|
|
emergencyWarnConclusionDO.setCreateUserName(signName);
|
|
|
|
emergencyWarnConclusionDO.setEmergencyReason(3);
|
|
|
|
emergencyWarnConclusionDO.setEmergencyTreatmentStatus(3);
|
|
|
|
listC.add(emergencyWarnConclusionDO);
|
|
|
|
}
|
|
|
|
//完成服务小结
|
|
|
|
baseEmergencyWarnLogDO.setType(5);
|
|
|
|
baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("createTime").toString()));
|
|
|
|
baseEmergencyWarnLogDO.setContent("完成服务小结");
|
|
|
|
baseEmergencyWarnLogDO.setUserType(1);
|
|
|
|
baseEmergencyWarnLogDO.setUserCode(signCode);
|
|
|
|
baseEmergencyWarnLogDO.setUserName(signName);
|
|
|
|
baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
list.add(baseEmergencyWarnLogDO);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
emergencyWarnConclusionDao.save(listC);
|
|
|
|
logDao.save(list);
|
|
|
|
|
|
// String sql = " select o.`status`,o.id,o.patient,o.patient_name,o.doctor AS doctor,o.doctor_name,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') AS createTime,DATE_FORMAT(o.update_time,'%Y-%m-%d %H:%i:%s') AS updateTime from base_emergency_assistance_order o where 1=1\n" +
|
|
|
|
// " \t\n" +
|
|
|
|
// "UNION\n" +
|
|
|
|
// " select o.`status`,o.id,o.patient,o.patient_name,o.doctor AS doctor,o.doctor_name,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') AS createTime,DATE_FORMAT(o.update_time,'%Y-%m-%d %H:%i:%s') AS updateTime from base_security_monitoring_order o where 1=1 ";
|
|
|
|
// List<Map<String, Object>> emeList = jdbcTemplate.queryForList(sql);
|
|
|
|
// List<BaseEmergencyWarnLogDO> list =new ArrayList<>();
|
|
|
|
// List<EmergencyWarnConclusionDO> listC = new ArrayList<>();
|
|
|
|
//
|
|
|
|
// for (Map<String, Object> map : emeList) {
|
|
|
|
// BaseEmergencyWarnLogDO baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// BaseDoctorDO doctorDO = null;
|
|
|
|
// if (null!=map.get("doctor")&&StringUtils.isNotBlank(map.get("doctor").toString())){
|
|
|
|
// doctorDO = doctorDao.findById(map.get("doctor").toString());
|
|
|
|
// }else {
|
|
|
|
// List<BaseDoctorDO> doctorDOS = servicePackageService.findSignDoctor(map.get("patient").toString(),null);
|
|
|
|
// if (doctorDOS.size()>0){
|
|
|
|
// doctorDO = doctorDOS.get(0);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// if (null!=doctorDO){
|
|
|
|
// switch (map.get("status").toString()){
|
|
|
|
// case "0" :
|
|
|
|
// //小结完成
|
|
|
|
// sql = " select count(id) from base_emergency_warn_log where order_id ='"+map.get("id").toString()+"' and type=1 ";
|
|
|
|
// if (jdbcTemplate.queryForObject(sql,Integer.class)==0){
|
|
|
|
// //已知悉
|
|
|
|
// baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// baseEmergencyWarnLogDO.setType(1);
|
|
|
|
// baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("createTime").toString()));
|
|
|
|
// baseEmergencyWarnLogDO.setContent("已知悉");
|
|
|
|
// baseEmergencyWarnLogDO.setUserType(2);
|
|
|
|
// baseEmergencyWarnLogDO.setUserCode(doctorDO.getId());
|
|
|
|
// baseEmergencyWarnLogDO.setUserName(doctorDO.getName());
|
|
|
|
// baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
// list.add(baseEmergencyWarnLogDO);
|
|
|
|
// }
|
|
|
|
// sql = " select count(id) from base_emergency_warn_log where order_id ='"+map.get("id").toString()+"' and type=5 ";
|
|
|
|
// if (jdbcTemplate.queryForObject(sql,Integer.class)==0){
|
|
|
|
// baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// baseEmergencyWarnLogDO.setType(5);
|
|
|
|
// baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDateLong(map.get("updateTime").toString()));
|
|
|
|
// baseEmergencyWarnLogDO.setContent("完成服务小结");
|
|
|
|
// baseEmergencyWarnLogDO.setUserType(2);
|
|
|
|
// baseEmergencyWarnLogDO.setUserCode(doctorDO.getId());
|
|
|
|
// baseEmergencyWarnLogDO.setUserName(doctorDO.getName());
|
|
|
|
// baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
// list.add(baseEmergencyWarnLogDO);
|
|
|
|
// }
|
|
|
|
// sql = " select count(id) from base_emergency_warn_log where order_id ='"+map.get("id").toString()+"' and type=1 ";
|
|
|
|
// if (jdbcTemplate.queryForObject(sql,Integer.class)==0){
|
|
|
|
// //已知悉
|
|
|
|
// baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// baseEmergencyWarnLogDO.setType(1);
|
|
|
|
// baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("createTime").toString()));
|
|
|
|
// baseEmergencyWarnLogDO.setContent("已知悉");
|
|
|
|
// baseEmergencyWarnLogDO.setUserType(2);
|
|
|
|
// baseEmergencyWarnLogDO.setUserCode(doctorDO.getId());
|
|
|
|
// baseEmergencyWarnLogDO.setUserName(doctorDO.getName());
|
|
|
|
// baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
// list.add(baseEmergencyWarnLogDO);
|
|
|
|
// }
|
|
|
|
// break;
|
|
|
|
// case "-1": //取消
|
|
|
|
// sql = " select count(id) from base_emergency_warn_log where order_id ='"+map.get("id").toString()+"' and type=6 ";
|
|
|
|
// if (jdbcTemplate.queryForObject(sql,Integer.class)==0){
|
|
|
|
// baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// baseEmergencyWarnLogDO.setType(6);
|
|
|
|
// baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("updateTime").toString()));
|
|
|
|
// baseEmergencyWarnLogDO.setContent("已取消");
|
|
|
|
// baseEmergencyWarnLogDO.setUserType(1);
|
|
|
|
// baseEmergencyWarnLogDO.setUserCode(map.get("patient").toString());
|
|
|
|
// baseEmergencyWarnLogDO.setUserName(map.get("patient_name").toString());
|
|
|
|
// baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
// list.add(baseEmergencyWarnLogDO);
|
|
|
|
// }
|
|
|
|
// break;
|
|
|
|
// case "-2": //误报警
|
|
|
|
// //创建小结
|
|
|
|
// String countSql = "SELECT COUNT(id) FROM base_emergency_warn_conclusion WHERE order_id = '"+map.get("id").toString()+"'";
|
|
|
|
// List<Map<String, Object>> countList = jdbcTemplate.queryForList(countSql);
|
|
|
|
// if (countList.size()<=0) {
|
|
|
|
// EmergencyWarnConclusionDO emergencyWarnConclusionDO = new EmergencyWarnConclusionDO();
|
|
|
|
// emergencyWarnConclusionDO.setOrderId(map.get("id").toString());
|
|
|
|
// emergencyWarnConclusionDO.setConclusion("误报警!");
|
|
|
|
// emergencyWarnConclusionDO.setPatient(map.get("patient").toString());
|
|
|
|
// emergencyWarnConclusionDO.setPatientName(map.get("patient_name").toString());
|
|
|
|
// emergencyWarnConclusionDO.setDoctor(doctorDO.getId());
|
|
|
|
// emergencyWarnConclusionDO.setDoctorName(doctorDO.getName());
|
|
|
|
// emergencyWarnConclusionDO.setCreateTime(DateUtil.strToDate(map.get("updateTime").toString()));
|
|
|
|
// emergencyWarnConclusionDO.setCreateUser(doctorDO.getId());
|
|
|
|
// emergencyWarnConclusionDO.setCreateUserName(doctorDO.getName());
|
|
|
|
// emergencyWarnConclusionDO.setEmergencyReason(3);
|
|
|
|
// emergencyWarnConclusionDO.setEmergencyTreatmentStatus(3);
|
|
|
|
// listC.add(emergencyWarnConclusionDO);
|
|
|
|
// }
|
|
|
|
// //完成服务小结
|
|
|
|
// sql = " select count(id) from base_emergency_warn_log where order_id ='"+map.get("id").toString()+"' and type=5 ";
|
|
|
|
// if (jdbcTemplate.queryForObject(sql,Integer.class)==0){
|
|
|
|
// baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// baseEmergencyWarnLogDO.setType(5);
|
|
|
|
// baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("createTime").toString()));
|
|
|
|
// baseEmergencyWarnLogDO.setContent("完成服务小结");
|
|
|
|
// baseEmergencyWarnLogDO.setUserType(1);
|
|
|
|
// baseEmergencyWarnLogDO.setUserCode(doctorDO.getId());
|
|
|
|
// baseEmergencyWarnLogDO.setUserName(doctorDO.getName());
|
|
|
|
// baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
// list.add(baseEmergencyWarnLogDO);
|
|
|
|
// }
|
|
|
|
// sql = " select count(id) from base_emergency_warn_log where order_id ='"+map.get("id").toString()+"' and type=1 ";
|
|
|
|
// if (jdbcTemplate.queryForObject(sql,Integer.class)==0){
|
|
|
|
// //已知悉
|
|
|
|
// baseEmergencyWarnLogDO = new BaseEmergencyWarnLogDO();
|
|
|
|
// baseEmergencyWarnLogDO.setType(1);
|
|
|
|
// baseEmergencyWarnLogDO.setCreateTime(DateUtil.strToDate(map.get("createTime").toString()));
|
|
|
|
// baseEmergencyWarnLogDO.setContent("已知悉");
|
|
|
|
// baseEmergencyWarnLogDO.setUserType(2);
|
|
|
|
// baseEmergencyWarnLogDO.setUserCode(doctorDO.getId());
|
|
|
|
// baseEmergencyWarnLogDO.setUserName(doctorDO.getName());
|
|
|
|
// baseEmergencyWarnLogDO.setOrderId(map.get("id").toString());
|
|
|
|
// list.add(baseEmergencyWarnLogDO);
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// logDao.save(list);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|