|  | @ -25,6 +25,7 @@ import org.apache.http.message.BasicNameValuePair;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.JdbcTemplate;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.SqlInOutParameter;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.util.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestMapping;
 | 
	
	
		
			
				|  | @ -151,7 +152,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                          if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName)){
 | 
	
		
			
				|  |  |                              String[] deviceNames = deviceName.split(",");
 | 
	
		
			
				|  |  |                              for (String tmp :deviceNames){
 | 
	
		
			
				|  |  |                                  String sql="select DISTINCT device_code from device.wlyy_devices wd INNER JOIN wlyy.wlyy_patient_device pd on pd.device_sn = wd.device_code  where wd.device_name like '%"+tmp+"%'";
 | 
	
		
			
				|  |  |                                  String sql="select DISTINCT device_code from device.wlyy_devices wd INNER JOIN wlyy.wlyy_patient_device pd on pd.device_sn = wd.device_code  where wd.device_name like '%"+tmp+"%' and pd.del=0  ";
 | 
	
		
			
				|  |  |                                  List<String> tmpList = jdbcTemplate.queryForList(sql,String.class);
 | 
	
		
			
				|  |  |                                  listTmp.addAll(tmpList);
 | 
	
		
			
				|  |  |                              }
 | 
	
	
		
			
				|  | @ -164,7 +165,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          else{
 | 
	
		
			
				|  |  |                              String sql="select DISTINCT device_code from device.wlyy_devices wd INNER JOIN wlyy.wlyy_patient_device pd on pd.device_sn = wd.device_code  ";
 | 
	
		
			
				|  |  |                              String sql="select DISTINCT device_code from device.wlyy_devices wd INNER JOIN wlyy.wlyy_patient_device pd on pd.device_sn = wd.device_code where 1=1 and pd.del=0 ";
 | 
	
		
			
				|  |  |                              if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)){
 | 
	
		
			
				|  |  |                                  sql+="and pd.category_code in ('"+deviceType.replace(",","','")+"') ";
 | 
	
		
			
				|  |  |                              }
 | 
	
	
		
			
				|  | @ -988,7 +989,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |     public JSONArray datafiltering(String name){
 | 
	
		
			
				|  |  |         StringBuffer sql = new StringBuffer("SELECT d.category_code as categoryCode,d.id,d.device_sn deviceSn,p.code,p.name,d.device_name deviceName ");
 | 
	
		
			
				|  |  |         sql.append("from wlyy.wlyy_patient_device d,wlyy.wlyy_patient p  ");
 | 
	
		
			
				|  |  |         sql.append("WHERE d.`user` = p.`code`   ");
 | 
	
		
			
				|  |  |         sql.append("WHERE d.`user` = p.`code` and d.del=0  ");
 | 
	
		
			
				|  |  |         if(org.apache.commons.lang3.StringUtils.isNotBlank(name)){
 | 
	
		
			
				|  |  |             sql.append("and (d.device_sn like '%"+name+"%' or p.`name` = '"+name+"') ");
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -1129,7 +1130,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql  = "select count(DISTINCT A.device_name) as total,A.device_name,A.manufacturer from (\n" +
 | 
	
		
			
				|  |  |                     "select pd.device_name,wd.manufacturer from wlyy.wlyy_patient_device pd,device.wlyy_devices wd\n" +
 | 
	
		
			
				|  |  |                     "where pd.device_sn = wd.device_code \n" +
 | 
	
		
			
				|  |  |                     "where pd.device_sn = wd.device_code and pd.del=0 \n" +
 | 
	
		
			
				|  |  |                     "and wd.manufacturer_code is not null and wd.manufacturer_code <>''\n" +
 | 
	
		
			
				|  |  |                     "GROUP BY wd.manufacturer_code,pd.device_name\n" +
 | 
	
		
			
				|  |  |                     "UNION\n" +
 | 
	
	
		
			
				|  | @ -1143,7 +1144,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |             result.put("Manufacturers",arr);
 | 
	
		
			
				|  |  |             sql = "select count(DISTINCT A.device_name)from (\n" +
 | 
	
		
			
				|  |  |                     "select pd.device_name from wlyy.wlyy_patient_device pd,device.wlyy_devices wd\n" +
 | 
	
		
			
				|  |  |                     "where pd.device_sn = wd.device_code \n" +
 | 
	
		
			
				|  |  |                     "where pd.device_sn = wd.device_code and pd.del=0 \n" +
 | 
	
		
			
				|  |  |                     "and wd.manufacturer_code is not null and wd.manufacturer_code <>''\n" +
 | 
	
		
			
				|  |  |                     "GROUP BY wd.manufacturer_code,pd.device_name\n" +
 | 
	
		
			
				|  |  |                     "UNION\n" +
 | 
	
	
		
			
				|  | @ -1182,7 +1183,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName)){
 | 
	
		
			
				|  |  |                     sqlCondition.append("and d.device_name in ('").append(deviceName.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 sql.append("SELECT d.category_code,d.device_name, COUNT(*) c from wlyy.wlyy_patient_device d,wlyy.wlyy_sign_family f WHERE f.`status`>0 and f.patient = d.`user` "+sqlCondition+" ");
 | 
	
		
			
				|  |  |                 sql.append("SELECT d.category_code,d.device_name, COUNT(*) c from wlyy.wlyy_patient_device d,wlyy.wlyy_sign_family f WHERE f.`status`>0 and d.del=0 and f.patient = d.`user` "+sqlCondition+" ");
 | 
	
		
			
				|  |  |                 if ("0".equals(showLevel)){//组合一体机(5健康小屋,取自物联网),单体征测量仪(2血压计、1血糖仪)
 | 
	
		
			
				|  |  |                     if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)){
 | 
	
		
			
				|  |  |                         sql.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("'))a, ");
 | 
	
	
		
			
				|  | @ -1247,14 +1248,14 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                 result.put("deviceInfo",arr);//设备信息统计
 | 
	
		
			
				|  |  |                 //统计物联率设备,失联设备
 | 
	
		
			
				|  |  |                 sql = new StringBuffer("select count(*) from wlyy.wlyy_patient_device d ,wlyy.wlyy_sign_family f   ");
 | 
	
		
			
				|  |  |                 sql.append("where  f.`status`>0 and f.patient = d.`user` and d.device_sn in(select DISTINCT device_sn from device.wlyy_patient_health_index where device_sn<>'') "+sqlCondition+" ");
 | 
	
		
			
				|  |  |                 sql.append("where  f.`status`>0 and d.del=0 and f.patient = d.`user` and d.device_sn in(select DISTINCT device_sn from device.wlyy_patient_health_index where device_sn<>'') "+sqlCondition+" ");
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)){
 | 
	
		
			
				|  |  |                     sql.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 Integer iotCount = jdbcTemplate.queryForObject(sql.toString(),Integer.class);//物联设备数量
 | 
	
		
			
				|  |  |                 result.put("iotCount",iotCount);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 sql = new StringBuffer("select count(*) from wlyy.wlyy_patient_device d ,wlyy.wlyy_sign_family f WHERE f.`status`>0 and f.patient = d.`user` "+sqlCondition+" ");
 | 
	
		
			
				|  |  |                 sql = new StringBuffer("select count(*) from wlyy.wlyy_patient_device d ,wlyy.wlyy_sign_family f WHERE f.`status`>0 and d.del=0 and f.patient = d.`user` "+sqlCondition+" ");
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)){
 | 
	
		
			
				|  |  |                     sql.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |                 }
 | 
	
	
		
			
				|  | @ -1334,17 +1335,25 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |     public JSONObject iotAndLostRange(String startTime,String endTime,
 | 
	
		
			
				|  |  |                                       String deviceType,String area,String hospital,String quotaCode){
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         StringBuffer sql = new StringBuffer("select count(*) from wlyy.wlyy_patient_device d ,wlyy.wlyy_sign_family f WHERE f.`status`>0 and f.patient = d.`user`  ");
 | 
	
		
			
				|  |  |         StringBuffer sqlCondition = new StringBuffer(" where 1=1 ");
 | 
	
		
			
				|  |  |         StringBuffer sql = new StringBuffer("select count(*) from wlyy.wlyy_patient_device d ,wlyy.wlyy_sign_family f WHERE f.`status`>0 and d.del=0 and f.patient = d.`user`  ");
 | 
	
		
			
				|  |  |         StringBuffer sqlCondition = new StringBuffer(" ");
 | 
	
		
			
				|  |  |         if (org.apache.commons.lang3.StringUtils.isNoneBlank(area)){
 | 
	
		
			
				|  |  |             sqlCondition.append(" and f.hospital in (SELECT dh.code from wlyy.dm_hospital dh where dh.town ='"+area+"' and dh.del =1 )  ");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (org.apache.commons.lang3.StringUtils.isNoneBlank(hospital)){
 | 
	
		
			
				|  |  |             sqlCondition.append(" and f.hospital ="+hospital+"  ");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)){
 | 
	
		
			
				|  |  |             sql.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |             sqlCondition.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql.append(sqlCondition);
 | 
	
		
			
				|  |  |         Integer grantCount = jdbcTemplate.queryForObject(sql.toString(),Integer.class);//单体征设备发放总数
 | 
	
		
			
				|  |  |         result.put("totalAll",grantCount);
 | 
	
		
			
				|  |  |         Integer total=0;
 | 
	
		
			
				|  |  |         if("1".equals(quotaCode)){
 | 
	
		
			
				|  |  |             //物联
 | 
	
		
			
				|  |  |             sql = new StringBuffer("select count(*) from wlyy.wlyy_patient_device d ,wlyy.wlyy_sign_family f ");
 | 
	
		
			
				|  |  |             sqlCondition = new StringBuffer(" where 1=1 ");
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(area)){
 | 
	
		
			
				|  |  |                 sql.append("LEFT JOIN wlyy.dm_hospital dh on f.hospital = dh.`code` ");
 | 
	
		
			
				|  |  |                 sqlCondition.append("and dh.town='"+area+"' ");
 | 
	
	
		
			
				|  | @ -1352,7 +1361,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                     sqlCondition.append("and dh.code='"+hospital+"' ");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sqlCondition.append("and  f.`status`>0 and f.patient = d.`user` and d.device_sn in(select DISTINCT device_sn from device.wlyy_patient_health_index where device_sn<>''  ");
 | 
	
		
			
				|  |  |             sqlCondition.append("and  f.`status`>0 and d.del=0 and f.patient = d.`user` and d.device_sn in(select DISTINCT device_sn from device.wlyy_patient_health_index where device_sn<>''  ");
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)&&org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
 | 
	
		
			
				|  |  |                 sqlCondition.append("and record_date >='"+startTime+" 00:00:00' and record_date<='"+endTime+" 23:59:59'  ");
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -1371,12 +1380,15 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                     sqlCondition.append("and dh.code='"+hospital+"' ");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sqlCondition.append("and f.`status`>0 and f.patient = d.`user` ");
 | 
	
		
			
				|  |  |             sqlCondition.append("and f.`status`>0 and d.del=0 and f.patient = d.`user` ");
 | 
	
		
			
				|  |  |             sqlCondition.append("  and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |             sqlCondition.append("and d.device_sn not in (select DISTINCT device_sn from device.wlyy_patient_health_index where device_sn<>''  ");
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)&&org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
 | 
	
		
			
				|  |  |                 sqlCondition.append("and record_date >='"+startTime+" 00:00:00' and record_date<='"+endTime+" 23:59:59'  ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             else{
 | 
	
		
			
				|  |  |                 sqlCondition.append("and  TIMESTAMPDIFF(DAY,record_date,NOW()) <= 7  ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sqlCondition.append(")");
 | 
	
		
			
				|  |  |             sql.append(sqlCondition);
 | 
	
		
			
				|  |  |             total=jdbcTemplate.queryForObject(sql.toString(),Integer.class);
 | 
	
	
		
			
				|  | @ -1384,6 +1396,10 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |         Integer count =0;
 | 
	
		
			
				|  |  |         if ((org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)&&deviceType.contains("5"))||org.apache.commons.lang3.StringUtils.isBlank(deviceType)){
 | 
	
		
			
				|  |  |             String sqll = "select COUNT(*) from xmiot.iot_equipmet_detail";
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(area)){
 | 
	
		
			
				|  |  |                 sqll+=" where belong_are_code='"+area+"' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |              count = jdbcTemplate.queryForObject(sqll,Integer.class);
 | 
	
		
			
				|  |  |             result.put("totalAll",grantCount+count);
 | 
	
		
			
				|  |  |             count =0;
 | 
	
	
		
			
				|  | @ -1426,7 +1442,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             StringBuffer sql = new StringBuffer("select DISTINCT A.device_name from (\n" +
 | 
	
		
			
				|  |  |                     "select pd.device_name from wlyy.wlyy_patient_device pd,device.wlyy_devices wd\n" +
 | 
	
		
			
				|  |  |                     "where pd.device_sn = wd.device_code \n" +
 | 
	
		
			
				|  |  |                     "where pd.device_sn = wd.device_code and pd.del=0 \n" +
 | 
	
		
			
				|  |  |                     "and wd.manufacturer_code is not null and wd.manufacturer_code <>'' ");
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)){
 | 
	
		
			
				|  |  |                 sql.append("and pd.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
	
		
			
				|  | @ -1508,7 +1524,7 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |         return  result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject getDeviceTotalCount(String startTime,String endTime,String deviceType,String area){
 | 
	
		
			
				|  |  |     public JSONObject getDeviceTotalCount(String startTime,String endTime,String deviceType,String area,String hospital){
 | 
	
		
			
				|  |  |         Integer totalAll=0;
 | 
	
		
			
				|  |  |         Integer grant=0;
 | 
	
		
			
				|  |  |         if (deviceType.contains("5")){
 | 
	
	
		
			
				|  | @ -1520,26 +1536,45 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |             totalAll +=tmp;
 | 
	
		
			
				|  |  |             grant +=tmp;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d ";
 | 
	
		
			
				|  |  |         String allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d where 1=1 ";
 | 
	
		
			
				|  |  |         int i = 0;
 | 
	
		
			
				|  |  |         if(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)&&deviceType.contains("1")){
 | 
	
		
			
				|  |  |             allCountSql+= " where device_name like '%血糖仪%' ";
 | 
	
		
			
				|  |  |             allCountSql+= " and ( device_name like '%血糖仪%' ";
 | 
	
		
			
				|  |  |             i = 1;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)&&deviceType.contains("2")){
 | 
	
		
			
				|  |  |             if(i==1){
 | 
	
		
			
				|  |  |                 allCountSql+= " or device_name like '%血压计%'";
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 allCountSql+= " where device_name like '%血压计%' ";
 | 
	
		
			
				|  |  |                 allCountSql+= " and ( device_name like '%血压计%' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         Integer allCount = jdbcTemplate.queryForObject(allCountSql, Integer.class);
 | 
	
		
			
				|  |  |         totalAll+=allCount;
 | 
	
		
			
				|  |  |         allCountSql+= " ) ";
 | 
	
		
			
				|  |  |         if (org.apache.commons.lang3.StringUtils.isNoneBlank(area)){
 | 
	
		
			
				|  |  |             allCountSql+=" and grant_org_code in (SELECT dh.code from wlyy.dm_hospital dh where dh.town ='"+area+"' and dh.del =1 )";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (org.apache.commons.lang3.StringUtils.isNoneBlank(hospital)){
 | 
	
		
			
				|  |  |             allCountSql+=" and grant_org_code ="+hospital+"  ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)&&(deviceType.contains("1")||deviceType.contains("2"))){
 | 
	
		
			
				|  |  |             Integer allCount = jdbcTemplate.queryForObject(allCountSql, Integer.class);//单体征总数
 | 
	
		
			
				|  |  |             totalAll+=allCount;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             StringBuffer sql = new StringBuffer("SELECT COUNT(*) from wlyy.wlyy_patient_device d,wlyy.wlyy_sign_family f  WHERE 1=1 and f.`status`>0 and d.del=0 and f.patient = d.`user` ");
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(area)){
 | 
	
		
			
				|  |  |                 sql.append(" and f.hospital in (SELECT dh.code from wlyy.dm_hospital dh where dh.town ='"+area+"' and dh.del =1 )  ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(hospital)){
 | 
	
		
			
				|  |  |                 sql.append(" and f.hospital ="+hospital+"  ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)&& org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
 | 
	
		
			
				|  |  |                 sql.append(" and d.czrq <'"+endTime+" 00:00:00'  ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sql.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |             Integer count = jdbcTemplate.queryForObject(sql.toString(),Integer.class);//发放总数
 | 
	
		
			
				|  |  |             grant +=count;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         StringBuffer sql = new StringBuffer("SELECT COUNT(*) from wlyy.wlyy_patient_device d,wlyy.wlyy_sign_family f  WHERE 1=1 and f.`status`>0 and f.patient = d.`user` ");
 | 
	
		
			
				|  |  |         sql.append("and d.category_code in ('").append(deviceType.replace(",","','")).append("') ");
 | 
	
		
			
				|  |  |         Integer count = jdbcTemplate.queryForObject(sql.toString(),Integer.class);
 | 
	
		
			
				|  |  |         grant +=count;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         result.put("totalAll",totalAll);
 |