From 9c2530bafbd5f502fd9bdc9abaa7c357d6f91e86 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 06 八月 2024 17:46:00 +0800 Subject: [PATCH] 点位导入导出 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 61 +++++++++++++++++++++++++++--- 1 files changed, 55 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..415f927 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,8 @@ import enumeration.general.WorkOrderDistributeWayEnum; import enumeration.general.WorkOrderStatusEnum; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,6 +53,7 @@ * @author xp * @since 2024-03-05 */ +@Slf4j @Service @RequiredArgsConstructor public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService { @@ -59,12 +65,26 @@ 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 Boolean innerAdd(List<WorkOrder> workOrderList) { + int total = workOrderList.size(); + workOrderList.stream().filter(item -> { + return StringUtils.hasText(item.getSerialNumber()) && Objects.nonNull(item.getStatus()) && StringUtils.hasText(item.getErrorType()); + }); + // TODO 鑷姩涓嬪彂宸ュ崟 + int real = workOrderList.size(); + boolean result = this.saveBatch(workOrderList); + log.info("浼犲叆宸ュ崟鎬绘暟: {}锛屽疄闄呮坊鍔犲伐鍗曟暟锛歿}", total, real); + return result; + } /** * 娣诲姞 @@ -125,7 +145,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 +312,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 +321,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 +332,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 +365,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 +436,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