From 1b74e131111650d28b5d67b7e6c1b62db57736ad Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期日, 01 九月 2024 14:52:39 +0800
Subject: [PATCH] 定时任务工单生成优化

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

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 b7b68f1..767691e 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
@@ -118,11 +118,14 @@
                 )).values().stream().collect(Collectors.toList());
         List<String> serialNumberList = workOrderList.stream().map(WorkOrder::getSerialNumber).collect(Collectors.toList());
         // 鏌ュ嚭鏁版嵁搴撲腑鍥芥爣鐮佸搴旂殑鏈畬鎴愮殑宸ュ崟
-        List<WorkOrder> inDatabaseWorkOrderList = new LambdaQueryChainWrapper<>(baseMapper)
-                .select(WorkOrder::getId, WorkOrder::getSerialNumber, WorkOrder::getStatus, WorkOrder::getWorkOrderNo)
-                .in(WorkOrder::getSerialNumber, serialNumberList)
-                .ne(WorkOrder::getStatus, WorkOrderStatusEnum.AUDITING_SUCCESS)
-                .list();
+        List<WorkOrder> inDatabaseWorkOrderList = baseMapper.getNotFinishedWorkOrders(serialNumberList);
+        inDatabaseWorkOrderList.stream().forEach(item -> {
+            if (StringUtils.hasText(item.getErrorType())) {
+                item.setErrorTypeList(List.of(item.getErrorType().split(",")));
+            } else {
+                item.setErrorTypeList(new ArrayList<>(1));
+            }
+        });
         Map<String, WorkOrder> mapping = inDatabaseWorkOrderList.stream().collect((Collectors.toMap(WorkOrder::getSerialNumber, workOrder -> workOrder)));
         List<WorkOrder> waitAddList = new ArrayList<>(48);
         List<WorkOrderErrorType> waitAddErrorTypeList = new ArrayList<>(48);
@@ -137,7 +140,7 @@
         for (WorkOrder workOrder : workOrderList) {
             WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
             if (Objects.nonNull(databaseWorkOrder)) {
-                List<String> errorNameList = workOrderErrorTypeService.getBaseMapper().getNotFinishWorkOrderErrors(databaseWorkOrder.getWorkOrderNo());
+                List<String> errorNameList = databaseWorkOrder.getErrorTypeList();
                 List<String> errorTypes = workOrder.getErrorTypeList();
                 if (errorNameList.containsAll(errorTypes)) {
                     // 濡傛灉锛屽浗鏍囩爜銆佹晠闅滅被鍨嬮兘涓�鏍凤紝鍒欒烦杩囦笉澶勭悊

--
Gitblit v1.8.0