|
@ -82,7 +82,6 @@ public class MonitorPlatformService {
|
|
|
public MixEnvelop<LocationDataVO, LocationDataVO> findDeviceLocations(Integer diseaseCondition, Integer page, Integer size, String type,String deviceType,String deviceName) throws IOException {
|
|
|
MixEnvelop<LocationDataVO, LocationDataVO> envelop = new MixEnvelop<>();
|
|
|
MixEnvelop<LocationDataVO, LocationDataVO> envelopTmp = null;
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
Integer total = 0;
|
|
|
if(org.apache.commons.lang.StringUtils.isNotBlank(type)){
|
|
|
String re = searchpatientdevicesn(type, page, size);
|
|
@ -115,38 +114,61 @@ public class MonitorPlatformService {
|
|
|
List<LocationDataVO> euipmentList = new ArrayList<>();
|
|
|
int totalEqCount=0;
|
|
|
int totalCount=0;
|
|
|
//查找全部
|
|
|
if(diseaseCondition!=null){
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("andOr","and");
|
|
|
json.put("field","diseaseCondition");
|
|
|
json.put("condition","=");
|
|
|
json.put("value",diseaseCondition);
|
|
|
jsonArray.add(json);
|
|
|
}
|
|
|
//小屋总数
|
|
|
if(deviceType.contains("5")){
|
|
|
totalEqCount = iotEqtDetailService.getEquipmentCount();
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(deviceName)||(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName) &&"健康小屋".equals(deviceName))){
|
|
|
totalEqCount = iotEqtDetailService.getEquipmentCount();
|
|
|
}
|
|
|
}
|
|
|
String[] categoryCodes= deviceType.split(",");
|
|
|
if(categoryCodes.length==1&&"5".equals(deviceType)){
|
|
|
euipmentList = iotEqtDetailService.getEquipmentLocation(page,size);
|
|
|
envelop.getDetailModelList().addAll(euipmentList);
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(deviceName)||(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName) &&"健康小屋".equals(deviceName))){
|
|
|
euipmentList = iotEqtDetailService.getEquipmentLocation(page,size);
|
|
|
envelop.getDetailModelList().addAll(euipmentList);
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
if(deviceType.contains("5")){
|
|
|
euipmentList = iotEqtDetailService.getEquipmentLocation(page,size);
|
|
|
envelop.getDetailModelList().addAll(euipmentList);
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(deviceName)||(org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName) &&"健康小屋".equals(deviceName))){
|
|
|
euipmentList = iotEqtDetailService.getEquipmentLocation(page,size);
|
|
|
envelop.getDetailModelList().addAll(euipmentList);
|
|
|
}
|
|
|
}
|
|
|
for (String categoryCode:categoryCodes){
|
|
|
JSONObject json = new JSONObject();
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
if(diseaseCondition!=null){
|
|
|
json.put("andOr","and");
|
|
|
json.put("field","diseaseCondition");
|
|
|
json.put("condition","=");
|
|
|
json.put("value",diseaseCondition);
|
|
|
jsonArray.add(json);
|
|
|
}
|
|
|
if(!"5".equals(categoryCode)){
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("andOr","and");
|
|
|
json.put("field","categoryCode");
|
|
|
json.put("condition","=");
|
|
|
json.put("value",Integer.parseInt(categoryCode));
|
|
|
jsonArray.add(json);
|
|
|
|
|
|
json = new JSONObject();
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName)){
|
|
|
|
|
|
String sql="select DISTINCT device_code from device.wlyy_devices where device_name like '%"+deviceName+"%'";
|
|
|
List<String> listTmp = jdbcTemplate.queryForList(sql,String.class);
|
|
|
if (listTmp.size()!=0){
|
|
|
StringBuffer tmp = new StringBuffer(listTmp.toString());
|
|
|
tmp =tmp.deleteCharAt(0);
|
|
|
tmp = tmp.deleteCharAt(tmp.length()-1);
|
|
|
json.put("andOr","and");
|
|
|
json.put("field","deviceSn");
|
|
|
json.put("condition","in");
|
|
|
json.put("value",listTmp);
|
|
|
jsonArray.add(json);
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
json = new JSONObject();
|
|
|
json.put("andOr","and");
|
|
|
json.put("field","categoryCode");
|
|
|
json.put("condition","=");
|
|
|
json.put("value",Integer.parseInt(categoryCode));
|
|
|
jsonArray.add(json);
|
|
|
}
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("filter",jsonArray);
|
|
|
jsonObject.put("page",page);
|
|
@ -156,8 +178,8 @@ public class MonitorPlatformService {
|
|
|
//figureLabelSerachService.getFigureLabelByList(locationDataVOList);
|
|
|
envelop.getDetailModelList().addAll(list2);
|
|
|
totalCount += iotPatientDeviceService.getESCount(jsonObject.toString());
|
|
|
jsonArray.remove(json);
|
|
|
}
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceName)) break;//通过deviceName查询的不过滤categpry(即所有设备中查找符合)
|
|
|
}
|
|
|
}
|
|
|
envelop.setTotalCount(totalCount>totalEqCount?totalCount:totalEqCount);
|
|
@ -1249,9 +1271,9 @@ public class MonitorPlatformService {
|
|
|
|
|
|
public String getRange(int first, int second, int i) {
|
|
|
if (second == 0 && first > 0) {
|
|
|
return "100%";
|
|
|
return "100";
|
|
|
} else if (second == 0 && first == 0) {
|
|
|
return "0.00%";
|
|
|
return "0.00";
|
|
|
}
|
|
|
float size = (float) (first * 100) / second;
|
|
|
DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0
|
|
@ -1316,9 +1338,10 @@ public class MonitorPlatformService {
|
|
|
sql.append(sqlCondition);
|
|
|
total=jdbcTemplate.queryForObject(sql.toString(),Integer.class);
|
|
|
}
|
|
|
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";
|
|
|
Integer count = jdbcTemplate.queryForObject(sqll,Integer.class);
|
|
|
count = jdbcTemplate.queryForObject(sqll,Integer.class);
|
|
|
result.put("totalAll",grantCount+count);
|
|
|
count =0;
|
|
|
if("1".equals(quotaCode)){//小屋物联率
|
|
@ -1339,6 +1362,9 @@ public class MonitorPlatformService {
|
|
|
}
|
|
|
result.put("total",total+count);//互联设备\失联设备数量
|
|
|
}
|
|
|
else{
|
|
|
result.put("total",total+count);//互联设备\失联设备数量
|
|
|
}
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
if (result.getInteger("totalAll") > 0) {
|
|
|
result.put("totalRange", df.format(result.getDouble("total") > 0.0 ? ((result.getDouble("total")) / (result.getInteger("totalAll") * 1.0000) * 100) : 0.0) );
|
|
@ -1377,7 +1403,6 @@ public class MonitorPlatformService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
public JSONObject getDeviceData(){
|
|
|
JSONObject object = new JSONObject();
|
|
|
//血糖仪数量
|
|
@ -1415,7 +1440,7 @@ public class MonitorPlatformService {
|
|
|
}
|
|
|
|
|
|
public JSONArray getSearchTags(){
|
|
|
String sql = "select id,`value` from xmiot.iot_system_dict where dict_name='DEVICE' and del=1;";
|
|
|
String sql = "select id,`value` from xmiot.iot_system_dict where dict_name='DEVICE' and (value='组合一体机' or value ='单体征测量仪') and del=1;";
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
JSONArray result = new JSONArray();
|
|
|
for (Map<String,Object> map :list){
|
|
@ -1440,4 +1465,19 @@ public class MonitorPlatformService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
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");
|
|
|
}
|
|
|
return new JSONObject();
|
|
|
}
|
|
|
|
|
|
}
|