Browse Source

Merge branch 'usky-zyj' of uskycloud/usky-modules into server-165

James 1 year ago
parent
commit
0d80e85e62

+ 4 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseBuildFacilityMapper.java

@@ -4,6 +4,9 @@ import com.usky.iot.domain.BaseBuild;
 import com.usky.iot.domain.BaseBuildFacility;
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.iot.domain.BaseBuildFacilityType;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,6 +17,6 @@ import com.usky.iot.domain.BaseBuildFacilityType;
  * @since 2023-07-26
  */
 public interface BaseBuildFacilityMapper extends CrudMapper<BaseBuildFacility> {
-    BaseBuildFacilityType baseBuildFacilityTypeList(String facilityType);
+    List<BaseBuildFacilityType> baseBuildFacilityTypeList(@Param("facilityTypes") List<String> facilityTypes);
     BaseBuild getBuildName(Integer buildId);
 }

+ 42 - 20
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java

@@ -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;
                 //离线告警处置率

+ 32 - 28
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseBuildFacilityServiceImpl.java

@@ -93,40 +93,44 @@ public class BaseBuildFacilityServiceImpl extends AbstractCrudService<BaseBuildF
     @Override
     public CommonPage<BaseBuildFacility> page(BaseBuildFacilityRequestVO requestVO){
         List<BaseBuildFacility> list = new ArrayList<>();
-        LambdaQueryWrapper<BaseBuildFacility> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(requestVO.getId() != null,BaseBuildFacility::getId,requestVO.getId())
-                .like(StringUtils.isNotBlank(requestVO.getFacilityNum()),BaseBuildFacility::getFacilityNum,requestVO.getFacilityNum())
-                .like(StringUtils.isNotBlank(requestVO.getFacilityName()),BaseBuildFacility::getFacilityName,requestVO.getFacilityName())
-                .eq(StringUtils.isNotBlank(requestVO.getFacilityType()),BaseBuildFacility::getFacilityType,requestVO.getFacilityType())
-                .eq(BaseBuildFacility::getDeleteFlag,0)
-                .eq(BaseBuildFacility::getTenantId,SecurityUtils.getTenantId())
-                .orderByDesc(BaseBuildFacility::getId);
-        List<BaseBuildFacility> list1 = this.list(queryWrapper);
-        if(CollectionUtils.isNotEmpty(list1)){
-            for(int i=0;i<list1.size();i++){
-                LambdaQueryWrapper<BaseBuildFacilityRelate> queryWrapper1 = Wrappers.lambdaQuery();
-                queryWrapper1.eq(BaseBuildFacilityRelate::getFacilityId,list1.get(i).getId());
-                BaseBuildFacilityRelate one = baseBuildFacilityRelateService.getOne(queryWrapper1);
-                if(one != null){
-                    BaseBuild one1 = baseMapper.getBuildName(one.getBuildId());
-                    if(one1 != null){
-                        list1.get(i).setBuildId(one1.getId());
-                        list1.get(i).setBuildName(one1.getBuildName());
+        BaseBuild one1 = baseMapper.getBuildName(requestVO.getBuildId());
+
+        LambdaQueryWrapper<BaseBuildFacilityRelate> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.eq(BaseBuildFacilityRelate::getBuildId,requestVO.getBuildId());
+        List<BaseBuildFacilityRelate> facilityList = baseBuildFacilityRelateService.list(queryWrapper1);
+
+        List<BaseBuildFacility> list1 = new ArrayList<>();
+        if(CollectionUtils.isNotEmpty(facilityList)){
+            List<Integer> facilityIdList = facilityList.stream().map(m ->m.getFacilityId()).collect(Collectors.toList());
+            LambdaQueryWrapper<BaseBuildFacility> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(requestVO.getId() != null,BaseBuildFacility::getId,requestVO.getId())
+                    .in(BaseBuildFacility::getId,facilityIdList)
+                    .like(StringUtils.isNotBlank(requestVO.getFacilityNum()),BaseBuildFacility::getFacilityNum,requestVO.getFacilityNum())
+                    .like(StringUtils.isNotBlank(requestVO.getFacilityName()),BaseBuildFacility::getFacilityName,requestVO.getFacilityName())
+                    .eq(StringUtils.isNotBlank(requestVO.getFacilityType()),BaseBuildFacility::getFacilityType,requestVO.getFacilityType())
+                    .eq(BaseBuildFacility::getDeleteFlag,0)
+                    .eq(BaseBuildFacility::getTenantId,SecurityUtils.getTenantId())
+                    .orderByDesc(BaseBuildFacility::getId);
+            list1 = this.list(queryWrapper);
+            if(CollectionUtils.isNotEmpty(list1)){
+                List<String> facilityTypeList = list1.stream().map(m ->m.getFacilityType()).collect(Collectors.toList());
+                List<BaseBuildFacilityType> typeList = baseMapper.baseBuildFacilityTypeList(facilityTypeList);
+                for(int i=0;i<list1.size();i++){
+
+                    if(CollectionUtils.isNotEmpty(typeList)){
+                        for(int j=0;j<typeList.size();j++){
+                            if(list1.get(i).getFacilityType().equals(typeList.get(j).getTypeCode())){
+                                list1.get(i).setTypeName(typeList.get(j).getTypeName());
+                            }
+                        }
                     }
-
+                    list1.get(i).setBuildId(one1.getId());
+                    list1.get(i).setBuildName(one1.getBuildName());
                 }
-                BaseBuildFacilityType typeOne = baseMapper.baseBuildFacilityTypeList(list1.get(i).getFacilityType());
-                list1.get(i).setTypeName(typeOne.getTypeName());
             }
-        }
 
 
-        if(StringUtils.isNotBlank(requestVO.getBuildName())){
-            list1 = list1.stream().filter(m-> m.getBuildName().contains(requestVO.getBuildName())).collect(Collectors.toList());
-        }
 
-        if(requestVO.getBuildId() != null){
-            list1 = list1.stream().filter(m-> m.getBuildId().equals(requestVO.getBuildId())).collect(Collectors.toList());
         }
 
         if(list1.size() > 0){

+ 5 - 2
service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseBuildFacilityMapper.xml

@@ -32,8 +32,11 @@
             bbft.*
         from base_build_facility_type bbft
         <where>
-            <if test="1 == 1">
-                bbft.type_code = #{facilityType}
+            <if test="facilityTypes != null and facilityTypes.size() > 0">
+                AND bbft.type_code in
+                <foreach item="item" collection="facilityTypes" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
         </where>
     </select>