From 5030ca2a8ab6637d0f6643bf6f0c5fb6e8868c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 10 Jul 2026 17:06:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E7=A7=BB=E4=BA=A4?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=8A=E7=A7=BB=E9=99=A4=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=A1=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockInOrderApplicationService.java | 32 +++++++++++++ .../StockOutOrderApplicationService.java | 48 +++++++++++++++++++ .../repository/todo/StockInOrderDO.java | 3 ++ .../repository/todo/StockOutOrderDO.java | 3 ++ .../dto/stockInOrder/StockInOrderDTO.java | 3 ++ .../dto/stockOutOrder/StockOutOrderDTO.java | 3 ++ .../stockInOrder/StockInOrderApi.java | 9 ++++ .../stockOutOrder/StockOutOrderApi.java | 19 ++++++++ 8 files changed, 120 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java index d73789cfa..32b3b6eb1 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java @@ -584,6 +584,38 @@ public class StockInOrderApplicationService { .eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId())); } + public void removeTask(StockInOrderDO stockInOrder){ + Long inOrderId = stockInOrder.getInOrderId(); + String removeUserId = stockInOrder.getRemoveUserId(); + if (removeUserId == null) { + throw new ServiceException("移除任务用户ID为空!"); + } + if (inOrderId == null) { + throw new ServiceException("入库单不存在!"); + } + StockInOrder stock = stockInOrderService.getById(inOrderId); + if (stock == null) { + throw new ServiceException("入库单不存在!"); + } + String taskIssueUserId = stock.getTaskIssueUserId(); + if (taskIssueUserId == null) { + return; + } + String[] split = taskIssueUserId.split(","); + List taskIds = Arrays.asList(split); + // 删除匹配元素 + taskIds.removeIf(str -> removeUserId.equals(str)); + if (taskIds != null && taskIds.size() > 0) { + String newTaskIssueUserId = String.join(",", taskIds); + stock.setTaskIssueUserId(newTaskIssueUserId); + stockInOrderService.updateById(stock); + } else { + stockInOrderService.update(null ,new LambdaUpdateWrapper() + .set(StockInOrder::getTaskIssueUserId, null) + .eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId())); + } + } + public void omsOrderAddDetail(List inMaterialDetails){ stockInOrderDomainService.omsOrderAddDetail(inMaterialDetails); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index dc276dd38..95f6d128d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.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.mhd.common.core.constant.SecurityConstants; import com.mhd.common.core.constant.SnowFlakeConstants; import com.mhd.common.core.domain.entity.R; @@ -51,6 +52,7 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder; import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount; import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService; import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper; +import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO; import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder; import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService; import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper; @@ -1617,6 +1619,52 @@ public class StockOutOrderApplicationService { + public void acceptTask(StockOutOrder stockOutOrder){ + Long workUserId = stockOutOrder.getWorkUserId(); + String workUserName = stockOutOrder.getWorkUserName(); + if (workUserId == null || workUserName == null) { + throw new ServiceException("作业人员id或名称为空!"); + } + stockOutOrderService.update(null, new LambdaUpdateWrapper() + .set(StockOutOrder::getWorkUserId, workUserId) + .set(StockOutOrder::getWorkUserName, workUserName) + .eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId())); + } + + public void removeTask(StockOutOrderDO stockOutOrder){ + Long outOrderId = stockOutOrder.getOutOrderId(); + String removeUserId = stockOutOrder.getRemoveUserId(); + if (removeUserId == null) { + throw new ServiceException("移除任务用户ID为空!"); + } + if (outOrderId == null) { + throw new ServiceException("出库单不存在!"); + } + StockOutOrder stock = stockOutOrderService.getById(outOrderId); + if (stock == null) { + throw new ServiceException("入库单不存在!"); + } + String taskIssueUserId = stock.getTaskIssueUserId(); + if (taskIssueUserId == null) { + return; + } + String[] split = taskIssueUserId.split(","); + List taskIds = Arrays.asList(split); + // 删除匹配元素 + taskIds.removeIf(str -> removeUserId.equals(str)); + if (taskIds != null && taskIds.size() > 0) { + String newTaskIssueUserId = String.join(",", taskIds); + stock.setTaskIssueUserId(newTaskIssueUserId); + stockOutOrderService.updateById(stock); + } else { + stockOutOrderService.update(null ,new LambdaUpdateWrapper() + .set(StockOutOrder::getTaskIssueUserId, null) + .eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId())); + } + } + + + public void omsOrderAdd(StockOutOrder stockOutOrder){ stockOutOrderDomainService.omsOrderAdd(stockOutOrder); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java index 97417bcf4..24a41d5ce 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java @@ -445,4 +445,7 @@ public class StockInOrderDO extends BaseVOEntity { @ApiModelProperty("任务下发用户ID") private String taskIssueUserId; + + @ApiModelProperty("任务移除用户ID") + private String removeUserId; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java index 875ba00fa..559c21fe9 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java @@ -510,4 +510,7 @@ public class StockOutOrderDO extends BaseVOEntity { private Long queryUserId; @ApiModelProperty("状态列表") private List statusList; + + @ApiModelProperty("任务移除用户ID") + private String removeUserId; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java index c1980e4f4..b70a0c7a7 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java @@ -442,4 +442,7 @@ public class StockInOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty("任务下发用户ID") private String taskIssueUserId; + + @ApiModelProperty("任务移除用户ID") + private String removeUserId; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java index 85e3d7c57..39e3c8793 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java @@ -499,4 +499,7 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO { private Long queryUserId; @ApiModelProperty("状态列表") private List statusList; + + @ApiModelProperty("任务移除用户ID") + private String removeUserId; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java index 3971d66cc..6e4ba98c4 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java @@ -181,6 +181,15 @@ public class StockInOrderApi extends BaseController { stockInOrderApplicationService.acceptTask(stockInOrder); } + /** + * oms下发单保存 + */ + @ApiOperation("pda取消接收任务") + @PostMapping(value = "/removeTask") + public void removeTask(@RequestBody StockInOrderDO stockInOrderDO) { + stockInOrderApplicationService.removeTask(stockInOrderDO); + } + /** * oms下发单明细保存 */ diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java index dcf644f9c..f44ea95bd 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java @@ -18,6 +18,7 @@ import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.stockInOrder.entity.StockInOrder; +import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO; import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder; import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService; import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService; @@ -464,6 +465,24 @@ public class StockOutOrderApi extends BaseController { stockOutOrderApplicationService.omsOrderAdd(stockOutOrder); } + /** + * oms下发单保存 + */ + @ApiOperation("pda接收任务") + @PostMapping(value = "/acceptTask") + public void acceptTask(@RequestBody StockOutOrder stockOutOrder) { + stockOutOrderApplicationService.acceptTask(stockOutOrder); + } + + /** + * oms下发单保存 + */ + @ApiOperation("pda取消接收任务") + @PostMapping(value = "/removeTask") + public void removeTask(@RequestBody StockOutOrderDO stockOutOrderDO) { + stockOutOrderApplicationService.removeTask(stockOutOrderDO); + } + /** * oms下发单明细保存 */