Parcourir la source

检查记录表检查结果处理

chenshudong il y a 3 mois
Parent
commit
58cf83cb3c

+ 29 - 0
airport-check/src/main/java/com/sundot/airport/check/service/impl/CheckRecordServiceImpl.java

@@ -25,6 +25,7 @@ import com.sundot.airport.common.enums.BaseAttachmentSourceTypeEnum;
25 25
 import com.sundot.airport.common.enums.CheckLevelEnum;
26 26
 import com.sundot.airport.common.enums.CheckProjectItemTypeEnum;
27 27
 import com.sundot.airport.common.enums.CheckRecordStatusEnum;
28
+import com.sundot.airport.common.enums.CheckResultEnum;
28 29
 import com.sundot.airport.common.enums.CheckScoreLevelEnum;
29 30
 import com.sundot.airport.common.enums.CheckUserTypeEnum;
30 31
 import com.sundot.airport.common.exception.ServiceException;
@@ -367,12 +368,40 @@ public class CheckRecordServiceImpl extends ServiceImpl<CheckRecordMapper, Check
367 368
                     baseAttachment.setId(null);
368 369
                 });
369 370
             }
371
+            List<CheckProjectItem> projectItemList = checkRecord.getCheckProjectItemList();
372
+            if (CollUtil.isEmpty(projectItemList)) {
373
+                checkRecord.setCheckResult(CheckResultEnum.PASS.getCode());
374
+                checkRecord.setCheckResultDesc(CheckResultEnum.PASS.getDesc());
375
+            } else {
376
+                boolean hasUnqualifiedItem = projectItemList.stream().anyMatch(item -> item != null && !StringUtils.equals(CheckScoreLevelEnum.QUALIFIED.getCode(), item.getScoreLevel()));
377
+                if (hasUnqualifiedItem) {
378
+                    checkRecord.setCheckResult(CheckResultEnum.FAIL.getCode());
379
+                    checkRecord.setCheckResultDesc(CheckResultEnum.FAIL.getDesc());
380
+                } else {
381
+                    checkRecord.setCheckResult(CheckResultEnum.PASS.getCode());
382
+                    checkRecord.setCheckResultDesc(CheckResultEnum.PASS.getDesc());
383
+                }
384
+            }
370 385
             result = insertCheckRecord(checkRecord);
371 386
         } else {
372 387
             CheckRecord record = checkRecordMapper.selectById(checkRecord.getId());
373 388
             if (ObjUtil.isNull(record)) {
374 389
                 throw new ServiceException("根据id[" + checkRecord.getId() + "]未查询到检查单");
375 390
             }
391
+            List<CheckProjectItem> projectItemList = checkRecord.getCheckProjectItemList();
392
+            if (CollUtil.isEmpty(projectItemList)) {
393
+                checkRecord.setCheckResult(CheckResultEnum.PASS.getCode());
394
+                checkRecord.setCheckResultDesc(CheckResultEnum.PASS.getDesc());
395
+            } else {
396
+                boolean hasUnqualifiedItem = projectItemList.stream().anyMatch(item -> item != null && !StringUtils.equals(CheckScoreLevelEnum.QUALIFIED.getCode(), item.getScoreLevel()));
397
+                if (hasUnqualifiedItem) {
398
+                    checkRecord.setCheckResult(CheckResultEnum.FAIL.getCode());
399
+                    checkRecord.setCheckResultDesc(CheckResultEnum.FAIL.getDesc());
400
+                } else {
401
+                    checkRecord.setCheckResult(CheckResultEnum.PASS.getCode());
402
+                    checkRecord.setCheckResultDesc(CheckResultEnum.PASS.getDesc());
403
+                }
404
+            }
376 405
             result = updateCheckRecord(checkRecord);
377 406
         }
378 407
         //创建问题整改表单

+ 28 - 0
airport-common/src/main/java/com/sundot/airport/common/enums/CheckResultEnum.java

@@ -0,0 +1,28 @@
1
+package com.sundot.airport.common.enums;
2
+
3
+import lombok.AllArgsConstructor;
4
+import lombok.Getter;
5
+
6
+/**
7
+ * 检查结果枚举
8
+ */
9
+@Getter
10
+@AllArgsConstructor
11
+public enum CheckResultEnum {
12
+
13
+    PASS("PASS", "通过"),
14
+    FAIL("FAIL", "失败");
15
+
16
+    private final String code;
17
+    private final String desc;
18
+
19
+    public static CheckResultEnum getByCode(String code) {
20
+        for (CheckResultEnum itemEnum : values()) {
21
+            if (itemEnum.getCode().equals(code)) {
22
+                return itemEnum;
23
+            }
24
+        }
25
+        return null;
26
+    }
27
+
28
+}