From abd5e9985bd0b4ac0d20ec16eaf2c5577790d6c9 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 26 八月 2024 19:51:26 +0800 Subject: [PATCH] 批量修改设备厂商类型 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 63 +++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 21 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 e632cf6..a668898 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 @@ -121,6 +121,12 @@ List<WorkOrderErrorType> waitAddErrorTypeList = new ArrayList<>(48); Integer updateNum = 0; Date now = new Date(); + // 鍥犳晠闅滅被鍨嬩笉涓�鑷磋�岃鏇存柊鐘舵�佺殑宸ュ崟 + List<WorkOrder> willUpdateStatusWorkOrderList = new ArrayList<>(48); + // 鏇存敼宸ュ崟绫诲瀷鑰岃澧炲姞鐨勭郴缁熻繍缁村鐞嗕俊鎭� + List<WorkOrderYwConditionRecord> willAddMsg = new ArrayList<>(48); + // 鍗冲皢瑕佹坊鍔犵殑閿欒绫诲瀷 + List<WorkOrderErrorType> willAddErrorType = new ArrayList<>(96); for (WorkOrder workOrder : workOrderList) { WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber()); if (Objects.nonNull(databaseWorkOrder)) { @@ -138,20 +144,21 @@ workOrderErrorType.setCreateTime(now); workOrderErrorType.setUpdateTime(now); workOrderErrorType.setErrorName(errorType); - workOrderErrorTypeService.save(workOrderErrorType); + willAddErrorType.add(workOrderErrorType); } } databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); databaseWorkOrder.setUpdateTime(now); - baseMapper.updateById(databaseWorkOrder); + willUpdateStatusWorkOrderList.add(databaseWorkOrder); updateNum++; // 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣 WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord(); - ywRecord.setWorkOrderId(databaseWorkOrder.getId()); + ywRecord.setWorkOrderNo(databaseWorkOrder.getWorkOrderNo()); ywRecord.setCommitUser(1); ywRecord.setYwCondition("鏁呴殰绫诲瀷鏇存柊锛屽伐鍗曠姸鎬佽皟鏁翠负寰呭鐞�"); ywRecord.setCreateTime(new Date()); - workOrderYwConditionRecordMapper.insert(ywRecord); + ywRecord.setSysMsg(Boolean.TRUE); + willAddMsg.add(ywRecord); } } else { workOrder.setCreateTime(new Date()); @@ -163,6 +170,15 @@ // } waitAddList.add(workOrder); } + } + if (willAddErrorType.size() > 0) { + workOrderErrorTypeService.getBaseMapper().addMany(willAddErrorType); + } + if (willAddMsg.size() > 0) { + workOrderYwConditionRecordMapper.insertMany(willAddMsg); + } + if (willUpdateStatusWorkOrderList.size() > 0) { + this.baseMapper.updateMany(willUpdateStatusWorkOrderList); } if (CollectionUtils.isEmpty(waitAddList)) { return Boolean.TRUE; @@ -184,7 +200,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())); } @@ -241,7 +257,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(); @@ -285,7 +301,7 @@ baseMapper.updateById(workOrder); // 娣诲姞涓�鏉″鏍歌褰� WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord(); - workOrderAuditingRecord.setWorkOrderId(workOrder.getId()); + workOrderAuditingRecord.setWorkOrderNo(workOrder.getWorkOrderNo()); workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue()); workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc()); workOrderAuditingRecord.setRemark(form.getAuditingRemark()); @@ -299,7 +315,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("鎿嶄綔鎴愬姛"); } @@ -311,22 +327,23 @@ 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> workOrderNoList = list.stream().map(WorkOrder::getWorkOrderNo).collect(Collectors.toList()); + List<String> serialNumbers = list.stream().map(WorkOrder::getSerialNumber).toList(); // 宸ュ崟鐘舵�� LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); - lambdaUpdateWrapper.in(WorkOrder::getId, ids); + lambdaUpdateWrapper.in(WorkOrder::getWorkOrderNo, workOrderNoList); lambdaUpdateWrapper.set(WorkOrder::getStatus, form.getAuditingResult()); baseMapper.update(lambdaUpdateWrapper); // 娣诲姞澶氭潯瀹℃牳璁板綍 List<WorkOrderAuditingRecord> workOrderAuditingRecords = new ArrayList<>(); - for (Integer id : ids) { + for (String workOrderNo : workOrderNoList) { WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord(); - workOrderAuditingRecord.setWorkOrderId(id); + workOrderAuditingRecord.setWorkOrderNo(workOrderNo); workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue()); workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc()); workOrderAuditingRecord.setRemark(form.getAuditingRemark()); @@ -342,6 +359,10 @@ UrgentLevelEnum.WARNING, workOrder.getWorkOrderNo()); notifies.add(notify); + } + // 鍚屾鐐逛綅鐘舵�� + if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { + ywPointService.updateRecovery(serialNumbers, 0); } notifyService.saveBatch(notifies); return Result.ok("鎿嶄綔鎴愬姛"); @@ -360,7 +381,7 @@ baseMapper.updateById(workOrder); // 娣诲姞涓�鏉¤繍缁存儏鍐佃褰� WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord(); - workOrderYwConditionRecord.setWorkOrderId(workOrder.getId()); + workOrderYwConditionRecord.setWorkOrderNo(workOrder.getWorkOrderNo()); workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue()); workOrderYwConditionRecord.setYwCondition(form.getYwCondition()); workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials()); @@ -370,8 +391,8 @@ } @Override - public Result selectYwConditionByYwId(Integer id) { - List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(id); + public Result selectYwConditionByYwId(String workOrderNo) { + List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(workOrderNo); ywConditionList.stream().forEach(item -> { if (Objects.nonNull(item.getSysMsg()) && item.getSysMsg()) { item.setCommitUserName("绯荤粺娑堟伅"); @@ -381,10 +402,10 @@ } @Override - public Result selectYwAuditingListByYwId(String id) { + public Result selectYwAuditingListByYwId(String workOrderNo) { return Result.ok().data( new LambdaQueryChainWrapper<>(workOrderAuditingRecordMapper) - .eq(WorkOrderAuditingRecord::getWorkOrderId, id) + .eq(WorkOrderAuditingRecord::getWorkOrderNo, workOrderNo) .orderByAsc(WorkOrderAuditingRecord::getCreateTime) .list()); } @@ -474,7 +495,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()) @@ -513,7 +534,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) @@ -527,7 +548,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