|  | @ -11,6 +11,7 @@ import com.yihu.iot.service.device.IotPatientDeviceService;
 | 
	
		
			
				|  |  | import com.yihu.iot.service.equipment.IotEqtDetailService;
 | 
	
		
			
				|  |  | import com.yihu.iot.service.label.FigureLabelSerachService;
 | 
	
		
			
				|  |  | import com.yihu.iot.service.platform.IotInterfaceLogService;
 | 
	
		
			
				|  |  | import com.yihu.iot.util.conceal.ConcealUtil;
 | 
	
		
			
				|  |  | import com.yihu.iot.util.excel.HibenateUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.iot.dict.IotSystemDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.iot.equipment.IotEquipmentDetailDO;
 | 
	
	
		
			
				|  | @ -150,7 +151,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 where 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+"%'";
 | 
	
		
			
				|  |  |                                  List<String> tmpList = jdbcTemplate.queryForList(sql,String.class);
 | 
	
		
			
				|  |  |                                  listTmp.addAll(tmpList);
 | 
	
		
			
				|  |  |                              }
 | 
	
	
		
			
				|  | @ -163,11 +164,12 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          else{
 | 
	
		
			
				|  |  |                              json = new JSONObject();
 | 
	
		
			
				|  |  |                              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  ";
 | 
	
		
			
				|  |  |                              List<String> tmpList = jdbcTemplate.queryForList(sql,String.class);
 | 
	
		
			
				|  |  |                              json.put("andOr","and");
 | 
	
		
			
				|  |  |                              json.put("field","categoryCode");
 | 
	
		
			
				|  |  |                              json.put("condition","=");
 | 
	
		
			
				|  |  |                              json.put("value",Integer.parseInt(categoryCode));
 | 
	
		
			
				|  |  |                              json.put("field","deviceSn");
 | 
	
		
			
				|  |  |                              json.put("condition","in");
 | 
	
		
			
				|  |  |                              json.put("value",tmpList);
 | 
	
		
			
				|  |  |                              jsonArray.add(json);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          JSONObject jsonObject = new JSONObject();
 | 
	
	
		
			
				|  | @ -981,15 +983,34 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONArray datafiltering(String name){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/datafiltering";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("name",name);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             JSONArray jsonArray = json.getJSONArray("data");
 | 
	
		
			
				|  |  |         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`   ");
 | 
	
		
			
				|  |  |         if(org.apache.commons.lang3.StringUtils.isNotBlank(name)){
 | 
	
		
			
				|  |  |             sql.append("and (d.device_sn like '%"+name+"%' or p.`name` = '"+name+"') ");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<JSONObject> jsonArray = myJdbcTemplate.queryJson(sql.toString(),new Object[]{});
 | 
	
		
			
				|  |  |         if(jsonArray.size()==0){
 | 
	
		
			
				|  |  |             sql= new StringBuffer(" select '5' as categoryCode, id,device_code as deviceSn,null as code,null as name,'健康小屋' as deviceName from xmiot.iot_equipmet_detail where device_code like '%"+name+"%'");
 | 
	
		
			
				|  |  |             jsonArray = myJdbcTemplate.queryJson(sql.toString(),new Object[]{});
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         for (int i=0;i<jsonArray.size();i++){
 | 
	
		
			
				|  |  |             com.alibaba.fastjson.JSONObject jsonObj= jsonArray.get(i);
 | 
	
		
			
				|  |  |             if (org.apache.commons.lang3.StringUtils.isNoneBlank(jsonObj.getString("name"))){
 | 
	
		
			
				|  |  |                 jsonObj.put("name", ConcealUtil.nameOrAddrConceal(jsonObj.getString("name")));
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        String url = "/wlyygc/iot_monitoring/datafiltering";
 | 
	
		
			
				|  |  | //        Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  | //        params.put("name",name);
 | 
	
		
			
				|  |  | //        String response = sendGet(url,params);
 | 
	
		
			
				|  |  | //        JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  | //        if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  | //            JSONArray jsonArray = json.getJSONArray("data");
 | 
	
		
			
				|  |  |             for(int i=0;i<jsonArray.size();i++){
 | 
	
		
			
				|  |  |                 JSONObject data = jsonArray.getJSONObject(i);
 | 
	
		
			
				|  |  |                 JSONObject data = jsonArray.get(i);
 | 
	
		
			
				|  |  |                 String deviceSn = data.getString("deviceSn");
 | 
	
		
			
				|  |  |                 JSONArray jsonArray1 = new JSONArray();
 | 
	
		
			
				|  |  |                 JSONObject json1 = new JSONObject();
 | 
	
	
		
			
				|  | @ -1016,10 +1037,9 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return jsonArray;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONArray();
 | 
	
		
			
				|  |  |             JSONArray result = new JSONArray();
 | 
	
		
			
				|  |  |             result.addAll(jsonArray);
 | 
	
		
			
				|  |  |             return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1350,8 +1370,11 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sqlCondition.append("and f.`status`>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 device_sn from ( select device_sn,MAX(record_date) record_date from device.wlyy_patient_health_index where device_sn<>'' GROUP BY device_sn)a ");
 | 
	
		
			
				|  |  |             sqlCondition.append("where TIMESTAMPDIFF(DAY,record_date,NOW()) <= 7)");
 | 
	
		
			
				|  |  |             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'  ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sqlCondition.append(")");
 | 
	
		
			
				|  |  |             sql.append(sqlCondition);
 | 
	
		
			
				|  |  |             total=jdbcTemplate.queryForObject(sql.toString(),Integer.class);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -1483,18 +1506,43 @@ public class MonitorPlatformService  {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject getDeviceTotalCount(String startTime,String endTime,String deviceType,String area){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/getDeviceTotalCount";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("startTime",startTime);
 | 
	
		
			
				|  |  |         params.put("endTime",endTime);
 | 
	
		
			
				|  |  |         params.put("deviceType",deviceType);
 | 
	
		
			
				|  |  |         params.put("area",area);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONObject("data");
 | 
	
		
			
				|  |  |         Integer totalAll=0;
 | 
	
		
			
				|  |  |         Integer grant=0;
 | 
	
		
			
				|  |  |         if (deviceType.contains("5")){
 | 
	
		
			
				|  |  |             StringBuffer sql = new StringBuffer("select count(*) from xmiot.iot_equipmet_detail where 1=1 ");
 | 
	
		
			
				|  |  |             if(org.apache.commons.lang3.StringUtils.isNoneBlank(area)){
 | 
	
		
			
				|  |  |                 sql.append("and belong_are_code='"+area+"' ");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             Integer tmp = jdbcTemplate.queryForObject(sql.toString(),Integer.class);
 | 
	
		
			
				|  |  |             totalAll +=tmp;
 | 
	
		
			
				|  |  |             grant +=tmp;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return new JSONObject();
 | 
	
		
			
				|  |  |         String allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d ";
 | 
	
		
			
				|  |  |         int i = 0;
 | 
	
		
			
				|  |  |         if(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceType)&&deviceType.contains("1")){
 | 
	
		
			
				|  |  |             allCountSql+= " where 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 '%血压计%' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         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 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);
 | 
	
		
			
				|  |  |         result.put("using",grant);
 | 
	
		
			
				|  |  |         result.put("stock",totalAll-grant);
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |