From 5bc6d4839f68e60a27e381d5411c479bcf529056 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 01 八月 2024 16:13:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 50 ++++++++++++++++++++++---------------------------- 1 files changed, 22 insertions(+), 28 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 053279c..6a4f2a8 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 @@ -23,15 +23,17 @@ import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; import com.ycl.utils.redis.RedisCache; -import enumeration.general.*; +import com.ycl.utils.uuid.IdUtils; +import enumeration.general.NotifyTypeEnum; +import enumeration.general.UrgentLevelEnum; +import enumeration.general.WorkOrderDistributeWayEnum; +import enumeration.general.WorkOrderStatusEnum; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; 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; @@ -39,7 +41,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -62,6 +63,7 @@ private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper; private final String DISTRIBUTE_LOCK_KEY = "distributeLock"; + private final static String IMPORTANT = "important"; @Autowired private RedisCache redisCache; @@ -74,10 +76,9 @@ @Override public Result add(WorkOrderForm form) { WorkOrder entity = WorkOrderForm.getEntityByForm(form, null); - entity.setWorkOrderNo(DateUtils.dateTimeNow()); + entity.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); entity.setCreateTime(DateUtils.getNowDate()); entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE); - entity.setDeleted("0"); if(baseMapper.insert(entity) > 0) { return Result.ok("娣诲姞鎴愬姛"); } @@ -257,8 +258,12 @@ @Override public Result distributePage(DistributeWorkOrderQuery query) { IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class); - // todo 鍏抽敭璇嶆悳绱� baseMapper.distributePage(page, query); + page.getRecords().stream().forEach(workOrder -> { + if (StringUtils.hasText(workOrder.getPointTag()) && workOrder.getPointTag().contains(IMPORTANT)) { + workOrder.setImportant(Boolean.TRUE); + } + }); return Result.ok().data(page).total(page.getTotal()); } @@ -266,44 +271,37 @@ public Result distributeFast(DistributeWorkOrderVO data) { // 鑾峰彇褰撳墠鏃堕棿 LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault()); + data.setEnd(now); 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) + List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper) + .select(WorkOrder::getId, WorkOrder::getPointId) .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(); + .list(); + List<Integer> ids = list.stream().map(WorkOrder::getId).toList(); + List<Integer> pointIds = list.stream().map(WorkOrder::getPointId).toList(); - if (ids.isEmpty()) { - return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); - } - if (!getDistributeLock()) { - return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); - } + if (ids.isEmpty()) { return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); } + if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); } try { new LambdaUpdateChainWrapper<>(baseMapper) .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) @@ -321,9 +319,7 @@ @Override public Result selectedIdsDistribute(DistributeWorkOrderQuery query) { WorkOrderDistributeWayEnum distributeWayEnum = WorkOrderDistributeWayEnum.SELECTED_DISTRIBUTE; - if (!getDistributeLock()) { - return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); - } + if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); } try { if (query.getIds().isEmpty()) { query.setIds(new LambdaQueryChainWrapper<>(baseMapper) @@ -336,9 +332,7 @@ .collect(Collectors.toList())); distributeWayEnum = WorkOrderDistributeWayEnum.ALL_DISTRIBUTE; } - if (query.getIds().isEmpty()) { - return Result.error("娌℃湁宸ュ崟寰呬笅鍙�"); - } + if (query.getIds().isEmpty()) { return Result.error("娌℃湁宸ュ崟寰呬笅鍙�"); } new LambdaUpdateChainWrapper<>(baseMapper) .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) .in(WorkOrder::getId, query.getIds()) -- Gitblit v1.8.0