From 1de0d92e2a630927f391ae080709ae678e5f5618 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期三, 17 四月 2024 15:28:46 +0800 Subject: [PATCH] 工单事后报备:新增点位id --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 66 ++++++++++++++++++++++++++------- 1 files changed, 52 insertions(+), 14 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 992da03..f136b80 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 @@ -14,6 +14,9 @@ import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.query.WorkOrderQuery; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.Arrays; import java.util.List; @@ -107,8 +110,12 @@ workOrderAuditingRecord.setRemark(form.getAuditingRemark()); workOrderAuditingRecordMapper.insert(workOrderAuditingRecord); // 娣诲姞鏂伴�氱煡 - Notify notify = new Notify(NotifyTypeEnum.WORK_ORDER, form.getAuditingResult().getDesc(), workOrder.getYwPeopleId(), "0", "0", workOrder.getId()); - notifyService.save(notify); + try { + Notify notify = new Notify(NotifyTypeEnum.WORK_ORDER, form.getAuditingResult().getDesc(), workOrder.getYwPeopleId(), "0", "0", workOrder.getId()); + notifyService.save(notify); + } catch (Exception e) { + return Result.error("瀹℃牳鎴愬姛锛岄�氱煡杩愮淮浜哄憳澶辫触"); + } return Result.ok("鎿嶄綔鎴愬姛"); } @@ -156,7 +163,7 @@ return Result.ok().data( new LambdaQueryChainWrapper<>(workOrderAuditingRecordMapper) .eq(WorkOrderAuditingRecord::getWorkOrderId, id) - .orderByDesc(WorkOrderAuditingRecord::getCreateTime) + .orderByAsc(WorkOrderAuditingRecord::getCreateTime) .list()); } @@ -261,26 +268,57 @@ @Override public Result distributeFast(DistributeWorkOrderVO data) { - List<WorkOrder> willDistributeList = new ArrayList<>(32); - // 濡傛灉鏄嚜瀹氫箟鏃堕棿鑼冨洿 - if (FastDistributeTypeEnum.CUSTOM == data.getFastWay()) { + // 鑾峰彇褰撳墠鏃堕棿 + LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault()); + switch (data.getFastWay()) { + case LAST_HALF_HOUR: + data.setStart(now.minusMinutes(30)); + data.setEnd(now); + break; + case LAST_HOUR: + data.setStart(now.minusHours(1)); + data.setEnd(now); + break; + case LAST_TWO_HOUR: + data.setStart(now.minusHours(2)); + data.setEnd(now); + break; + case LAST_DAY: + data.setStart(now.minusDays(1)); + data.setEnd(now); + break; + } + List<Integer> ids = new LambdaQueryChainWrapper<>(baseMapper) + .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) + .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId()) + .eq(WorkOrder::getErrorType, data.getErrorType()) + .between(WorkOrder::getCreateTime, data.getStart(), data.getEnd()) + .orderByDesc(WorkOrder::getCreateTime) + .last("limit " + data.getFastNumLimit()) + .list() + .stream() + .map(WorkOrder::getId) + .toList(); + + if (ids.isEmpty()) { + return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); + } else { + new LambdaUpdateChainWrapper<>(baseMapper) + .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) + .in(WorkOrder::getId, ids) + .update(); } - - new LambdaUpdateChainWrapper<>(baseMapper) - .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) - .update(); - - return Result.ok("鎿嶄綔鎴愬姛"); + return Result.ok("鎴愬姛涓嬪彂" + ids.size() + "鏉″伐鍗�"); } @Override - public Result selectedIdsDistribute(List<Integer> ids) { + public Result selectedIdsDistribute(List<Integer> ids, Integer unitId) { new LambdaUpdateChainWrapper<>(baseMapper) .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) .in(ArrayUtils.isNotEmpty(ids.toArray()), WorkOrder::getId, ids) .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) - // .eq(WorkOrder::getDeleted, 0) + .eq(Objects.nonNull(unitId), WorkOrder::getUnitId, unitId) .update(); return Result.ok("鎿嶄綔鎴愬姛"); } -- Gitblit v1.8.0