From 4c55edc6f53989beb03bf36aabb469d76470b517 Mon Sep 17 00:00:00 2001 From: lohir <3399054449@qq.com> Date: 星期三, 23 十月 2024 15:43:48 +0800 Subject: [PATCH] 完成创建工单时对工单进行白名单判断 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 92 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 80 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 dba4383..8585b6e 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 @@ -3,6 +3,8 @@ import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; @@ -94,6 +96,7 @@ private final SysConfigMapper configMapper; private final ReportMapper reportMapper; private final WorkOrderCheckImgMapper workOrderCheckImgMapper; + private final WorkOrderWhiteMapper workOrderWhiteMapper; @Value("${rtsp.server:http://127.0.0.1:7788}") private String rtspServer; @@ -107,6 +110,11 @@ @Transactional(rollbackFor = Exception.class) public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) { int total = workOrderList.size(); + // 鏌ヨ鍑虹櫧鍚嶅崟鍒楄〃 + List<String> serialNumbers = workOrderWhiteMapper.selectList().stream().map(WorkOrderWhite::getSerialNumber).collect(Collectors.toList()); + // 閬嶅巻宸ュ崟鍒楄〃锛屽垽鏂槸鍚﹀湪鐧藉悕鍗曚腑 + workOrderList.stream().filter(item -> !serialNumbers.contains(item.getSerialNumber())) + .collect(Collectors.toList()); workOrderList.stream().filter(item -> { return StringUtils.hasText(item.getSerialNumber()) && Objects.nonNull(item.getStatus()) && !CollectionUtils.isEmpty(item.getErrorTypeList()); }); @@ -321,19 +329,26 @@ return Result.error("宸ュ崟姝e湪娣诲姞锛岃绋嶅悗鍐嶈瘯"); } WorkOrder entity = WorkOrderForm.getEntityByForm(form, null); - entity.setCreateTime(DateUtils.getNowDate()); - entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE); - Date now = new Date(); - entity.setCreateTime(now); - entity.setUpdateTime(now); - entity.setWorkOrderNo(IdUtils.workOrderNO(now, String.format("%05d", workOrderNum))); - entity.setErrorType(String.join(",", form.getErrorType())); - List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList(); - workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes); - if (baseMapper.insert(entity) > 0) { - return Result.ok("娣诲姞鎴愬姛"); + // 鏌ヨ鍑虹櫧鍚嶅崟鍒楄〃 + List<String> serialNumbers = workOrderWhiteMapper.selectList().stream().map(WorkOrderWhite::getSerialNumber).collect(Collectors.toList()); + // 閬嶅巻宸ュ崟鍒楄〃锛屽垽鏂槸鍚﹀湪鐧藉悕鍗曚腑 + if (serialNumbers.contains(entity.getSerialNumber())){ + return Result.error("璇ヨ澶囧湪鐧藉悕鍗曚腑锛屼笉鑳芥坊鍔犲伐鍗�"); + }else { + entity.setCreateTime(DateUtils.getNowDate()); + entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE); + Date now = new Date(); + entity.setCreateTime(now); + entity.setUpdateTime(now); + entity.setWorkOrderNo(IdUtils.workOrderNO(now, String.format("%05d", workOrderNum))); + entity.setErrorType(String.join(",", form.getErrorType())); + List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList(); + workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes); + if (baseMapper.insert(entity) > 0) { + return Result.ok("娣诲姞鎴愬姛"); + } + return Result.error("娣诲姞澶辫触"); } - return Result.error("娣诲姞澶辫触"); } /** @@ -985,4 +1000,57 @@ System.out.println(export); return export; } + + /** + * 宸ュ崟鐧藉悕鍗曞垪琛� + * + * @param query 鏌ヨ + * @return {@link List }<{@link WorkOrderWhite }> + * @author + */ + @Override + public Result selectWorkOrderWhiteList(WorkOrderWhiteQuery query) { + IPage<WorkOrderWhite> page = PageUtil.getPage(query, WorkOrderWhite.class); + workOrderWhiteMapper.page(page, query); + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } + + /** + * 娣诲姞宸ュ崟鐧藉悕鍗� + * + * @param workOrderWhite 鐧借壊宸ュ崟 + * @return {@link Result } + * @author + */ + @Override + public Result addWorkOrderWhite(WorkOrderWhite workOrderWhite) { + // 閫氳繃璁惧缂栫爜鏌ヨ璁惧淇℃伅 + YwPoint ywPoint = ywPointService.selectBySerialNumber(workOrderWhite.getSerialNumber()); + // 鏂板鐧藉悕鍗曡澶囪褰� + if (ywPoint == null){ + return Result.error("璁惧涓嶅瓨鍦�"); + } + // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄨ鐧藉悕鍗� + WorkOrderWhite flag = workOrderWhiteMapper.selectBySerialNumber(workOrderWhite.getSerialNumber()); + if (flag != null) { + return Result.error("璇ヨ澶囧凡瀛樺湪鐧藉悕鍗�"); + } else { + workOrderWhite.setPointName(ywPoint.getPointName()); + workOrderWhite.setCreateBy(SecurityUtils.getUsername()); + workOrderWhiteMapper.insert(workOrderWhite); + return Result.ok(); + } + } + + /** + * 鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗� + * + * @param ids ids + * @author + */ + @Override + public Result batchDeleteWorkOrderWhite(List<String> ids) { + workOrderWhiteMapper.batchDelete(ids); + return Result.ok(); + } } -- Gitblit v1.8.0