From f3b2acf58a68420591e9e4fac48056fa9af9ccc0 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期六, 24 八月 2024 16:50:09 +0800 Subject: [PATCH] feat:工单批量审核同步点位状态 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 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 fc7760c..908915b 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 @@ -28,10 +28,8 @@ import com.ycl.platform.wvp.WVPResult; import com.ycl.system.Result; import com.ycl.system.domain.SysConfig; -import com.ycl.system.entity.SysDictData; import com.ycl.system.mapper.SysConfigMapper; import com.ycl.system.mapper.SysDictDataMapper; -import com.ycl.system.mapper.SysDictTypeMapper; import com.ycl.system.model.LoginUser; import com.ycl.system.page.PageUtil; import com.ycl.utils.DateUtils; @@ -39,7 +37,10 @@ import com.ycl.utils.http.HttpUtils; import com.ycl.utils.redis.RedisCache; import com.ycl.utils.uuid.IdUtils; -import enumeration.general.*; +import enumeration.general.NotifyTypeEnum; +import enumeration.general.UrgentLevelEnum; +import enumeration.general.WorkOrderDistributeWayEnum; +import enumeration.general.WorkOrderStatusEnum; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -183,7 +184,7 @@ notAddList.add(workOrder); continue; } - workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); + workOrder.setWorkOrderNo(IdUtils.randomNO()); if (Objects.nonNull(point.getUnitId())) { workOrder.setUnitId(Math.toIntExact(point.getUnitId())); } @@ -213,7 +214,9 @@ } // 濡傛灉鏄洿鎺ヤ笅鍙戯紝娣诲姞涓嬪彂璁板綍 if (WorkOrderStatusEnum.DISTRIBUTED.equals(waitAddList.get(0).getStatus())) { + ArrayList<String> list = new ArrayList<>(); List<WorkOrderDistributeRecord> distributedRecordList = waitAddList.stream().map(item -> { + list.add(item.getSerialNumber()); WorkOrderDistributeRecord workOrderDistributeRecord = new WorkOrderDistributeRecord(); workOrderDistributeRecord.setWorkOrderNo(item.getWorkOrderNo()); workOrderDistributeRecord.setDistributeWay(WorkOrderDistributeWayEnum.DIRECT_DISTRIBUTE); @@ -223,6 +226,8 @@ return workOrderDistributeRecord; }).collect(Collectors.toList()); workOrderDistributeRecordMapper.insertBatch(distributedRecordList); + // 鍚屾鐐逛綅鐘舵�� + ywPointService.updateRecovery(list, 1); } log.info("浼犲叆宸ュ崟鎬绘暟: {}锛屽疄闄呮坊鍔犲伐鍗曟暟锛歿}, 瀹為檯淇敼宸ュ崟鏁帮細{}", total, waitAddList.size(), updateNum); return Boolean.TRUE; @@ -236,7 +241,7 @@ @Override public Result add(WorkOrderForm form) { WorkOrder entity = WorkOrderForm.getEntityByForm(form, null); - entity.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); + entity.setWorkOrderNo(IdUtils.randomNO()); entity.setCreateTime(DateUtils.getNowDate()); entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE); Date now = new Date(); @@ -294,7 +299,7 @@ notifyService.save(notify); // 鍚屾鐐逛綅鐘舵�� if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { - ywPointService.updateRecovery(Arrays.asList(workOrder.getSerialNumber()), 0); + ywPointService.updateRecovery(Collections.singletonList(workOrder.getSerialNumber()), 0); } return Result.ok("鎿嶄綔鎴愬姛"); } @@ -306,12 +311,13 @@ List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper) .in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue()) .in(WorkOrder::getErrorType, form.getErrorTypes()) - .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo) + .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo, WorkOrder::getSerialNumber) .list(); if (list.isEmpty()) { return Result.error("娌℃湁宸ュ崟鍙互瀹℃牳"); } List<Integer> ids = list.stream().map(WorkOrder::getId).collect(Collectors.toList()); + List<String> serialNumbers = list.stream().map(WorkOrder::getSerialNumber).toList(); // 宸ュ崟鐘舵�� LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); lambdaUpdateWrapper.in(WorkOrder::getId, ids); @@ -337,6 +343,10 @@ UrgentLevelEnum.WARNING, workOrder.getWorkOrderNo()); notifies.add(notify); + } + // 鍚屾鐐逛綅鐘舵�� + if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { + ywPointService.updateRecovery(serialNumbers, 0); } notifyService.saveBatch(notifies); return Result.ok("鎿嶄綔鎴愬姛"); @@ -469,7 +479,7 @@ // 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗� List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper) - .select(WorkOrder::getSerialNumber, WorkOrder::getSerialNumber) + .select(WorkOrder::getSerialNumber, WorkOrder::getWorkOrderNo) .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId()) .eq(WorkOrder::getErrorType, data.getErrorType()) @@ -508,7 +518,7 @@ query.setWorkOrderNOList(new LambdaQueryChainWrapper<>(baseMapper) .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) .eq(Objects.nonNull(query.getUnitId()), WorkOrder::getUnitId, query.getUnitId()) - .select(WorkOrder::getId) + .select(WorkOrder::getWorkOrderNo) .list() .stream() .map(WorkOrder::getWorkOrderNo) @@ -522,7 +532,7 @@ .update(); addDistributeRecord(query.getWorkOrderNOList(), distributeWayEnum); // 鍚屾鐐逛綅鐘舵�� - List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getId, query.getWorkOrderNOList()).list().stream().map(WorkOrder::getSerialNumber).toList(); + List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getWorkOrderNo, query.getWorkOrderNOList()).list().stream().map(WorkOrder::getSerialNumber).toList(); ywPointService.updateRecovery(serialNumberList, 1); return Result.ok("鎴愬姛涓嬪彂" + query.getWorkOrderNOList().size() + "鏉″伐鍗�"); } catch (Exception e) { -- Gitblit v1.8.0