From 754f55b883b47ffbe2892f6256f54619939c1599 Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Mon, 5 Jan 2026 09:58:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E9=87=8D=E6=9E=84WCS=E5=92=8CWMS?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9C=8D=E5=8A=A1=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B4=A7=E4=BD=8D=E9=87=8D=E9=87=8F=E6=9F=A5=E8=AF=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增BasCargoSpaceWeight实体类用于货位重量统计 - 在BasCargoSpaceMapper中添加selectPlatByWeight方法查询每排重量 - 实现selectPlatByWeight方法的SQL查询逻辑 - 在IBasCargoSpaceService中添加selectPlatByWeight接口 - 实现selectPlatByWeight服务方法用于分配重量平衡的货位 - 更新RequestLogService接口添加sourceSystem参数 - 在ToErpApiController中添加接口调用日志记录功能 - 在ToMesApiController中添加接口调用日志记录功能 - 重构ToWcsApiController添加任务完成、重新分配等接口 - 移除IToWmsService中已废弃的接口方法 - 移除PdaController中已废弃的addInJob方法 - 在ToWcsServiceImpl中实现货位分配和任务处理逻辑 - 添加RequestEnterResponse用于返回货位分配结果 --- .../api/controller/ToErpApiController.java | 32 ++- .../api/controller/ToMesApiController.java | 20 +- .../api/controller/ToWcsApiController.java | 65 ++++- .../api/controller/ToWmsApiController.java | 75 ------ .../com/ruoyi/api/service/IToWcsService.java | 38 +-- .../com/ruoyi/api/service/IToWmsService.java | 31 --- .../api/service/impl/ToWcsServiceImpl.java | 254 +++++++++++++----- .../api/service/impl/ToWmsServiceImpl.java | 196 -------------- .../domain/BasCargoSpaceWeight.java | 13 + .../mapper/BasCargoSpaceMapper.java | 7 + .../service/IBasCargoSpaceService.java | 7 + .../impl/BasCargoSpaceServiceImpl.java | 19 ++ .../ruoyi/log/service/IRequestLogService.java | 2 +- .../service/impl/RequestLogServiceImpl.java | 6 +- .../ruoyi/pda/controller/PdaController.java | 8 - .../com/ruoyi/pda/service/PdaService.java | 1 - .../com/ruoyi/pda/service/PdaServiceImp.java | 14 - .../bas/cargoSpace/BasCargoSpaceMapper.xml | 10 + .../framework/config/SecurityConfig.java | 2 +- 19 files changed, 375 insertions(+), 425 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpaceWeight.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java index 48dd225..2d02513 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java @@ -1,11 +1,14 @@ package com.ruoyi.api.controller; +import cn.hutool.json.JSONUtil; import com.ruoyi.api.service.IToErpService; import com.ruoyi.bas.BasCustomer.domain.BasCustomer; import com.ruoyi.bas.BasProduct.domain.BasProduct; import com.ruoyi.bas.BasSupplier.domain.BasSupplier; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.in.stockin.domain.vo.InstockInVo; +import com.ruoyi.log.domain.RequestLog; +import com.ruoyi.log.service.IRequestLogService; import com.ruoyi.out.outStockout.domain.OutStockoutVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -22,20 +25,28 @@ public class ToErpApiController { @Autowired private IToErpService toErpService; + @Autowired + private IRequestLogService requestLogService; /** * 接收物料信息 */ @PostMapping("/receiveMaterial") public AjaxResult receiveMaterial(@RequestBody BasProduct basProduct) { - return toErpService.receiveMaterial(basProduct); + AjaxResult ajaxResult = toErpService.receiveMaterial(basProduct); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(basProduct), "接收ERP物料信息",ajaxResult, "ERP"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** * 接收客户信息 */ @PostMapping("/receiveCustomer") - public AjaxResult receiveCustomer(@RequestBody BasCustomer basProduct) { - return toErpService.receiveCustomer(basProduct); + public AjaxResult receiveCustomer(@RequestBody BasCustomer basCustomer) { + AjaxResult ajaxResult = toErpService.receiveCustomer(basCustomer); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(basCustomer), "接收ERP客户信息",ajaxResult, "ERP"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** @@ -43,7 +54,10 @@ public class ToErpApiController { */ @PostMapping("/receiveSupplier") public AjaxResult receiveSupplier(@RequestBody BasSupplier basSupplier) { - return toErpService.receiveSupplier(basSupplier); + AjaxResult ajaxResult = toErpService.receiveSupplier(basSupplier); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(basSupplier), "接收ERP供应商信息",ajaxResult, "ERP"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** @@ -51,7 +65,10 @@ public class ToErpApiController { */ @PostMapping("/receiveInBill") public AjaxResult receiveInBill(@RequestBody InstockInVo inStockinVo) { - return toErpService.receiveInBill(inStockinVo); + AjaxResult ajaxResult = toErpService.receiveInBill(inStockinVo); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(inStockinVo), "接收ERP入库单据信息",ajaxResult, "ERP"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** @@ -59,7 +76,10 @@ public class ToErpApiController { */ @PostMapping("/receiveOutBill") public AjaxResult receiveOutBill(@RequestBody OutStockoutVo outStockoutVo) { - return toErpService.receiveOutBill(outStockoutVo); + AjaxResult ajaxResult = toErpService.receiveOutBill(outStockoutVo); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(outStockoutVo), "接收ERP出库单据信息", ajaxResult, "ERP"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** * 单据信息回传 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToMesApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToMesApiController.java index 4572914..85cb5f3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToMesApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToMesApiController.java @@ -1,5 +1,6 @@ package com.ruoyi.api.controller; +import cn.hutool.json.JSONUtil; import com.ruoyi.api.service.IToErpService; import com.ruoyi.api.service.IToMesService; import com.ruoyi.bas.BasCustomer.domain.BasCustomer; @@ -7,6 +8,8 @@ import com.ruoyi.bas.BasProduct.domain.BasProduct; import com.ruoyi.bas.BasSupplier.domain.BasSupplier; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.in.stockin.domain.vo.InstockInVo; +import com.ruoyi.log.domain.RequestLog; +import com.ruoyi.log.service.IRequestLogService; import com.ruoyi.out.outStockout.domain.OutStockoutVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -20,13 +23,18 @@ public class ToMesApiController { @Autowired private IToMesService toMesService; + @Autowired + private IRequestLogService requestLogService; /** * 接收物料信息 */ @PostMapping("/receiveMaterial") public AjaxResult receiveMaterial(@RequestBody BasProduct basProduct) { - return toMesService.receiveMaterial(basProduct); + AjaxResult ajaxResult = toMesService.receiveMaterial(basProduct); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(basProduct), "接收MES物料信息",ajaxResult,"MES"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** @@ -34,7 +42,10 @@ public class ToMesApiController { */ @PostMapping("/receiveInBill") public AjaxResult receiveInBill(@RequestBody InstockInVo inStockinVo) { - return toMesService.receiveInBill(inStockinVo); + AjaxResult ajaxResult = toMesService.receiveInBill(inStockinVo); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(inStockinVo), "接收MES入库单据信息",ajaxResult,"MES"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** @@ -42,7 +53,10 @@ public class ToMesApiController { */ @PostMapping("/receiveOutBill") public AjaxResult receiveOutBill(@RequestBody OutStockoutVo outStockoutVo) { - return toMesService.receiveOutBill(outStockoutVo); + AjaxResult ajaxResult = toMesService.receiveOutBill(outStockoutVo); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(outStockoutVo), "接收MES出库单据信息",ajaxResult,"MES"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } /** * 单据信息回传 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java index 319a54d..93feced 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java @@ -1,8 +1,15 @@ package com.ruoyi.api.controller; +import cn.hutool.json.JSONUtil; import com.ruoyi.api.domain.AgvMoveParam; +import com.ruoyi.api.domain.ReMaterialParam; +import com.ruoyi.api.domain.RequestEnter; +import com.ruoyi.api.domain.WmsJobRequest; import com.ruoyi.api.service.IToWcsService; +import com.ruoyi.api.service.IToWmsService; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.log.domain.RequestLog; +import com.ruoyi.log.service.IRequestLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -19,14 +26,62 @@ public class ToWcsApiController { @Autowired private IToWcsService toWcsService; + @Autowired + private IToWmsService toWmsService; + @Autowired + private IRequestLogService requestLogService; /** - * 推送agv搬运作业 - * @return + * 获取入库作业 */ - @PostMapping("/pushAgvMoveJob") - public AjaxResult pushAgvMoveJob(@RequestBody AgvMoveParam agvMoveParam) { - return toWcsService.pushAgvMoveJob(agvMoveParam); + @RequestMapping("/requestEnterByTrayCodeAndEntranceId") + public AjaxResult requestEnterByTrayCodeAndEntranceId(@RequestBody RequestEnter requestEnter) { + AjaxResult ajaxResult = toWcsService.requestEnterByTrayCodeAndEntranceId(requestEnter); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "获取入库作业",ajaxResult,"WCS"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; } + + /** + * 入库、出库 任务完成回传 + * Map + * "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运, + * taskNo:出库 入库任务号 + * trayCode:托盘码 + * positionCode1:起点 + * positionCode2:终点 + * containerCode:容器编码 + * + */ + @PostMapping("/jobFinish") + public AjaxResult jobFinish(@RequestBody WmsJobRequest wmsJobRequest) { + AjaxResult ajaxResult = toWcsService.jobFinish(wmsJobRequest); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "jobFinish",ajaxResult,"WCS"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; + } + + /** + * 放货有货,重新分配货位 + */ + @PostMapping("/reAssign") + public AjaxResult reAssign(@RequestBody ReMaterialParam reMaterialParam) { + AjaxResult ajaxResult = toWcsService.reAssign(reMaterialParam); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "重新分配货位",ajaxResult,"WCS"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; + } + + /** + * 取货无货,重新分配物料 + */ + @PostMapping("/reMaterial") + public AjaxResult reMaterial(@RequestBody ReMaterialParam reMaterialParam) { + AjaxResult ajaxResult = toWcsService.reMaterial(reMaterialParam); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "重新分配物料",ajaxResult,"WCS"); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java index 6009697..ee08b8d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java @@ -23,84 +23,9 @@ import java.util.Map; @RequestMapping("/api2wms") public class ToWmsApiController { - @Autowired - private IToWmsService toWmsService; - @Autowired - private IRequestLogService requestLogService; - - /** - * 入库请求生成作业 - */ - @PostMapping("/requestEnterByTrayCode") - public AjaxResult requestEnterByTrayCode(@RequestBody RequestEnter requestEnter) { - AjaxResult ajaxResult = toWmsService.requestEnterByTrayCode(requestEnter); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "入库任务创建请求",ajaxResult); - requestLogService.insertRequestLog(requestLog); - return ajaxResult; - } - - /** - * 请求补码作业 - */ - @RequestMapping("/requestByNoTrayCode") - public AjaxResult requestByNoTrayCode(@RequestBody RequestEnter requestEnter) { - AjaxResult ajaxResult = toWmsService.selectMydoJobByEntranceId(requestEnter); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "请求补码作业",ajaxResult); - requestLogService.insertRequestLog(requestLog); - return ajaxResult; - } - - /** - * 获取入库作业 - */ - @RequestMapping("/requestEnterByTrayCodeAndEntranceId") - public AjaxResult requestEnterByTrayCodeAndEntranceId(@RequestBody RequestEnter requestEnter) { - AjaxResult ajaxResult = toWmsService.requestEnterByTrayCodeAndEntranceId(requestEnter); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "获取入库作业",ajaxResult); - requestLogService.insertRequestLog(requestLog); - return ajaxResult; - } - /** - * 入库、出库 任务完成回传 - * Map - * "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运, - * taskNo:出库 入库任务号 - * trayCode:托盘码 - * positionCode1:起点 - * positionCode2:终点 - * containerCode:容器编码 - * - */ - @PostMapping("/jobFinish") - public AjaxResult jobFinish(@RequestBody WmsJobRequest wmsJobRequest) { - AjaxResult ajaxResult = toWmsService.jobFinish(wmsJobRequest); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "jobFinish",ajaxResult); - requestLogService.insertRequestLog(requestLog); - return ajaxResult; - } - /** - * 放货有货,重新分配货位 - */ - @PostMapping("/reAssign") - public AjaxResult reAssign(@RequestBody ReMaterialParam reMaterialParam) { - AjaxResult ajaxResult = toWmsService.reAssign(reMaterialParam); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "reAssign",ajaxResult); - requestLogService.insertRequestLog(requestLog); - return ajaxResult; - } - /** - * 取货无货,重新分配物料 - */ - @PostMapping("/reMaterial") - public AjaxResult reMaterial(@RequestBody ReMaterialParam reMaterialParam) { - AjaxResult ajaxResult = toWmsService.reMaterial(reMaterialParam); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "reMaterial",ajaxResult); - requestLogService.insertRequestLog(requestLog); - return ajaxResult; - } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java index b8a6933..058af46 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java @@ -1,6 +1,9 @@ package com.ruoyi.api.service; import com.ruoyi.api.domain.AgvMoveParam; +import com.ruoyi.api.domain.ReMaterialParam; +import com.ruoyi.api.domain.RequestEnter; +import com.ruoyi.api.domain.WmsJobRequest; import com.ruoyi.common.core.domain.AjaxResult; import java.util.HashMap; @@ -14,24 +17,6 @@ public interface IToWcsService { * 推送CTU出库任务 */ void pushOutMydoJob(); - /** - * 推送agv搬运作业 - * @return - */ - AjaxResult pushAgvMoveJob(AgvMoveParam agvMoveParam); - - /** - * 推送流利架入库任务 - */ - void pushInMydoJob(); - - /** - * 出库作业确认 - * @param outMydojobMakeSureParam - * @return - */ - AjaxResult outMydojobMakeSure(HashMap outMydojobMakeSureParam); - /** * 取消任务 * @param taskNo @@ -39,5 +24,20 @@ public interface IToWcsService { */ AjaxResult cancelTaskByTaskNo(String taskNo); - + /** + * 入库任务请求根据托盘码和入口 + */ + AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter); + /** + * 入出库任务完成 + */ + AjaxResult jobFinish(WmsJobRequest wmsJobRequest); + /** + * 放货有货,重新分配货位 + */ + AjaxResult reAssign(ReMaterialParam reMaterialParam); + /** + * 取货无货,重新分配单据 + */ + AjaxResult reMaterial(ReMaterialParam reMaterialParam); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java index e7e2398..c05cf5a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java @@ -11,36 +11,5 @@ import java.util.Map; * 作业统计 Service 接口 */ public interface IToWmsService { - /** - * 入库任务请求根据托盘码 - */ - AjaxResult requestEnterByTrayCode(RequestEnter requestEnter); - AjaxResult selectMydoJobByEntranceId(RequestEnter requestEnter); - - /** - * 入库、出库 任务完成回传 - * Map - * "wmsType": "任务类型" 1-入库 2-出库 - * taskNo:出库 入库任务号 - * trayCode:托盘码 - * positionCode1:起点 - * positionCode2:终点 - * containerCode:容器编码 - * - */ - AjaxResult jobFinish(WmsJobRequest wmsJobRequest); - /** - * 放货有货,重新分配货位 - */ - AjaxResult reAssign(ReMaterialParam reMaterialParam); - /** - * 取货无货,重新分配物料 - */ - AjaxResult reMaterial(ReMaterialParam reMaterialParam); - - /** - * 获取入库作业 - */ - AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java index 0eacc68..275576c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java @@ -1,19 +1,30 @@ package com.ruoyi.api.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; -import com.ruoyi.api.domain.AgvMoveParam; +import com.ruoyi.api.domain.ReMaterialParam; +import com.ruoyi.api.domain.RequestEnter; +import com.ruoyi.api.domain.RequestEnterResponse; +import com.ruoyi.api.domain.WmsJobRequest; import com.ruoyi.api.service.IToWcsService; +import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; +import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.MessageUtils; -import com.ruoyi.device.agv.domain.AgvContainerTask; -import com.ruoyi.device.agv.service.IAgvContainerTaskService; import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.service.IMydoJobService; +import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; +import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; import com.ruoyi.log.domain.RequestLog; import com.ruoyi.log.service.IRequestLogService; +import com.ruoyi.out.outStockout.service.IOutStockoutService; +import com.ruoyi.pda.domain.TrayCodeMsg; +import com.ruoyi.pda.service.PdaService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -24,18 +35,22 @@ import java.util.*; * 作业统计 Service 实现 */ @Service +@Slf4j public class ToWcsServiceImpl implements IToWcsService { @Autowired private IRequestLogService requestLogService; @Autowired private IMydoJobService mydoJobService; @Autowired - private IAgvContainerTaskService agvContainerTaskService; + private IMydoJobDetailService mydoJobDetailService; + @Autowired + private IBasCargoSpaceService basCargoSpaceService; + @Autowired + private IOutStockoutService outStockoutService; + @Autowired + private PdaService pdaService; public static final String PUSH_OUT_MYDO_JOB = "http://localhost:10012/wcs2Wms/api/receiveOutMydoJob"; - public static final String PUSH_IN_MYDO_JOB = "http://localhost:10012/wcs2Wms/api/receiveInMydoJob"; - public static final String PUSH_AGV_MOVE_JOB = "http://localhost:10012/agv/api/receiveAgvMoveJob"; - public static final String OUT_MYDOJOB_MS = "http://localhost:10012/wcs2Wms/api/outMydojobMakesure"; public static final String CANCEL_MYDOJOB = "http://localhost:10012/wcs2Wms/api/cancelMydoJob"; @@ -62,60 +77,6 @@ public class ToWcsServiceImpl implements IToWcsService { } } - @Override - public AjaxResult pushAgvMoveJob(AgvMoveParam agvMoveParam) { - agvMoveParam.setTaskNo(IdUtil.fastSimpleUUID()); - RequestLog requestLog = requestLogService.getRequestLog(PUSH_AGV_MOVE_JOB, JSONUtil.toJsonStr(agvMoveParam), "推送搬运任务"); - if ("1".equals(requestLog.getIsSuccessful())){ - AgvContainerTask agvContainerTask = new AgvContainerTask(); - agvContainerTask.setContainer(agvMoveParam.getContainerCode()); - agvContainerTask.setStartPoint(agvMoveParam.getStartPoint()); - agvContainerTask.setEndPoint(agvMoveParam.getEndPoint()); - agvContainerTask.setStatus("0"); - agvContainerTask.setTaskNo(agvMoveParam.getTaskNo()); - agvContainerTask.setCreateTime(new Date()); - agvContainerTaskService.insertAgvContainerTask(agvContainerTask); - return AjaxResult.success(); - } - return AjaxResult.error(requestLog.getErrorDetails()); - } - - @Override - public void pushInMydoJob() { - MydoJob mydoJobParam = new MydoJob(); - mydoJobParam.setInOrOut("1"); - mydoJobParam.setStatus("1"); - List mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); - if (CollUtil.isNotEmpty(mydoJobs)){ - for (MydoJob mydoJob : mydoJobs) { - RequestLog requestLog = requestLogService.getRequestLog(PUSH_IN_MYDO_JOB, JSONUtil.toJsonStr(mydoJob), "推送出库任务"); - if ("1".equals(requestLog.getIsSuccessful())){ - mydoJob.setStatus("2"); - mydoJobService.updateMydoJob(mydoJob); - } - } - } - mydoJobParam.setEntranceId("fluent"); - mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); - if (CollUtil.isNotEmpty(mydoJobs)){ - for (MydoJob mydoJob : mydoJobs) { - RequestLog requestLog = requestLogService.getRequestLog(PUSH_IN_MYDO_JOB, JSONUtil.toJsonStr(mydoJob), "推送出库任务"); - if ("1".equals(requestLog.getIsSuccessful())){ - mydoJob.setStatus("2"); - mydoJobService.updateMydoJob(mydoJob); - } - } - } - } - - @Override - public AjaxResult outMydojobMakeSure(HashMap outMydojobMakeSureParam) { - RequestLog requestLog = requestLogService.getRequestLog(OUT_MYDOJOB_MS, JSONUtil.toJsonStr(outMydojobMakeSureParam), "推送出库任务"); - if ("1".equals(requestLog.getIsSuccessful())){ - return AjaxResult.success(); - } - return AjaxResult.error(requestLog.getDuration()); - } @Override public AjaxResult cancelTaskByTaskNo(String taskNo) { @@ -128,5 +89,174 @@ public class ToWcsServiceImpl implements IToWcsService { return AjaxResult.error(requestLog.getErrorDetails()); } + @Override + public AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter) { + HashMap result = new HashMap<>(); + if (StrUtil.isEmpty(requestEnter.getTrayCode())) { + return AjaxResult.error("托盘条码不能为空"); + } + if (requestEnter.getHeight()==0) { + return AjaxResult.error("未检测到入库高度"); + } + /*if (requestEnter.getWeight() ==0){ + return AjaxResult.error("未检测到入库重量"); + }*/ + + log.info("扫码内容{},入库高度{}", requestEnter.getTrayCode(), requestEnter.getHeight()); + + MydoJob param = new MydoJob(); + param.setStatus("1"); + param.setTrayCode(requestEnter.getTrayCode()); + param.setWarehouseId(requestEnter.getWarehouseId()); + List mydoJobs = mydoJobService.selectMydoJobListApi(param); + if (CollUtil.isEmpty(mydoJobs)){ + //生成杂料入库任务 + TrayCodeMsg trayCodeMsg = new TrayCodeMsg(); + trayCodeMsg.setTrayCode(requestEnter.getTrayCode()); + trayCodeMsg.setWarehouseId(requestEnter.getWarehouseId()); + pdaService.zlin(trayCodeMsg); + mydoJobs = mydoJobService.selectMydoJobListApi(param); + if (CollUtil.isEmpty(mydoJobs)){ + return AjaxResult.error("杂料入库任务生成失败", requestEnter.getTrayCode()); + } + } + MydoJob mydoJob = mydoJobs.get(0); + if(StrUtil.isEmpty(mydoJob.getCargoSpaceId())){ + //根据重量平衡 两排货位 + //查询重量 + BasCargoSpace basCargoSpaceParam = new BasCargoSpace(); + basCargoSpaceParam.setWarehouseId(requestEnter.getWarehouseId()); + basCargoSpaceParam.setRoadwayId(requestEnter.getRoadwayId()); + //找到重量小的排数 + Long plat = basCargoSpaceService.selectPlatByWeight(requestEnter); + basCargoSpaceParam.setThePlatoon(plat); + if (requestEnter.getHeight()==1){ + basCargoSpaceParam.setCargoHight("975"); + }else { + basCargoSpaceParam.setCargoHight("1519"); + } + //查找货位 + BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam); + if (ObjUtil.isNull(basCargoSpace)){ + //去除排的条件 再次查询货位 + basCargoSpaceParam.setThePlatoon(null); + basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam); + if (ObjUtil.isNull(basCargoSpace)){ + return AjaxResult.error("没有空货位"); + } + } + + //修改作业状态为正执行 + mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId()); + mydoJob.setStatus("3"); + mydoJob.setStartTime(DateUtil.formatDateTime(new Date())); + mydoJob.setRoadwayId(requestEnter.getRoadwayId()); + mydoJob.setLineId(Convert.toStr(requestEnter.getWeight())); + mydoJobService.updateMydoJob(mydoJob); + + //修改货位状态为已分配 + basCargoSpace.setStatus("3"); + basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + } + + //返回结果 + result.put("jobId", mydoJob.getJobId()); + result.put("taskNo", mydoJob.getTaskNo()); + result.put("cargoSpaceId", mydoJob.getCargoSpaceId()); + result.put("roadwayId", mydoJob.getRoadwayId()); + result.put("entranceId", mydoJob.getEntranceId()); + result.put("inOrOut", mydoJob.getInOrOut()); + return AjaxResult.success(result); + } + + @Override + public AjaxResult jobFinish(WmsJobRequest wmsJobRequest) { + MydoJob mydoJobParam = new MydoJob(); + switch (wmsJobRequest.getWmsType()) { + case "1": + + if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) { + return AjaxResult.error("任务号不能为空"); + } + if (StrUtil.isEmpty(wmsJobRequest.getJobId())) { + return AjaxResult.error("任务Id不能为空"); + } + //入库 + mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo()); + mydoJobParam.setJobId(wmsJobRequest.getJobId()); + List inMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); + if (inMydoJobs.isEmpty()) { + return AjaxResult.error("任务不存在"); + } + MydoJob inMydoJob = inMydoJobs.get(0); + mydoJobService.manualCompleted(inMydoJob, 1); + break; + case "2": + + if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) { + return AjaxResult.error("任务号不能为空"); + } + //出库 + mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo()); + List outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); + if (outMydoJobs.isEmpty()) { + return AjaxResult.error("任务不存在"); + } + MydoJob outJob = outMydoJobs.get(0); + outJob.setExecutionPhase("2"); + mydoJobService.updateMydoJob(outJob); + if (outJob.getInOrOut().equals("23")){ + String[] jobIds = new String[]{outJob.getJobId()}; + mydoJobService.OuthandFinish(jobIds); + } + break; + + default: + log.error("作业类型错误"); + return AjaxResult.error(MessageUtils.message("error.message12")); + } + return AjaxResult.success(); + } + + @Override + public AjaxResult reAssign(ReMaterialParam reMaterialParam) { + //重新分配货位 + MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId()); + //先标记原来货位有问题 + String cargoSpaceId = mydoJob.getCargoSpaceId(); + BasCargoSpace oldBasCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(cargoSpaceId); + oldBasCargoSpace.setStatus("5"); + basCargoSpaceService.updateBasCargoSpace(oldBasCargoSpace); + String warehouseId = mydoJob.getWarehouseId(); + BasCargoSpace basCargoSpaceParam = new BasCargoSpace(); + basCargoSpaceParam.setWarehouseId(warehouseId); + basCargoSpaceParam.setRoadwayId(mydoJob.getRoadwayId()); + BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam); + if (basCargoSpace == null) { + return AjaxResult.error("没有空货位"); + } else { + mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId()); + mydoJob.setFaultFlag("1"); + mydoJobService.updateMydoJob(mydoJob); + basCargoSpace.setStatus("3"); + basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + return AjaxResult.success(new RequestEnterResponse(basCargoSpace.getCargoSpaceId(), mydoJob.getTrayCode(), mydoJob.getJobId())); + } + } + + @Override + public AjaxResult reMaterial(ReMaterialParam reMaterialParam) { + //重新分配物料 + MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId()); + MydoJobDetail mydoJobDetailParam = new MydoJobDetail(); + mydoJobDetailParam.setJobId(mydoJob.getJobId()); + List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam); + String stockOutId = mydoJobDetails.get(0).getInOrOutId(); + // 作废作业 + mydoJobService.OuthandInvalidation(new String[]{mydoJob.getJobId()}); + //调用自动分配 + return outStockoutService.autoAllot(stockOutId); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index 1b4a1e1..13004ef 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -9,28 +9,11 @@ import com.ruoyi.api.domain.ReMaterialParam; import com.ruoyi.api.domain.RequestEnter; import com.ruoyi.api.domain.RequestEnterResponse; import com.ruoyi.api.domain.WmsJobRequest; -import com.ruoyi.api.service.IToErpService; import com.ruoyi.api.service.IToWmsService; -import com.ruoyi.bas.BasProduct.domain.BasProduct; -import com.ruoyi.bas.BasProduct.service.IBasProductService; -import com.ruoyi.bas.BasProductCode.util.ProcodeUtils; -import com.ruoyi.bas.basJobId.service.IBasJobIdService; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; -import com.ruoyi.bas.container.service.IBasContainerService; -import com.ruoyi.bas.roadway.domain.BasRoadway; -import com.ruoyi.bas.roadway.service.IBasRoadwayService; -import com.ruoyi.bas.tag.service.IBasTagService; -import com.ruoyi.bas.taskNo.service.IBasTaskNoService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.MessageUtils; -import com.ruoyi.device.agv.service.IAgvContainerTaskService; -import com.ruoyi.in.erp.domain.TransferBillCallback; -import com.ruoyi.in.erp.service.ITransferBillCallbackService; -import com.ruoyi.in.stockin.domain.InStockin; -import com.ruoyi.in.stockin.service.IInStockinService; -import com.ruoyi.in.stockindetail.domain.InStockinDetail; -import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; @@ -46,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.HashMap; import java.util.List; -import java.util.Map; /** * 作业统计 Service 实现 @@ -66,186 +48,8 @@ public class ToWmsServiceImpl implements IToWmsService { private PdaService pdaService; - @Override - @Transactional(rollbackFor = Exception.class) - public AjaxResult requestEnterByTrayCode(RequestEnter requestEnter) { - return null; - } - @Override - public AjaxResult selectMydoJobByEntranceId(RequestEnter requestEnter) { - MydoJob param = new MydoJob(); - param.setStatus("1"); - param.setEntranceId(requestEnter.getEntranceId()); - MydoJob mydoJob = mydoJobService.selectMydoJobByEntranceId(param); - HashMap result = new HashMap<>(); - result.put("jobId", mydoJob.getJobId()); - result.put("taskNo", mydoJob.getTaskNo()); - result.put("cargoSpaceId", mydoJob.getCargoSpaceId()); - result.put("roadwayId", mydoJob.getRoadwayId()); - result.put("entranceId", mydoJob.getEntranceId()); - return AjaxResult.success(result); - } - - @Override - public AjaxResult jobFinish(WmsJobRequest wmsJobRequest) { - MydoJob mydoJobParam = new MydoJob(); - switch (wmsJobRequest.getWmsType()) { - case "1": - - if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) { - return AjaxResult.error("任务号不能为空"); - } - if (StrUtil.isEmpty(wmsJobRequest.getJobId())) { - return AjaxResult.error("任务Id不能为空"); - } - //入库 - mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo()); - mydoJobParam.setJobId(wmsJobRequest.getJobId()); - List inMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); - if (inMydoJobs.isEmpty()) { - return AjaxResult.error("任务不存在"); - } - MydoJob inMydoJob = inMydoJobs.get(0); - mydoJobService.manualCompleted(inMydoJob, 1); - break; - case "2": - - if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) { - return AjaxResult.error("任务号不能为空"); - } - //出库 - mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo()); - List outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); - if (outMydoJobs.isEmpty()) { - return AjaxResult.error("任务不存在"); - } - MydoJob outJob = outMydoJobs.get(0); - outJob.setExecutionPhase("2"); - mydoJobService.updateMydoJob(outJob); - if (outJob.getInOrOut().equals("23")){ - String[] jobIds = new String[]{outJob.getJobId()}; - mydoJobService.OuthandFinish(jobIds); - } - break; - - default: - log.error("作业类型错误"); - return AjaxResult.error(MessageUtils.message("error.message12")); - } - return AjaxResult.success(); - } - - @Override - public AjaxResult reAssign(ReMaterialParam reMaterialParam) { - //重新分配货位 - MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId()); - //先标记原来货位有问题 - String cargoSpaceId = mydoJob.getCargoSpaceId(); - BasCargoSpace oldBasCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(cargoSpaceId); - oldBasCargoSpace.setStatus("5"); - basCargoSpaceService.updateBasCargoSpace(oldBasCargoSpace); - String warehouseId = mydoJob.getWarehouseId(); - BasCargoSpace basCargoSpaceParam = new BasCargoSpace(); - basCargoSpaceParam.setWarehouseId(warehouseId); - basCargoSpaceParam.setRoadwayId(mydoJob.getRoadwayId()); - BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam); - if (basCargoSpace == null) { - return AjaxResult.error("没有空货位"); - } else { - mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId()); - mydoJob.setFaultFlag("1"); - mydoJobService.updateMydoJob(mydoJob); - basCargoSpace.setStatus("3"); - basCargoSpaceService.updateBasCargoSpace(basCargoSpace); - return AjaxResult.success(new RequestEnterResponse(basCargoSpace.getCargoSpaceId(), mydoJob.getTrayCode(), mydoJob.getJobId())); - } - } - - @Override - public AjaxResult reMaterial(ReMaterialParam reMaterialParam) { - //重新分配物料 - MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId()); - MydoJobDetail mydoJobDetailParam = new MydoJobDetail(); - mydoJobDetailParam.setJobId(mydoJob.getJobId()); - List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam); - String stockOutId = mydoJobDetails.get(0).getInOrOutId(); - // 作废作业 - mydoJobService.OuthandInvalidation(new String[]{mydoJob.getJobId()}); - //调用自动分配 - return outStockoutService.autoAllot(stockOutId); - } - - @Override - //@Transactional(rollbackFor = Exception.class) - public AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter) { - HashMap result = new HashMap<>(); - if (StrUtil.isEmpty(requestEnter.getTrayCode())) { - return AjaxResult.error("托盘条码不能为空"); - } - if (requestEnter.getHeight()==0) { - return AjaxResult.error("未检测到入库高度"); - } - /*if (requestEnter.getWeight() ==0){ - return AjaxResult.error("未检测到入库重量"); - }*/ - - log.info("扫码内容{},入库高度{}", requestEnter.getTrayCode(), requestEnter.getHeight()); - - MydoJob param = new MydoJob(); - param.setStatus("1"); - param.setTrayCode(requestEnter.getTrayCode()); - param.setWarehouseId(requestEnter.getWarehouseId()); - List mydoJobs = mydoJobService.selectMydoJobListApi(param); - if (CollUtil.isEmpty(mydoJobs)){ - //生成杂料入库任务 - TrayCodeMsg trayCodeMsg = new TrayCodeMsg(); - trayCodeMsg.setTrayCode(requestEnter.getTrayCode()); - trayCodeMsg.setWarehouseId(requestEnter.getWarehouseId()); - pdaService.zlin(trayCodeMsg); - mydoJobs = mydoJobService.selectMydoJobListApi(param); - if (CollUtil.isEmpty(mydoJobs)){ - return AjaxResult.error("杂料入库任务生成失败", requestEnter.getTrayCode()); - } - } - MydoJob mydoJob = mydoJobs.get(0); - if(StrUtil.isEmpty(mydoJob.getCargoSpaceId())){ - BasCargoSpace basCargoSpaceParam = new BasCargoSpace(); - basCargoSpaceParam.setWarehouseId(requestEnter.getWarehouseId()); - basCargoSpaceParam.setRoadwayId(requestEnter.getRoadwayId()); - if (requestEnter.getHeight()==1){ - basCargoSpaceParam.setCargoHight("975"); - }else { - basCargoSpaceParam.setCargoHight("1519"); - } - BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam); - if (ObjUtil.isNull(basCargoSpace)){ - return AjaxResult.error("没有空货位"); - } - - //修改作业状态为正执行 - mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId()); - mydoJob.setStatus("3"); - mydoJob.setStartTime(DateUtil.formatDateTime(new Date())); - mydoJob.setRoadwayId(requestEnter.getRoadwayId()); - mydoJob.setLineId(Convert.toStr(requestEnter.getWeight())); - mydoJobService.updateMydoJob(mydoJob); - - //修改货位状态为已分配 - basCargoSpace.setStatus("3"); - basCargoSpaceService.updateBasCargoSpace(basCargoSpace); - } - - //返回结果 - result.put("jobId", mydoJob.getJobId()); - result.put("taskNo", mydoJob.getTaskNo()); - result.put("cargoSpaceId", mydoJob.getCargoSpaceId()); - result.put("roadwayId", mydoJob.getRoadwayId()); - result.put("entranceId", mydoJob.getEntranceId()); - result.put("inOrOut", mydoJob.getInOrOut()); - return AjaxResult.success(result); - } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpaceWeight.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpaceWeight.java new file mode 100644 index 0000000..45680ea --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpaceWeight.java @@ -0,0 +1,13 @@ +package com.ruoyi.bas.cargoSpace.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BasCargoSpaceWeight { + private String thePlatoon; + private String weightSum; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java index 8358230..bb2066e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.bas.cargoSpace.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; +import com.ruoyi.bas.cargoSpace.domain.BasCargoSpaceWeight; import com.ruoyi.bas.warehouse.domain.BasWarehouse; import java.util.List; @@ -84,4 +85,10 @@ public interface BasCargoSpaceMapper extends BaseMapper * @return 库存信息集合 */ public List selectBasCargoSpaceListByRoadway(BasCargoSpace basCargoSpace); + /** + * 查询每排重量 + * @param basCargoSpaceParam + * @return + */ + Double selectPlatByWeight(BasCargoSpace basCargoSpaceParam); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/IBasCargoSpaceService.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/IBasCargoSpaceService.java index 42c6ead..279195b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/IBasCargoSpaceService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/IBasCargoSpaceService.java @@ -1,6 +1,7 @@ package com.ruoyi.bas.cargoSpace.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.api.domain.RequestEnter; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.warehouse.domain.BasWarehouse; @@ -76,4 +77,10 @@ public interface IBasCargoSpaceService extends IService * @return 库存信息集合 */ public List selectBasCargoSpaceListByRoadway(BasCargoSpace basCargoSpace); + /** + * 获取要分配的货位 + * @param requestEnter + * @return + */ + Long selectPlatByWeight(RequestEnter requestEnter); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java index 65ff0bd..53bf2da 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java @@ -1,7 +1,10 @@ package com.ruoyi.bas.cargoSpace.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.api.domain.RequestEnter; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; +import com.ruoyi.bas.cargoSpace.domain.BasCargoSpaceWeight; import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.bas.warehouse.domain.BasWarehouse; @@ -113,4 +116,20 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl= platWeight2){ + return 2L; + }else { + return 1L; + } + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java b/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java index 48c15c8..c49824a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java @@ -76,5 +76,5 @@ public interface IRequestLogService * @param remark * @return */ - public RequestLog getRequestLog(String param, String remark, AjaxResult ajaxResult); + public RequestLog getRequestLog(String param, String remark, AjaxResult ajaxResult,String sourceSystem); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java index 6ce8db7..934e830 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java @@ -154,12 +154,12 @@ public class RequestLogServiceImpl implements IRequestLogService * @return requestLog */ @Override - public RequestLog getRequestLog(String param, String remark,AjaxResult ajaxResult) { + public RequestLog getRequestLog(String param, String remark,AjaxResult ajaxResult,String sourceSystem) { RequestLog requestLog = new RequestLog(); requestLog.setRequestTime(DateUtil.formatDateTime(new Date())); requestLog.setRequestBody(param); - requestLog.setSourceSystem("wms"); - requestLog.setTargetSystem("wcs"); + requestLog.setSourceSystem(sourceSystem); + requestLog.setTargetSystem("WMS"); requestLog.setEndpoint(remark); requestLog.setRequestMethod("post"); requestLog.setResponseTime(DateUtil.formatDateTime(new Date())); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java index 24431b3..b757815 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java @@ -50,14 +50,6 @@ public class PdaController extends BaseController { private PdaService pdaService; -/** - * 入库扫码生成作业 - */ - @RequestMapping("/addInJob") - @ResponseBody - public AjaxResult addInJob(@RequestBody RequestEnter requestEnter) { - return pdaService.addInJob(requestEnter); - } @RequestMapping("/selectDetailByTray") @ResponseBody diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java index 91a064b..4604a4f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java @@ -14,7 +14,6 @@ public interface PdaService { - public AjaxResult addInJob(RequestEnter requestEnter); public AjaxResult selectDetailByTray(TrayCodeMakeSure trayCodeMakeSure); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index 50e9029..fbd51db 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -58,21 +58,7 @@ public class PdaServiceImp implements PdaService { private BasStockMapper basStockMapper; - @Override - public AjaxResult addInJob(RequestEnter requestEnter) { - if(requestEnter.getEntranceId()!=null && "G1005".equals(requestEnter.getEntranceId())){ - MydoJob mydoJob = new MydoJob(); - mydoJob.setEntranceId(requestEnter.getEntranceId()); - mydoJob.setStatus("1"); - MydoJob mydoJob1 = mydoJobService.selectMydoJobByEntranceId(mydoJob); - if(mydoJob1!=null){ - return AjaxResult.error("该入口已有补码作业"); - } - } - AjaxResult ajaxResult = iToWmsService.requestEnterByTrayCode(requestEnter); - return ajaxResult; - } @Override public AjaxResult selectDetailByTray(TrayCodeMakeSure trayCodeMakeSure) { diff --git a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml index 3349a32..0e76d6f 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml @@ -184,6 +184,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and locked = 'N' and warehouse_id = #{warehouseId} and roadway_id = #{roadwayId} + and cargo_hight = #{cargoHight} ORDER BY the_floor,the_column,the_platoon + + diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index df49abb..70014cf 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -104,7 +104,7 @@ public class SecurityConfig // 静态资源,可匿名访问 .requestMatchers(HttpMethod.GET, "/", "/*.html", "/**.html", "/**.css", "/**.js", "/profile/**").permitAll() .requestMatchers("/swagger-ui.html", "/v3/api-docs/**", "/swagger-ui/**", "/druid/**").permitAll() - .requestMatchers("/api/**","/api2wms/**","/api2erp/**","/api2mes/**").permitAll() + .requestMatchers("/api/**","/api2wms/**","/api2erp/**","/api2mes/**","/api2wcs/**").permitAll() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated(); })