liubing 3 gadi atpakaļ
vecāks
revīzija
34b5252452

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/orderLogProcess/OrderLogProcessController.java

@ -36,7 +36,7 @@ public class OrderLogProcessController extends BaseController {
    @Autowired
    @Autowired
    UserAgent userAgent;
    UserAgent userAgent;
    @RequestMapping(value = "phoneLogSave", method = RequestMethod.POST)
    @RequestMapping(value = "yujingboda", method = RequestMethod.POST)
    @ApiOperation(value = "110/120拨打日志保存")
    @ApiOperation(value = "110/120拨打日志保存")
    public String phoneLogSave(@ApiParam(name = "logJson")
    public String phoneLogSave(@ApiParam(name = "logJson")
                               @RequestParam(value = "logJson") String logJson,
                               @RequestParam(value = "logJson") String logJson,

+ 130 - 87
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java

@ -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);
    }
    }