| 
					
				 | 
			
			
				@ -1230,18 +1230,51 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("location",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("fences",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("smoke",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("gasLeakage",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("fire",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("fall",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("sleep",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("deviceSn",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("monitorInfo",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select count(id) from base_security_monitoring_order where patient='"+patient+"' and topic_item='preventFall' and status="+SecurityMonitoringOrderDO.Status.apply.getType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer count = jdbcTemplate.queryForObject(sql,Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("fall",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("fall",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select dict.code,count(ord.id) total from base_system_dict_entry dict LEFT JOIN base_security_monitoring_order ord " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " on dict.code = ord.topic_item COLLATE utf8_unicode_ci and ord.status="+SecurityMonitoringOrderDO.Status.apply.getType()+" where dict.dict_code='service_item' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "and dict.remark='security'  GROUP BY dict.code "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String,Object>tmp:sqlResult){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            switch (tmp.get("code").toString()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case "preventGasLeakage": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   Integer count = Integer.parseInt(tmp.get("total").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("gasLeakage",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("gasLeakage",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case "preventFire": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    count = Integer.parseInt(tmp.get("total").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("fire",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("fire",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case "preventFall": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    count = Integer.parseInt(tmp.get("total").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("fall",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("fall",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case "preventOutOfBed": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    count = Integer.parseInt(tmp.get("total").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("sleep",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("sleep",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result = patientSignTopicInfo(result,patient,topicItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1545,17 +1578,39 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *获取居民睡眠监护列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Page<BaseSleepPlanDetail> getPatientSleepDetainList(String patient,String begin,String end,Integer page,Integer pageSize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getPatientSleepDetainList(String patient,String begin,String end,Integer page,Integer pageSize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        page=page>0?page-1:0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PageRequest pageRequest = new PageRequest(page, pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        begin = begin.substring(0,begin.indexOf(" ")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        end = end.substring(0,end.indexOf(" ")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(end)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            end = begin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray array = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Page<BaseSleepPlanDetail> list = sleepPlanDetailDao.findByListByPage(patient,begin,end,pageRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseSleepPlan> sleepPlans = sleepPlanDao.findByPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseSleepPlan sleepPlan=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (sleepPlans.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sleepPlan = sleepPlans.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (BaseSleepPlanDetail tmp:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<BaseSleepNightRecord> records = nightRecordDao.findByPatientAndDayOrderByCreateTimeDesc(patient,tmp.getDay()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            tmp.setSleepNightRecordList(records); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String str = JSON.toJSONStringWithDateFormat(tmp, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = JSONObject.parseObject(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null==sleepPlan){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("sleepPlan",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("sleepPlan",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String endTime = DateUtil.getNextMin(sleepPlan.getGetUpTime(),-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("getUpTime",sleepPlan.getGetUpTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("siestaTime",sleepPlan.getNapTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("nightRestTime",sleepPlan.getNightRestTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("nightRecordTime",sleepPlan.getNightRestTime()+"-隔日"+endTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                array.add(jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = (JSONObject) JSONObject.toJSON(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("content",array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1585,6 +1640,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String getSleepMonitoringDay(Date date,String patient){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseSleepPlan> sleepPlans = sleepPlanDao.findByPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (sleepPlans.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseSleepPlan sleepPlan = sleepPlans.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String bedUpStr = sleepPlans.get(0).getGetUpTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date bedUp = DateUtil.strToDate(DateUtil.getStringDateShort()+" "+bedUpStr+":00");// 起床时间 起床前一小时内算为起床 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (date.before(bedUp)&&bedUp.getTime()-date.getTime()>1000*1*3600){ 
			 |