| 
					
				 | 
			
			
				@ -1077,7 +1077,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param deviceSn 设备sn码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getPatientDeviceData(String patient,String deviceSn,Integer page,Integer pageSize)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getPatientDeviceData(String patient,String type,String deviceSn,Integer page,Integer pageSize)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        page = page>0?page-1:0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<DevicePatientDevice> devices = patientDeviceDao.findByDeviceSn(deviceSn); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1094,7 +1094,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result = getHealthIndex(result,2,deviceSn,patient,page,pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    default://安防设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result  = getEmeWarn(result,deviceSn,null,page,pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result  = getEmeWarn(result,type,deviceSn,null,page,pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1208,38 +1208,90 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getEmeWarn(JSONObject result,String deviceSn,String patient,Integer page,Integer pageSize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlCount = "select SUM(total) from( \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "select count(ord.id) as total from base_emergency_assistance_order ord  where ord.device_sn='"+deviceSn+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and ord.patient='"+patient+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "UNION All " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "select count(ord.id)  as total from base_security_monitoring_order ord  where ord.device_sn='"+deviceSn+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " {{patient}} )A "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select '20' as OrderType,ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "'紧急呼叫' as serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "from base_emergency_assistance_order ord  where ord.device_sn='"+deviceSn+"' and ord.patient='"+patient+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "UNION " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "select  '22' as 'OrderType',ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order ord " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where ord.device_sn='"+deviceSn+"' {{patient}}  order by create_time desc limit "+page*pageSize+","+pageSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(patient)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCount = sqlCount.replace("{{patient}}","and ord.patient='"+patient+"' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = sql.replace("{{patient}}","and ord.patient='"+patient+"' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCount = sqlCount.replace("{{patient}}"," "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = sql.replace("{{patient}}"," "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long count = jdbcTemplate.queryForObject(sqlCount,long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getEmeWarn(JSONObject result,String type,String deviceSn,String patient,Integer page,Integer pageSize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(type)||"2".equals(type)||"0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sqlCount = "select SUM(total) from( \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "select count(ord.id) as total from base_emergency_assistance_order ord  where ord.device_sn='"+deviceSn+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  {{patient}} " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "UNION All " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "select count(ord.id)  as total from base_security_monitoring_order ord  where ord.device_sn='"+deviceSn+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " {{patient}} )A "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql = "select '20' as OrderType,ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "'紧急呼叫' as serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_emergency_assistance_order ord  where ord.device_sn='"+deviceSn+"' {{patient}} " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "UNION " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "select  '22' as 'OrderType',ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order ord " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where ord.device_sn='"+deviceSn+"' {{patient}}  order by create_time desc limit "+page*pageSize+","+pageSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isNotBlank(patient)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sqlCount = sqlCount.replace("{{patient}}","and ord.patient='"+patient+"' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql = sql.replace("{{patient}}","and ord.patient='"+patient+"' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sqlCount = sqlCount.replace("{{patient}}"," "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql = sql.replace("{{patient}}"," "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            long count = jdbcTemplate.queryForObject(sqlCount,long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String str = JSON.toJSONString(list,SerializerFeature.WriteMapNullValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            com.alibaba.fastjson.JSONArray arr = com.alibaba.fastjson.JSONArray.parseArray(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("total",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("page",page+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("pageSize",pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("dataList", arr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("1".equals(type)||"0".equals(type)){//日常监护 昨天20:00~08:00、08:00~20:00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           String sql = "select  '20' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00') create_time\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_emergency_assistance_order ord  \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where ord.device_sn='"+deviceSn+"' {{patient}} and create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY DATE_FORMAT(ord.create_time,'%Y-%m-%d')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " UNION\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " select  '20' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') create_time\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_emergency_assistance_order ord  \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "where ord.device_sn='"+deviceSn+"' {{patient}} and (  \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "(create_time>= DATE_FORMAT(create_time,'%Y-%m-%d 23:00:00')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "and create_time < DATE_FORMAT(create_time,'%Y-%m-%d 23:59:59'))\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "or\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "(create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 00:00:00') \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00')))\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')-- 安防\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "UNION\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "select  '22' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00') create_time\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_security_monitoring_order ord  \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where ord.device_sn='"+deviceSn+"' {{patient}} and  create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY DATE_FORMAT(ord.create_time,'%Y-%m-%d')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " UNION\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " select  '22' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') create_time\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_security_monitoring_order ord  \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "where ord.device_sn='"+deviceSn+"' {{patient}} and (  \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "(create_time>= DATE_FORMAT(create_time,'%Y-%m-%d 23:00:00')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "and create_time < DATE_FORMAT(create_time,'%Y-%m-%d 23:59:59'))\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "or\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "(create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 00:00:00') \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00')))\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "order by create_time desc\n" ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isNotBlank(patient)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql = sql.replace("{{patient}}","and ord.patient='"+patient+"' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql = sql.replace("{{patient}}"," "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sqlCount = " select count(*) from ("+sql+")A "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql  = "  SELECT GROUP_CONCAT(OrderType) as OrderType,SUM(total) total,create_time FROM ("+sql+")A GROUP BY create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "order by create_time desc limit "+page*pageSize+","+pageSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            long count = jdbcTemplate.queryForObject(sqlCount,long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String str = JSON.toJSONString(list,SerializerFeature.WriteMapNullValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        com.alibaba.fastjson.JSONArray arr = com.alibaba.fastjson.JSONArray.parseArray(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("dailyTotal",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("dailyPage",page+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("dailyPageSize",pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("dailyDataList", list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("total",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("page",page+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("pageSize",pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("dataList", arr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |