From 8f2e8522daf081ad4da027c39a776fdd9483b97e Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 15 九月 2025 15:20:51 +0800 Subject: [PATCH] 新需求 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 69 insertions(+), 2 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 d557e97..a138de8 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 @@ -27,10 +27,12 @@ import com.ycl.platform.wvp.WVPResult; import com.ycl.system.Result; import com.ycl.system.domain.SysConfig; +import com.ycl.system.entity.SysDept; import com.ycl.system.entity.SysDictData; import com.ycl.system.mapper.SysConfigMapper; import com.ycl.system.model.LoginUser; import com.ycl.system.page.PageUtil; +import com.ycl.system.service.ISysDeptService; import com.ycl.task.DeleteWorkOrderImgTask; import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; @@ -117,7 +119,14 @@ WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class); return self.batchAddWorkOrder(workOrderList); } - + private boolean isSameDay(Date date1, Date date2) { + if (date1 == null || date2 == null) { + return false; + } + LocalDate localDate1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDate localDate2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + return localDate1.isEqual(localDate2); + } @Transactional(rollbackFor = Exception.class) public Boolean batchAddWorkOrder(List<WorkOrder> workOrderList) { int total = workOrderList.size(); @@ -162,6 +171,15 @@ for (WorkOrder workOrder : workOrderList) { WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber()); if (Objects.nonNull(databaseWorkOrder)) { + //鍒ゆ柇鏄惁鏄粖澶╃殑宸ュ崟 + if (!isSameDay(databaseWorkOrder.getCreateTime(), now)) { + // 鑻ヤ负鍓嶄竴澶╃殑宸ュ崟锛屼笉鏇存柊锛岀洿鎺ュ綋浣滄柊宸ュ崟鏂板 + workOrder.setCreateTime(now); + workOrder.setUpdateTime(now); + waitAddList.add(workOrder); + continue; // 璺宠繃鍚庣画鐨勬洿鏂伴�昏緫 + } + List<String> errorNameList = databaseWorkOrder.getErrorTypeList(); List<String> errorTypes = workOrder.getErrorTypeList(); if (errorNameList.containsAll(errorTypes)) { @@ -591,6 +609,37 @@ return Result.ok("鎿嶄綔鎴愬姛"); } + @Override + public Result ywConditionList(WorkOrderYWConditionsForm form) { + List<WorkOrder> workOrderList = new LambdaQueryChainWrapper<>(baseMapper) + .in(WorkOrder::getWorkOrderNo,form.getWorkOrderNumbers()) + .list(); + System.out.println("--------------"); + System.out.println(workOrderList); + if (CollectionUtils.isEmpty(workOrderList)) { + throw new ServiceException("宸ュ崟涓嶅瓨鍦�"); + } + // 宸ュ崟鐘舵�� + for (WorkOrder workOrder : workOrderList) { + workOrder.setStatus(WorkOrderStatusEnum.YW_HANDLE); + workOrder.setYwHandleTime(LocalDateTime.now()); + } + baseMapper.updateMany(workOrderList); + // 娣诲姞涓�鏉¤繍缁存儏鍐佃褰� + for (WorkOrder workOrder : workOrderList) { + WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord(); + workOrderYwConditionRecord.setWorkOrderNo(workOrder.getWorkOrderNo()); + workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue()); + workOrderYwConditionRecord.setYwCondition(form.getYwCondition()); + workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials()); + workOrderYwConditionRecord.setSysMsg(Boolean.FALSE); + workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord); + WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class); + self.getImage(workOrder); + } + return Result.ok("鎿嶄綔鎴愬姛"); + } + @Async("threadPoolTaskExecutor") public void getImage(WorkOrder workOrder) { List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper) @@ -756,7 +805,7 @@ - + private final ISysDeptService deptService; /** * 鍒嗛〉鏌ヨ * @@ -765,6 +814,24 @@ */ @Override public Result page(WorkOrderQuery query) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + SysDept sysDept = null; + Long deptId =null; + if (loginUser.getDeptId() != null){ + deptId = loginUser.getDeptId(); + sysDept = deptService.selectDeptById(deptId); + } + //鏌ヨ鎸囧畾鍖烘暟鎹� + // 鐧诲綍璐﹀彿鐨勫瓨鍦ㄩ儴闂� 涓嶅湪閮ㄩ棬鍐呭氨涓嶄紶鍊硷紝榛樿鏌ヨ鍏ㄩ儴 + if (sysDept !=null){ + //鏇村叿閮ㄩ棬id鑾峰緱瀵瑰簲鏋氫妇 閮ㄩ棬code + AreaDeptEnum areaDeptEnum = AreaDeptEnum.fromDept(Math.toIntExact(sysDept.getDeptId())); + if (areaDeptEnum != null){ + query.setDept(areaDeptEnum.getCode()); + } + } + + IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class); if (query.getUnitId() == null) { query.setUnitId(SecurityUtils.getUnitId()); -- Gitblit v1.8.0