| 
					
				 | 
			
			
				@ -65,6 +65,7 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -299,7 +300,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                message.put("orgType",orgDO.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String url = "/sos/info?id="+assistanceDO.getId()+"&OrderType=20&patient="+assistanceDO.getPatient()+"&patientName="+assistanceDO.getPatientName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (BaseDoctorDO doctorDO:doctorDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (StringUtils.isNotBlank(doctorDO.getMobile())){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -308,7 +309,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }catch (Exception e){} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String body = "您好,"+assistanceDO.getPatientName()+"居民发起紧急呼叫,请关注并及时处理。"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String dingDingBody = "您好,"+assistanceDO.getPatientName()+"居民发起紧急呼叫,请及时处理。"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                messageUtil.sendDoctorGetuiMessage(doctorDO.getId(),"2","/sos/index?tabActive=1","紧急呼叫",body); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                messageUtil.sendDoctorGetuiMessage(doctorDO.getId(),"2",url,"紧急呼叫",body); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","2",dingDingBody,null,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                imUtill.sendMDTSocketMessageToDoctor(doctorDO.getId(),message.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -447,6 +449,13 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                emergencyOrderVO.setEmergencyWarnConclusionDO(conclusionDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //复核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> review = logDao.findByOrderIdAndType(assistanceDO.getId(),7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(review.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            emergencyOrderVO.setReviewWarnLogDO(review.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //附加信息 紧急救助无 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //通知对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> noticePersons = new ArrayList<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1121,6 +1130,101 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 记录预警核实日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void addWarnLog(String sessionId,String doctor,Integer type,String content,String ext1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = doctorDao.findById(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(doctorDO==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT e.id from base_emergency_assistance_order e " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE e.session_id = ? and e.`status` = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "UNION " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "SELECT s.id from im_internet_hospital.topics t,wlyy_consult c,base_security_monitoring_order s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE t.session_id = ? and t.id = c.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "and c.relation_code = s.id and s.`status` = 1 "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql,new Object[]{sessionId,sessionId}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String,Object> map:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orderId = map.get("id")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(type==8){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<BaseEmergencyWarnLogDO> logDOS = logDao.findByOrderIdAndType(orderId,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(logDOS.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //新增 type =8 9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setContent("发起im会话"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setType(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDao.save(logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<BaseEmergencyWarnLogDO> logDOS = logDao.findByOrderIdAndExt1(orderId,ext1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(logDOS.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setType(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setExt1(ext1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDao.save(logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else if(type==9){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //更新9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseEmergencyWarnLogDO logDO = logDOS.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDao.save(logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 预警复核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject preWarningReview(String orderId,String doctor,String content){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        EmergencyAssistanceDO one = emergencyAssistanceDao.findOne(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (one==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String failMsg = "工单不存在" ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultFlag", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultMsg", failMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String orgCode = permissionService.getDoctorOrg(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!orgCode.equals(one.getOrgCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String failMsg = "该操作没权限" ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultFlag", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultMsg", failMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = doctorDao.findById(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null!=doctorDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setUserCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setUserType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDO.setType(7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logDao.save(logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("resultFlag", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("resultMsg", "success"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject responseOrder(String orderId,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        EmergencyAssistanceDO one = emergencyAssistanceDao.findOne(orderId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1504,43 +1608,199 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getEmergencyAssistanceProcess(String orderId,String orderType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String eaSql = " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> maps = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("20".equals(orderType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            eaSql   = "SELECT `status`,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') AS createTime,complete_time AS completeTime " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_emergency_assistance_order WHERE id = '"+orderId+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            eaSql   = "SELECT o.`status`,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') AS createTime,o.patient,o.team_code,'紧急呼叫' AS serveDesc,dd.photo " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_emergency_assistance_order o " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "LEFT JOIN wlyy_devices wd on wd.device_code=o.device_sn " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "LEFT JOIN dm_device dd on dd.category_code = wd.category_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE o.id = ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("22".equals(orderType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            eaSql   = "SELECT `status`,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') AS createTime,complete_time AS completeTime " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "from base_security_monitoring_order WHERE id = '"+orderId+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            eaSql   = "SELECT o.`status`,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') AS createTime,o.patient,o.team_code,o.serve_desc serveDesc,dd.photo " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_security_monitoring_order o  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "LEFT JOIN wlyy_devices wd on wd.device_code=o.device_sn " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "LEFT JOIN dm_device dd on dd.category_code = wd.category_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE o.id = ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        maps = jdbcTemplate.queryForList(eaSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        maps = jdbcTemplate.queryForList(eaSql,new Object[]{orderId}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (maps.size()==0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String, Object> map : maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("status",map.get("status")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("createTime",map.get("createTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发起预警 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject start = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> startMap = maps.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String createTime = startMap.get("createTime")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        start.put("createTime",createTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        start.put("photo",startMap.get("photo")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        start.put("serveDesc",startMap.get("serveDesc")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject.put("start",start); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String patient = startMap.get("patient")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String teamCode = startMap.get("team_code")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //预警推送 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject pushLog = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        pushLog.put("family",patientFamilyPushLog(patient,orderId,createTime)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        pushLog.put("docotr",doctorPushLog(orderId,teamCode,createTime)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject.put("pushLog",pushLog); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //其他日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> warnLogDOList = logDao.findByOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<Integer,List<BaseEmergencyWarnLogDO>> resultMap = warnLogDOList.stream().collect(Collectors.groupingBy(e -> e.getType())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //预警核实 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> check = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resultMap.containsKey(8)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            check.addAll(resultMap.get(8)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resultMap.containsKey(9)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            check.addAll(resultMap.get(9)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resultMap.containsKey(10)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            check.addAll(resultMap.get(10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(check.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            check.forEach(logDO->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(logDO.getUserType()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserTypeName("居民"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserTypeName("社工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            check = check.stream().sorted(Comparator.comparing(BaseEmergencyWarnLogDO::getCreateTime)).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("check",check); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select user_name AS userName,create_time AS createTime,content,type from base_emergency_warn_log where (user_type = 2 and order_id = '"+orderId+"' and type IS NOT NULL) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " OR (user_type = 1 AND order_id = '"+orderId+"' and type IS NOT NULL) order by create_time,type ASC "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> result = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject.put("type5_status",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject.put("result",result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String, Object> map : result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (map.get("type").equals(5)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("type5_status",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //预警处置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> dealWith = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resultMap.containsKey(2)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dealWith.addAll(resultMap.get(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resultMap.containsKey(3)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dealWith.addAll(resultMap.get(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resultMap.containsKey(4)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dealWith.addAll(resultMap.get(4)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(dealWith.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dealWith.forEach(logDO->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(logDO.getUserType()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserTypeName("居民"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logDO.setUserTypeName("社工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dealWith = dealWith.stream().sorted(Comparator.comparing(BaseEmergencyWarnLogDO::getCreateTime)).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("dealWith",dealWith); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //处置结论 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> conclusion = resultMap.get(5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(conclusion!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseEmergencyWarnLogDO logDO = conclusion.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(logDO.getUserType()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setUserTypeName("居民"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setUserTypeName("社工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("conclusion",logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //预警复核 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> review = resultMap.get(7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(review!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseEmergencyWarnLogDO logDO = review.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(logDO.getUserType()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setUserTypeName("居民"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setUserTypeName("社工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("review",logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //取消 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseEmergencyWarnLogDO> cancel = resultMap.get(6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(cancel!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseEmergencyWarnLogDO logDO = cancel.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(logDO.getUserType()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setUserTypeName("居民"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logDO.setUserTypeName("社工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("cancel",logDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject = JSONObject.parseObject(JSON.toJSONStringWithDateFormat(jsonObject,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 家属推送日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orderId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String, Object>> patientFamilyPushLog(String patient,String orderId,String createTime){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> noticePersons = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray familyArr = familyMemberService.getPatientMembers(patient, null, null, null, "3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int i = 0; i < familyArr.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String patientId = familyArr.getJSONObject(i).getString("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BasePatientDO patientDO1 = patientDao.findById(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> noticeObj = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("type", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("typeName", "家属"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("id", patientDO1.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("name", patientDO1.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("photo", patientDO1.getPhoto()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("mobile", patientDO1.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("status", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("statusName", "未读"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("createTime",createTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SystemMessageDO messageDO = systemMessageDao.findByRelationCodeAndReceiver(orderId, patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (messageDO != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                noticeObj.put("createTime",DateUtil.dateToStrLong(messageDO.getCreateTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isNotBlank(messageDO.getIsRead())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    noticeObj.put("status", Integer.parseInt(messageDO.getIsRead())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (Integer.parseInt(messageDO.getIsRead()) == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        noticeObj.put("statusName", "已读"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticePersons.add(noticeObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return noticePersons; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 医生推送日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String, Object>> doctorPushLog(String orderId,String teamCode,String createTime){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> noticePersons = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembersByLevel(teamCode,2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (BaseDoctorDO doctorDO:doctorDOS) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> noticeObj = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("type","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("typeName","社工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("id",doctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("name",doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("photo",doctorDO.getPhoto()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("mobile",doctorDO.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("status",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("statusName","未响应"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticeObj.put("createTime",createTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            EmergencyWarnDoctorResponseDO logDO = emergencyWarnDoctorResponseDao.findByDoctorAndOrderId(doctorDO.getId(),orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (logDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                noticeObj.put("status",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                noticeObj.put("statusName","已响应"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                noticeObj.put("createTime",DateUtil.dateToStrLong(logDO.getResponseTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noticePersons.add(noticeObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return noticePersons; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public int phoneLogSave(BaseEmergencyWarnLogDO baseEmergencyWarnLogDO,Integer type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        switch (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 1: 
			 |