Procházet zdrojové kódy

Merge branch 'usky-zyj' of uskycloud/usky-modules into master

gez před 1 týdnem
rodič
revize
0f400f8e5b

+ 1 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseFacilityTypeMapper.java

@@ -19,6 +19,7 @@ import java.util.List;
 @Repository
 public interface BaseFacilityTypeMapper extends CrudMapper<BaseFacilityType> {
     List<BaseGgpFacilityTypeNumVO> typeNumList(@Param("tenantId") Integer tenantId);
+    List<BaseGgpFacilityTypeNumVO> facilitTypeNumList();
     List<BaseGgpFacilityTypeNumVO> typeNormalNumList(@Param("tenantId") Integer tenantId);
     List<BaseGgpFacilityTypeNumVO> typeUpkeepNumList(@Param("tenantId") Integer tenantId);
     List<BaseGgpFacilityTypeNumVO> typeCloseNumList(@Param("tenantId") Integer tenantId);

+ 7 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/config/DeviceOperate.java

@@ -1,12 +1,17 @@
 package com.usky.iot.service.config;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.backend.domain.StatusVO;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.demo.RemoteTsdbProxyService;
+import com.usky.iot.domain.BaseAlarm;
+import com.usky.iot.domain.DmpDeviceInfo;
 import com.usky.iot.domain.DmpDeviceStatus;
 import com.usky.iot.mapper.DmpDeviceStatusMapper;
+import com.usky.iot.service.BaseAlarmService;
 import com.usky.iot.service.DmpDeviceStatusService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,8 +22,10 @@ import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 @Slf4j
 @Configuration

+ 61 - 58
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java

@@ -30,6 +30,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -624,9 +625,67 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
         }
     }
 
