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/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 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 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, -- Gitblit v1.8.0