From bbd11b01630c50ebedf68b2c6588b53a7bc7ba7e Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 28 六月 2024 10:32:43 +0800
Subject: [PATCH] refactor:批量审核选择故障类型

---
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml                       |    2 +-
 ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java |    6 +++---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java    |   16 +++++++++++++---
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
index e4551a7..f0059e8 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderBatchAuditingForm.java
@@ -28,9 +28,9 @@
     private String auditingRemark;
 
     /**
-     * 鎵归噺瀹℃牳ids
+     * 鏁呴殰绫诲瀷
      */
-    @NotEmpty(message = "瀹℃牳宸ュ崟涓嶈兘涓虹┖")
-    private List<Integer> ids;
+    @NotBlank(message = "鏁呴殰绫诲瀷涓嶈兘涓虹┖")
+    private String errorType;
 
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 745e24a..67a558c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -30,6 +30,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import java.time.LocalDateTime;
@@ -128,14 +129,24 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result batchAuditing(WorkOrderBatchAuditingForm form) {
+        // 鏍规嵁鏁呴殰绫诲瀷鑾峰彇鍒楄〃
+        List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
+                .in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue())
+                .eq(WorkOrder::getErrorType, form.getErrorType())
+                .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo)
+                .list();
+        if (list.isEmpty()) {
+            return Result.error("娌℃湁宸ュ崟鍙互瀹℃牳");
+        }
+        List<Integer> ids = list.stream().map(WorkOrder::getId).collect(Collectors.toList());
         // 宸ュ崟鐘舵��
         LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-        lambdaUpdateWrapper.in(WorkOrder::getId, form.getIds());
+        lambdaUpdateWrapper.in(WorkOrder::getId, ids);
         lambdaUpdateWrapper.set(WorkOrder::getStatus, form.getAuditingResult());
         baseMapper.update(lambdaUpdateWrapper);
         // 娣诲姞澶氭潯瀹℃牳璁板綍
         List<WorkOrderAuditingRecord> workOrderAuditingRecords = new ArrayList<>();
-        for (Integer id : form.getIds()) {
+        for (Integer id : ids) {
             WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
             workOrderAuditingRecord.setWorkOrderId(id);
             workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue());
@@ -145,7 +156,6 @@
         }
         workOrderAuditingRecordService.saveBatch(workOrderAuditingRecords);
         // 娣诲姞鏂伴�氱煡
-        List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper).in(WorkOrder::getId, form.getIds()).select(WorkOrder::getUnitId, WorkOrder::getWorkOrderNo).list();
         List<Notify> notifies = new ArrayList<>();
         for (WorkOrder workOrder : list) {
             Notify notify = Notify.genEntityByUnit(NotifyTypeEnum.WORK_ORDER,
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index 364b380..5b6c6f0 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -32,7 +32,7 @@
             <if test="query.status != null">
                 AND wo.status = #{query.status}
             </if>
-            <if test="query.errorType != null and query.errType != ''">
+            <if test="query.errorType != null and query.errorType != ''">
                 AND wo.error_type = #{query.errorType}
             </if>
             <if test="query.start != null">

--
Gitblit v1.8.0