From 63387d35e36b272831f6963d2c21ecee4c6b766e Mon Sep 17 00:00:00 2001 From: liangzhou <594755172@qq.com> Date: Wed, 20 Nov 2024 23:37:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0=EF=BC=9A?= =?UTF-8?q?=201.=20=E5=A2=9E=E5=8A=A0=E9=94=81=E5=AE=9A=E8=A7=A3=E9=94=81?= =?UTF-8?q?=E7=AB=99=E5=8F=B0=E7=9A=84=E5=8A=9F=E8=83=BD=202.=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=88=9B=E5=BB=BA=E5=B7=A5=E4=BD=9C=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/wms/controller/JobComponent.java | 7 +++ .../com/wms/controller/TaskController.java | 61 ++++++++++++++++++- .../WmsJobServiceImplements.java | 4 -- 3 files changed, 67 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/wms/controller/JobComponent.java b/src/main/java/com/wms/controller/JobComponent.java index 499f473..0f5be48 100644 --- a/src/main/java/com/wms/controller/JobComponent.java +++ b/src/main/java/com/wms/controller/JobComponent.java @@ -23,6 +23,8 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import static com.wms.config.InitLocalConfig.configMap; import static com.wms.utils.StringUtils.convertJsonString; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.util.*; /** @@ -138,6 +140,11 @@ public class JobComponent { if (StringUtils.isEmpty(createWork) || !createWork.equals("1")) { return; } + // 判断当前时间是否在7:40到23:40之间 + LocalDateTime now = LocalDateTime.now(); + if (now.isBefore(LocalDateTime.of(now.toLocalDate(), LocalTime.of(7, 40))) || now.isAfter(LocalDateTime.of(now.toLocalDate(), LocalTime.of(23, 40)))) { + return; + } // 轮询工作站台,判断是否需要下发任务 List stands = standService.list(new LambdaQueryWrapper() .eq(Stand::getIsLock, 0).eq(Stand::getStandStatus, 0) diff --git a/src/main/java/com/wms/controller/TaskController.java b/src/main/java/com/wms/controller/TaskController.java index 97a124f..cdebd33 100644 --- a/src/main/java/com/wms/controller/TaskController.java +++ b/src/main/java/com/wms/controller/TaskController.java @@ -1885,9 +1885,19 @@ public class TaskController { } String finishResult = workService.finishWork(standId); if (Objects.equals(finishResult, "")) { + // 锁定当前站台 + String lockMessage; + if (standService.update(new LambdaUpdateWrapper() + .set(Stand::getStandStatus, 1) + .eq(Stand::getStandId, standId))) { + lockMessage = "锁定站台成功,整理完大盒子请点击整理结束按钮解锁。"; + } else { + lockMessage = "锁定站台失败,请手动锁定。"; + } + // 工作完成成功 response.setCode(ResponseCode.OK.getCode()); - response.setMessage("确认成功,请至收盒子界面完成后续操作。"); + response.setMessage("确认成功,请至收盒子界面完成后续操作。" + lockMessage); } else { // 工作完成失败 response.setCode(ResponseCode.ERROR.getCode()); @@ -2898,4 +2908,53 @@ public class TaskController { return convertJsonString(response); } } + + /** + * 请求整理盒子 + * + * @param sortBoxRequest 请求信息 + * @return 结果 + */ + @PostMapping("/finishSortBox") + @ResponseBody + @Transactional(isolation = Isolation.REPEATABLE_READ, propagation = Propagation.REQUIRED) + @MyLog(logTitle = "整理盒子结束", logMethod = "finishSortBox") + public String finishSortBox(@RequestBody SortBoxRequest sortBoxRequest) { + logger.info("整理盒子结束:{},ip地址:{}", convertJsonString(sortBoxRequest), HttpUtils.getIpAddr(servletRequest)); + ResponseEntity response = new ResponseEntity(); + try { + // 获取站台号 + Stand targetStand; + if (StringUtils.isNotEmpty(sortBoxRequest.getStandId())) { + // 站台号从请求参数中获取 + targetStand = standService.getById(sortBoxRequest.getStandId()); + } else { + // 站台号从ip获取 + targetStand = standService.getOne(new LambdaQueryWrapper() + .eq(Stand::getStandIp, HttpUtils.getIpAddr(servletRequest)) + .eq(Stand::getStandType, 2) + .last("limit 1")); + } + if (targetStand == null) { + logger.error("查询拣选站台错误。"); + response.setCode(ResponseCode.ERROR.getCode()); + response.setMessage("查询拣选站台错误。"); + return convertJsonString(response); + } + // 更新站台为可用状态 + targetStand.setStandStatus(0); + standService.updateById(targetStand); + logger.info("整理大盒子结束,解锁站台成功。"); + response.setCode(ResponseCode.OK.getCode()); + response.setMessage("整理大盒子结束,解锁站台成功。"); + return convertJsonString(response); + } catch (Exception e) { + // 回滚事务 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + logger.error("整理大盒子结束,解锁站台异常,{}", convertJsonString(e)); + response.setCode(ResponseCode.ERROR.getCode()); + response.setMessage("整理大盒子结束,解锁站台异常。"); + return convertJsonString(response); + } + } } \ No newline at end of file diff --git a/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java b/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java index aea23da..f3ff0a4 100644 --- a/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java +++ b/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java @@ -566,10 +566,6 @@ public class WmsJobServiceImplements implements IWmsJobService { .set(PickTask::getPickStatus, PickTaskStatusEnum.SEND.getCode()) .in(PickTask::getVehicleId, vehicleAndStansMap.keySet()) .eq(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode())); - pickTaskService.update(new LambdaUpdateWrapper() - .set(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode()) - .in(PickTask::getVehicleId, vehicleAndStansMap.keySet()) - .eq(PickTask::getPickStatus, PickTaskStatusEnum.TEMP.getCode())); } else { logger.error("发送拣选任务错误:{}", convertJsonString(result)); }