From 6dd308df5a1a288f6de850a43c6479d41638083b Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 22 八月 2024 18:51:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 45 +++++++++++++++++++++++++++++++++------------ 1 files changed, 33 insertions(+), 12 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 6e8b5db..c298405 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 @@ -28,7 +28,10 @@ import com.ycl.platform.wvp.WVPResult; import com.ycl.system.Result; import com.ycl.system.domain.SysConfig; +import com.ycl.system.entity.SysDictData; import com.ycl.system.mapper.SysConfigMapper; +import com.ycl.system.mapper.SysDictDataMapper; +import com.ycl.system.mapper.SysDictTypeMapper; import com.ycl.system.model.LoginUser; import com.ycl.system.page.PageUtil; import com.ycl.utils.DateUtils; @@ -84,6 +87,7 @@ private final SysConfigMapper configMapper; private final ServerConfig serverConfig; private final ReportMapper reportMapper; + private final SysDictDataMapper dictDataMapper; @Value("${rtsp.server:http://127.0.0.1:7788}") private String rtspServer; @@ -118,16 +122,31 @@ for (WorkOrder workOrder : workOrderList) { WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber()); if (Objects.nonNull(databaseWorkOrder)) { + List<WorkOrderErrorType> workOrderErrorTypeList = new LambdaQueryChainWrapper<>(workOrderErrorTypeMapper) + .select(WorkOrderErrorType::getErrorName) + .eq(WorkOrderErrorType::getWorkOrderNo, workOrder.getWorkOrderNo()) + .list(); + List<String> errorNameList = workOrderErrorTypeList.stream().map(WorkOrderErrorType::getErrorName).collect(Collectors.toList()); String errorType = databaseWorkOrder.getErrorType(); - if (workOrder.getErrorType().equals(errorType)) { + if (errorNameList.contains(errorType)) { // 濡傛灉锛屽浗鏍囩爜銆佹晠闅滅被鍨嬮兘涓�鏍凤紝鍒欒烦杩囦笉澶勭悊 continue; } else { - // 閿欒绫诲瀷涓嶄竴鏍凤紝灏辨洿鏂伴敊璇被鍨嬶紝骞朵笖閲嶇疆宸ュ崟鐘舵�佷负寰呭鐞� - errorType = errorType + "," + workOrder.getErrorType(); - databaseWorkOrder.setErrorType(errorType); - databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); + // 閿欒绫诲瀷涓嶄竴鏍凤紝灏辨柊澧炰竴涓敊璇被鍨嬶紝骞朵笖閲嶇疆宸ュ崟鐘舵�佷负寰呭鐞� + List<SysDictData> errorTypeDictList = dictDataMapper.selectDictDataByType("error_type"); + String finalErrorType = errorType; + List<SysDictData> targetErrorTypes = errorTypeDictList.stream().filter(item -> finalErrorType.equals(item.getDictValue())).collect(Collectors.toList()); + if (! CollectionUtils.isEmpty(targetErrorTypes)) { + errorType = targetErrorTypes.get(0).getDictValue(); + } + WorkOrderErrorType workOrderErrorType = new WorkOrderErrorType(); + workOrderErrorType.setWorkOrderNo(databaseWorkOrder.getWorkOrderNo()); Date now = new Date(); + workOrderErrorType.setCreateTime(now); + workOrderErrorType.setUpdateTime(now); + workOrderErrorTypeMapper.insert(workOrderErrorType); + + databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); databaseWorkOrder.setUpdateTime(now); baseMapper.updateById(databaseWorkOrder); updateNum++; @@ -142,11 +161,11 @@ } else { workOrder.setCreateTime(new Date()); workOrder.setUpdateTime(new Date()); - // 濡傛灉鎶ュ杩囷紝浣跨敤鏈�鏂版姤澶囩殑閿欒绫诲瀷 - Report report = reportMapper.checkPointReported(workOrder.getSerialNumber()); - if (Objects.nonNull(report)) { - workOrder.setErrorType(report.getErrorType()); - } +// // 濡傛灉鎶ュ杩囷紝浣跨敤鏈�鏂版姤澶囩殑閿欒绫诲瀷 +// Report report = reportMapper.checkPointReported(workOrder.getSerialNumber()); +// if (Objects.nonNull(report)) { +// workOrder.setErrorType(report.getErrorType()); +// } waitAddList.add(workOrder); } } @@ -215,8 +234,8 @@ Date now = new Date(); entity.setCreateTime(now); entity.setUpdateTime(now); - entity.setErrorType(form.getErrorType().stream().map(ErrorTypeEnum::getValue).collect(Collectors.joining(","))); - List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType.getValue())).toList(); + entity.setErrorType(String.join(",", form.getErrorType())); + List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList(); workOrderErrorTypeMapper.insertWorkOrderErrorTypeList(workOrderErrorTypes); if(baseMapper.insert(entity) > 0) { return Result.ok("娣诲姞鎴愬姛"); @@ -402,6 +421,7 @@ public Result page(WorkOrderQuery query) { IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class); baseMapper.page(page, query); + page.getRecords().forEach(item -> item.setErrorType(ErrorTypeEnum.getEnumValue(item.getErrorType()))); return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -409,6 +429,7 @@ public Result distributePage(DistributeWorkOrderQuery query) { IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class); baseMapper.distributePage(page, query); + page.getRecords().forEach(item -> item.setErrorType(ErrorTypeEnum.getEnumValue(item.getErrorType()))); return Result.ok().data(page).total(page.getTotal()); } -- Gitblit v1.8.0