+    @Async
+    public void deviceAlarm(List<StatusVO> list, List<DmpDeviceInfo> devInfoList, List<BaseAlarm> baseUnAlarmList){
+        log.info("定时同步设备告警数据 start");
+        if(CollectionUtils.isNotEmpty(devInfoList)){
+            for(int i=0;i<list.size();i++){
+                String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                if(Objects.nonNull(list.get(i).getTime()) && currentDate.equals(list.get(i).getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))){
+                    //设备离线告警恢复在线自动默认处理
+                    if(CollectionUtils.isNotEmpty(baseUnAlarmList)){
+                        for(int j=0;j<baseUnAlarmList.size();j++){
+                            if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(j).getProductCode())){
+                                LambdaUpdateWrapper<BaseAlarm> updateWrapper1 = Wrappers.lambdaUpdate();
+                                updateWrapper1.set(BaseAlarm::getHandleStatus,1)
+                                        .set(BaseAlarm::getHandleBy,"YT_admin")
+                                        .set(BaseAlarm::getHandleTime,LocalDateTime.now())
+                                        .eq(BaseAlarm::getDeviceId,list.get(i).getDeviceId())
+                                        .eq(BaseAlarm::getHandleStatus,0)
+                                        .eq(BaseAlarm::getProductCode,list.get(i).getProductCode());
+                                this.update(updateWrapper1);
+                                break;
+                            }
+                        }
+                    }
+
+                }else{
+
+                    for(int j=0;j<devInfoList.size();j++){
+                        if(list.get(i).getDeviceId().equals(devInfoList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(devInfoList.get(j).getProductCode())){
+                            int count = 0;
+                            for(int k=0;k<baseUnAlarmList.size();k++){
+                                if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(k).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(k).getProductCode())){
+                                    count++;
+                                }
+                            }
+                            if(count == 0){
+                                BaseAlarm baseAlarm = new BaseAlarm();
+                                baseAlarm.setDeviceId(list.get(i).getDeviceId());
+                                baseAlarm.setAlarmTime(LocalDateTime.parse(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"))+":00:00",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                                baseAlarm.setAlarmType("001");
+                                baseAlarm.setAlarmObject(devInfoList.get(j).getDeviceName());
+                                baseAlarm.setAlarmData("");
+                                baseAlarm.setAlarmAttribute("离线告警");
+                                baseAlarm.setAlarmContent("设备离线告警");
+                                baseAlarm.setAlarmGrade(1);
+
+                                baseAlarm.setAlarmAddress(devInfoList.get(j).getInstallAddress());
+                                baseAlarm.setProductCode(devInfoList.get(j).getProductCode());
+                                this.add(baseAlarm);
+                            }
+                            break;
+                        }
+                    }
+
+                }
+            }
+        }
+        log.info("定时同步设备告警数据 end");
+    }
+
     @Override
     public void deviceOffLineAlarm(){
-        log.info("定时同步设备告警数据 start");
         List<StatusVO> list = new ArrayList<>();
         List<String> devList = new ArrayList<>();
         LambdaQueryWrapper<DmpDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
@@ -646,69 +705,13 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
         if(CollectionUtils.isNotEmpty(list)){
             List<DmpDeviceInfo> devInfoList = new ArrayList<>();
             List<BaseAlarm> baseUnAlarmList = new ArrayList<>();
-//            List<BaseAlarm> baseAlarmList = new ArrayList<>();
             if(devList.size() > 0) {
                 devInfoList = baseMapper.getDeviceInfoList(devList);
                 baseUnAlarmList = baseMapper.getUnDeviceAlarmList(devList);
-//                baseAlarmList = baseMapper.getDeviceAlarmList(devList);
-            }
-
-            if(CollectionUtils.isNotEmpty(devInfoList)){
-                for(int i=0;i<list.size();i++){
-                    String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                    if(Objects.nonNull(list.get(i).getTime()) && currentDate.equals(list.get(i).getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))){
-                        //设备离线告警恢复在线自动默认处理
-                        if(CollectionUtils.isNotEmpty(baseUnAlarmList)){
-                            for(int j=0;j<baseUnAlarmList.size();j++){
-                                if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(j).getProductCode())){
-                                    LambdaUpdateWrapper<BaseAlarm> updateWrapper1 = Wrappers.lambdaUpdate();
-                                    updateWrapper1.set(BaseAlarm::getHandleStatus,1)
-                                            .set(BaseAlarm::getHandleBy,"YT_admin")
-                                            .set(BaseAlarm::getHandleTime,LocalDateTime.now())
-                                            .eq(BaseAlarm::getDeviceId,list.get(i).getDeviceId())
-                                            .eq(BaseAlarm::getHandleStatus,0)
-                                            .eq(BaseAlarm::getProductCode,list.get(i).getProductCode());
-                                    this.update(updateWrapper1);
-                                    break;
-                                }
-                            }
-                        }
-
-                    }else{
-
-                        for(int j=0;j<devInfoList.size();j++){
-                            if(list.get(i).getDeviceId().equals(devInfoList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(devInfoList.get(j).getProductCode())){
-                                int count = 0;
-                                for(int k=0;k<baseUnAlarmList.size();k++){
-                                    if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(k).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(k).getProductCode())){
-                                        count++;
-                                    }
-                                }
-                                if(count == 0){
-                                    BaseAlarm baseAlarm = new BaseAlarm();
-                                    baseAlarm.setDeviceId(list.get(i).getDeviceId());
-                                    baseAlarm.setAlarmTime(LocalDateTime.parse(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"))+":00:00",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                                    baseAlarm.setAlarmType("001");
-                                    baseAlarm.setAlarmObject(devInfoList.get(j).getDeviceName());
-                                    baseAlarm.setAlarmData("");
-                                    baseAlarm.setAlarmAttribute("离线告警");
-                                    baseAlarm.setAlarmContent("设备离线告警");
-                                    baseAlarm.setAlarmGrade(1);
-
-                                    baseAlarm.setAlarmAddress(devInfoList.get(j).getInstallAddress());
-                                    baseAlarm.setProductCode(devInfoList.get(j).getProductCode());
-                                    this.add(baseAlarm);
-                                }
-                                break;
-                            }
-                        }
-
-                    }
-                }
             }
 
+            this.deviceAlarm(list,devInfoList,baseUnAlarmList);
         }
-        log.info("定时同步设备告警数据 end");
     }
 
     @Override

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseGgpFacilityServiceImpl.java

@@ -435,7 +435,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
                 int rot=3;
                 for (FacilityImportVo facilityImportVo:facilityImportVos) {
                     BaseGgpFacility baseGgpFacility = BeanMapperUtils.map(facilityImportVo, BaseGgpFacility.class);
-                    List<BaseGgpFacilityTypeNumVO> typeList = baseFacilityTypeMapper.typeNumList(SecurityUtils.getTenantId());
+                    List<BaseGgpFacilityTypeNumVO> typeList = baseFacilityTypeMapper.facilitTypeNumList();
                     if (CollectionUtils.isNotEmpty(typeList)) {
                         for (int j = 0; j < typeList.size(); j++) {
                             if (baseGgpFacility.getFacilityType().equals(typeList.get(j).getTypeName())) {

+ 4 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseFacilityTypeMapper.xml

@@ -32,6 +32,10 @@
         </where>
         GROUP BY d.id
     </select>
+    <select id="facilitTypeNumList" resultType="com.usky.iot.service.vo.BaseGgpFacilityTypeNumVO">
+        SELECT d.id,d.type_name as typeName,d.type_code as typeCode,d.type_img as typeImg
+        FROM base_facility_type d
+    </select>
     <select id="typeNormalNumList" resultType="com.usky.iot.service.vo.BaseGgpFacilityTypeNumVO">
         SELECT d.id,IF(facility_type IS NULL,0,COUNT(*)) AS
         normalFacilityNum