Prechádzať zdrojové kódy

虚警抑制结果更新

Gaokun Wang 2 mesiacov pred
rodič
commit
0d72da28d4

+ 8 - 1
als-common/common-core/src/main/java/org/eco/common/core/utils/ValidatorUtils.java

@@ -5,14 +5,19 @@ import jakarta.validation.ConstraintViolationException;
 import jakarta.validation.Validator;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.eco.common.core.exception.BusinessException;
+import org.eco.common.core.exception.base.BaseException;
 
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * Validator 校验框架工具
  *
  * @author wgk
  */
+@Slf4j
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class ValidatorUtils {
 
@@ -21,7 +26,9 @@ public class ValidatorUtils {
     public static <T> void validate(T object, Class<?>... groups) {
         Set<ConstraintViolation<T>> validate = VALID.validate(object, groups);
         if (!validate.isEmpty()) {
-            throw new ConstraintViolationException("参数校验异常", validate);
+            validate.forEach(constraintViolation -> log.error(constraintViolation.getMessage()));
+            String msg = validate.stream().map(ConstraintViolation::getMessage).collect(Collectors.joining(","));
+            throw new BaseException("参数校验异常: {}", msg);
         }
     }
 

+ 4 - 3
als-modules/agile-assurance/src/main/java/org/eco/als/controller/FaultStatisticsController.java

@@ -114,9 +114,10 @@ public class FaultStatisticsController extends BaseController {
      */
     @Log(title = "故障统计", businessType = BusinessType.IMPORT)
     @PostMapping("/importData")
-    public CommonResult<List<FaultStatisticsImportVo>> importData(MultipartFile file, boolean updateSupport) throws Exception {
-        List<FaultStatisticsImportVo> result = ExcelUtil.importExcel(file.getInputStream(), FaultStatisticsImportVo.class);
-        return CommonResult.success(result);
+    public CommonResult<Void> importData(MultipartFile file, boolean updateSupport) throws Exception {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        ExcelResult<FaultStatisticsImportVo> result = ExcelUtil.importExcel(file.getInputStream(), FaultStatisticsImportVo.class, new FaultStatisticsImportListener(updateSupport, loginUser));
+        return CommonResult.success(result.getAnalysis().getLogInfo());
     }
 
     /**

+ 0 - 5
als-modules/agile-assurance/src/main/java/org/eco/als/controller/SmTaskController.java

@@ -1,18 +1,13 @@
 package org.eco.als.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.hutool.core.collection.CollUtil;
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
-import org.eco.als.domain.bo.FaultStatisticsBo;
 import org.eco.als.domain.bo.SmTaskBo;
 import org.eco.als.domain.bo.SubTaskBo;
-import org.eco.als.domain.vo.FaultStatisticsImportVo;
-import org.eco.als.domain.vo.FaultStatisticsVo;
 import org.eco.als.domain.vo.SmTaskImportVo;
 import org.eco.als.domain.vo.SmTaskVo;
-import org.eco.als.listener.FaultStatisticsImportListener;
 import org.eco.als.listener.SmTaskImportListener;
 import org.eco.als.service.ISmTaskService;
 import org.eco.common.core.core.domain.CommonResult;

+ 0 - 3
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/FaultStatisticsBo.java

@@ -30,21 +30,18 @@ public class FaultStatisticsBo extends BaseEntity{
     /**
      * 日期
      */
-    @NotNull(message = "日期不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date statisticsDate;
 
     /**
      * 开始日期
      */
-//    @NotNull(message = "日期不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date startStatisticsDate;
 
     /**
      * 结束日期
      */
-//    @NotNull(message = "日期不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date endStatisticsDate;
 

+ 5 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/FaultStatisticsImportVo.java

@@ -2,6 +2,7 @@ package org.eco.als.domain.vo;
 
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -28,6 +29,7 @@ public class FaultStatisticsImportVo implements Serializable {
 
     /** 日期 */
     @ExcelProperty(value = "日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date statisticsDate;
 
     /** 战区 */
@@ -184,6 +186,7 @@ public class FaultStatisticsImportVo implements Serializable {
 
     /** 故障件装机日期 */
     @ExcelProperty(value = "故障件装机日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date faultyPartsInstallDate;
 
     /** 故障原因 */
@@ -236,10 +239,12 @@ public class FaultStatisticsImportVo implements Serializable {
 
     /** 审核时间 */
     @ExcelProperty(value = "审核时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date examineTime;
 
     /** 排除日期 */
     @ExcelProperty(value = "排除日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date exclusionDate;
 
     /** 排故工时 */

+ 4 - 4
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/FaultStatisticsVo.java

@@ -38,7 +38,7 @@ private static final long serialVersionUID = 1L;
     /** 日期 */
     @ExcelProperty(value = "日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private String statisticsDate;
+    private Date statisticsDate;
 
     /** 战区 */
     @ExcelProperty(value = "战区")
@@ -247,13 +247,13 @@ private static final long serialVersionUID = 1L;
 
     /** 审核时间 */
     @ExcelProperty(value = "审核时间")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private String examineTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date examineTime;
 
     /** 排除日期 */
     @ExcelProperty(value = "排除日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private String exclusionDate;
+    private Date exclusionDate;
 
     /** 排故工时 */
     @ExcelProperty(value = "排故工时")

+ 3 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/listener/FaultStatisticsImportListener.java

@@ -31,6 +31,7 @@ public class FaultStatisticsImportListener extends AnalysisEventListener<FaultSt
     private final LoginUser loginUser;
     private int successNum = 0;
     private int failureNum = 0;
+    private int num = 0;
     private final StringBuilder successMsg = new StringBuilder();
     private final StringBuilder failureMsg = new StringBuilder();
 
@@ -51,6 +52,7 @@ public class FaultStatisticsImportListener extends AnalysisEventListener<FaultSt
 
             //faultStatisticsVo1 = faultStatisticsService.selectBySomefield(faultStatisticsVo.getSomefield());
             if (ObjectUtil.isNull(faultStatisticsVo1)) {
+                num++;
                 //不存在就新增
                 setBo(faultStatisticsBo);
                 faultStatisticsBo.setRemarks("import");
@@ -79,7 +81,7 @@ public class FaultStatisticsImportListener extends AnalysisEventListener<FaultSt
             }
         } catch (Exception e) {
             failureNum++;
-            String msg = "<br/>" + failureNum + "、故障统计 记录导入失败:";
+            String msg = "<br/>" + num + "、故障统计记录导入失败:";
             failureMsg.append(msg).append(e.getMessage());
             log.error(msg, e);
         }

+ 10 - 10
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/AlgorithmService.java

@@ -54,8 +54,8 @@ public class AlgorithmService implements IAlgorithmService {
     @Resource
     private IWarningService warningService;
 
-    @Resource
-    private IFalseAlarmResultService falseAlarmResultService;
+//    @Resource
+//    private IFalseAlarmResultService falseAlarmResultService;
 
     @Resource
     private IFaultDiagnosisService faultDiagnosisService;
@@ -173,6 +173,7 @@ public class AlgorithmService implements IAlgorithmService {
             warningResultBo.setHmc(el.getCode());
             warningResultBo.setAircraftId(algorithmBo.getAircraftId());
             warningResultBo.setName(el.getName());
+            List<WarningResultVo> warningResultVos = warningResultService.selectList(warningResultBo);
             if (ObjectUtil.isNotNull(logicVo)) {
                 ExpressBo expressBo = new ExpressBo();
                 expressBo.setExpression(logicVo.getRemarks());
@@ -180,13 +181,15 @@ public class AlgorithmService implements IAlgorithmService {
                 result = formulaService.evaluateExpression(expressBo);
                 warningResultBo.setAttribute1(logicVo.getName());
                 warningResultBo.setResultContent(String.valueOf(result));
-
             }
-            FalseAlarmResultBo falseAlarmResultBo = FalseAlarmResultBo.builder().falseAlarmId(algorithmBo.getDataId()).code(el.getCode()).name(el.getName()).aircraftId(el.getAircraftId()).sortieNo(el.getSortieNo()).status(String.valueOf(result))
-                .build();
-            falseAlarmResultService.insert(falseAlarmResultBo);
             warningResultBo.setResultContent(String.valueOf(result));
-            warningResultService.insert(warningResultBo);
+            if (CollUtil.isNotEmpty(warningResultVos)) {
+                warningResultBo.setId(warningResultVos.getFirst().getId());
+                warningResultBo.setVersion(warningResultVos.getFirst().getVersion());
+                warningResultService.update(warningResultBo);
+            } else {
+                warningResultService.insert(warningResultBo);
+            }
         });
         if (CollUtil.isNotEmpty(warningList)) {
             DataImportVo dataImportVo = dataImportService.selectById(algorithmBo.getDataId());
@@ -280,9 +283,6 @@ public class AlgorithmService implements IAlgorithmService {
             throw new BusinessException("模型信息为空,请检查!");
         }
         ModelVo modelVo = list.getFirst();
-
-//        List<SysOssVo> list = ossService.listSysOssByIds(Arrays.asList(algorithmBo.getOssIds()));
-
         List<String> urls = new ArrayList<>();
         for (Long ossId : algorithmBo.getOssIds()) {
             SysOssVo sysOss = ossService.getById(ossId);

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/FaultStatisticsServiceImpl.java


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov