From e3f24df0b080f4b55abe05864b7f52e6393820b3 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 06 八月 2024 11:09:16 +0800 Subject: [PATCH] 内部新增工单方法 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 63 ++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 6 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 39f6dff..24b0eae 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 @@ -9,10 +9,13 @@ import com.ycl.platform.domain.entity.*; import com.ycl.platform.domain.form.*; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; +import com.ycl.platform.domain.query.HomeQuery; +import com.ycl.platform.domain.query.ScreenQuery; import com.ycl.platform.domain.query.WorkOrderQuery; import com.ycl.platform.domain.vo.DistributeWorkOrderVO; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO; +import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO; import com.ycl.platform.mapper.*; import com.ycl.platform.service.NotifyService; import com.ycl.platform.service.WorkOrderAuditingRecordService; @@ -30,6 +33,7 @@ import enumeration.general.WorkOrderDistributeWayEnum; import enumeration.general.WorkOrderStatusEnum; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -59,12 +63,30 @@ private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper; private final NotifyService notifyService; private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper; + private final TMonitorMapper monitorMapper; private final String DISTRIBUTE_LOCK_KEY = "distributeLock"; private final static String IMPORTANT = "important"; @Autowired private RedisCache redisCache; + + @Override + public Result innerAdd(WorkOrder workOrder) throws Exception { + if (! StringUtils.hasText(workOrder.getSerialNumber())) { + throw new Exception("鍒涘缓宸ュ崟鏃讹紝璇蜂紶閫掕澶囩紪鐮�"); + } + if (Objects.isNull(workOrder.getStatus())) { + throw new Exception("鍒涘缓宸ュ崟鏃讹紝璇蜂紶閫掑伐鍗曠姸鎬�"); + } + if (! StringUtils.hasText(workOrder.getErrorType())) { + throw new Exception("鍒涘缓宸ュ崟鏃讹紝璇蜂紶閫掑紓甯哥被鍨�"); + } + workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); + workOrder.setCreateTime(DateUtils.getNowDate()); + baseMapper.insert(workOrder); + return Result.ok(); + } /** * 娣诲姞 @@ -125,7 +147,7 @@ notifyService.save(notify); // 鍚屾鐐逛綅鐘舵�� if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { - ywPointService.updateRecovery(Collections.singletonList(workOrder.getPointId()), 0); + ywPointService.updateRecovery(Arrays.asList(workOrder.getSerialNumber()), 0); } return Result.ok("鎿嶄綔鎴愬姛"); } @@ -292,7 +314,7 @@ // 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗� List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper) - .select(WorkOrder::getId, WorkOrder::getPointId) + .select(WorkOrder::getSerialNumber, WorkOrder::getSerialNumber) .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId()) .eq(WorkOrder::getErrorType, data.getErrorType()) @@ -301,7 +323,7 @@ .last("limit " + data.getFastNumLimit()) .list(); List<Integer> ids = list.stream().map(WorkOrder::getId).toList(); - List<Integer> pointIds = list.stream().map(WorkOrder::getPointId).toList(); + List<String> serialNumberList = list.stream().map(WorkOrder::getSerialNumber).toList(); if (ids.isEmpty()) { return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); } if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); } @@ -312,7 +334,7 @@ .update(); addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE); // 鍚屾鐐逛綅鐘舵�� - ywPointService.updateRecovery(pointIds, 1); + ywPointService.updateRecovery(serialNumberList, 1); return Result.ok("鎴愬姛涓嬪彂" + ids.size() + "鏉″伐鍗�"); } catch (Exception e) { return Result.error("鎿嶄綔澶辫触"); @@ -345,8 +367,8 @@ .update(); addDistributeRecord(query.getIds(), distributeWayEnum); // 鍚屾鐐逛綅鐘舵�� - List<Integer> pointIds = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getPointId).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getPointId).toList(); - ywPointService.updateRecovery(pointIds, 1); + List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getSerialNumber).toList(); + ywPointService.updateRecovery(serialNumberList, 1); return Result.ok("鎴愬姛涓嬪彂" + query.getIds().size() + "鏉″伐鍗�"); } catch (Exception e) { return Result.error("鎿嶄綔澶辫触"); @@ -416,4 +438,33 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + + @Override + public Result screenWorkOrder(ScreenQuery query) { + ScreenWorkOrderVO screen = baseMapper.screenWorkOrder(query); + return Result.ok().data(screen); + } + + @Override + public Map<String, Object> home(HomeQuery monitorQuery) { + Map<String, Object> dataMap = new HashMap<>(); + Map<String, Object> data1 = new HashMap<>(); + Map<String, Object> data2 = new HashMap<>(); + Map<String, Object> data3 = new HashMap<>(); + List<Map<String, Object>> home = baseMapper.home(monitorQuery); + if (ObjectUtils.isNotEmpty(home)) { + for (Map<String, Object> map : home) { + if (Objects.nonNull(map.get("dateType")) && StringUtils.hasText(map.get("dateType").toString())) { + data1.put(map.get("dateType").toString(), map.get("num1")); + data2.put(map.get("dateType").toString(), map.get("num2")); + data3.put(map.get("dateType").toString(), map.get("num3")); + } + } + dataMap.put("name", home.get(0).get("name")); + } + dataMap.put("complete", data1); + dataMap.put("waiting", data2); + dataMap.put("pending", data3); + return dataMap; + } } -- Gitblit v1.8.0