|
@@ -67,13 +67,21 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
.eq(DmpProductInfo::getTenantId,SecurityUtils.getTenantId());
|
|
|
List<DmpProductInfo> list1 = dmpProductInfoService.list(queryWrapper);
|
|
|
if(CollectionUtils.isNotEmpty(list1)){
|
|
|
- QueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.query();
|
|
|
- queryWrapper1.select("product_code as productCode","count(*) as count")
|
|
|
- .in("service_status",1,2)
|
|
|
- .eq("delete_flag",0)
|
|
|
+// QueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.query();
|
|
|
+// queryWrapper1.select("product_code as productCode","count(*) as count")
|
|
|
+// .in("service_status",1,2)
|
|
|
+// .eq("delete_flag",0)
|
|
|
+// .eq("tenant_id",SecurityUtils.getTenantId())
|
|
|
+// .groupBy("product_code");
|
|
|
+// List<Map<String,Object>> mapList= dmpDeviceInfoService.listMaps(queryWrapper1);
|
|
|
+
|
|
|
+ List<String> productCodeList = list1.stream().map(s -> s.getProductCode()).collect(Collectors.toList());
|
|
|
+ QueryWrapper<BaseAlarm> queryWrapper2 = Wrappers.query();
|
|
|
+ queryWrapper2.select("product_code as productCode","handle_status as handleStatus","count(*) as count")
|
|
|
+ .in("product_code",productCodeList)
|
|
|
.eq("tenant_id",SecurityUtils.getTenantId())
|
|
|
- .groupBy("product_code");
|
|
|
- List<Map<String,Object>> mapList= dmpDeviceInfoService.listMaps(queryWrapper1);
|
|
|
+ .groupBy("product_code","handle_status");
|
|
|
+ List<Map<String,Object>> handleStatusList = this.listMaps(queryWrapper2);
|
|
|
|
|
|
for(int i=0;i<list1.size();i++){
|
|
|
BaseAlarmResponeVO responeVO = new BaseAlarmResponeVO();
|
|
@@ -83,10 +91,24 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
|
|
|
//未处理
|
|
|
int untreated = 0;
|
|
|
- untreated = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,0).eq(BaseAlarm::getProductCode,list1.get(i).getProductCode()).eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId()));
|
|
|
+ if(CollectionUtils.isNotEmpty(handleStatusList)){
|
|
|
+ for(int j=0;j<handleStatusList.size();j++){
|
|
|
+ if(list1.get(i).getProductCode().equals(handleStatusList.get(j).get("productCode")) && (0 == Integer.parseInt(handleStatusList.get(j).get("handleStatus").toString()))){
|
|
|
+ untreated = Integer.parseInt(String.valueOf(handleStatusList.get(j).get("count")));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//已处理
|
|
|
int processed = 0;
|
|
|
- processed = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,1).eq(BaseAlarm::getProductCode,list1.get(i).getProductCode()).eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId()));
|
|
|
+ if(CollectionUtils.isNotEmpty(handleStatusList)){
|
|
|
+ for(int j=0;j<handleStatusList.size();j++){
|
|
|
+ if(list1.get(i).getProductCode().equals(handleStatusList.get(j).get("productCode")) && (1 == Integer.parseInt(handleStatusList.get(j).get("handleStatus").toString()))){
|
|
|
+ processed = Integer.parseInt(String.valueOf(handleStatusList.get(j).get("count")));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//总数
|
|
|
int count = untreated+processed;
|
|
|
//处置率
|
|
@@ -100,24 +122,24 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
responeVO.setProcessed(processed);
|
|
|
responeVO.setProcessRate(processRate);
|
|
|
|
|
|
- //设备总数
|
|
|
- responeVO.setDeviceCount(0);
|
|
|
- if(CollectionUtils.isNotEmpty(mapList)){
|
|
|
- for(int j=0;j<mapList.size();j++){
|
|
|
- if(list1.get(i).getProductCode().equals(mapList.get(j).get("productCode"))){
|
|
|
- responeVO.setDeviceCount(Integer.parseInt(String.valueOf(mapList.get(j).get("count"))));
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+// //设备总数
|
|
|
+// responeVO.setDeviceCount(0);
|
|
|
+// if(CollectionUtils.isNotEmpty(mapList)){
|
|
|
+// for(int j=0;j<mapList.size();j++){
|
|
|
+// if(list1.get(i).getProductCode().equals(mapList.get(j).get("productCode"))){
|
|
|
+// responeVO.setDeviceCount(Integer.parseInt(String.valueOf(mapList.get(j).get("count"))));
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
//离线告警统计
|
|
|
//离线告警未处理
|
|
|
int offLineUntreated = 0;
|
|
|
- offLineUntreated = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,0).eq(BaseAlarm::getAlarmType,"lx-20230700000000000").eq(BaseAlarm::getProductCode,list1.get(i).getProductCode()).eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId()));
|
|
|
+// offLineUntreated = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,0).eq(BaseAlarm::getAlarmType,"001").eq(BaseAlarm::getProductCode,list1.get(i).getProductCode()).eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId()));
|
|
|
//离线告警已处理
|
|
|
int offLineProcessed = 0;
|
|
|
- offLineProcessed = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,1).eq(BaseAlarm::getAlarmType,"lx-20230700000000000").eq(BaseAlarm::getProductCode,list1.get(i).getProductCode()).eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId()));
|
|
|
+// offLineProcessed = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,1).eq(BaseAlarm::getAlarmType,"001").eq(BaseAlarm::getProductCode,list1.get(i).getProductCode()).eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId()));
|
|
|
//离线告警总数
|
|
|
int offLineCount = offLineUntreated+offLineProcessed;
|
|
|
//离线告警处置率
|