From b4cdc6387eed6865d82414d476474ecdbf18f43f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 24 Mar 2026 16:47:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E9=A1=B9=E6=95=B0=E9=87=8F=E4=BF=AE=E6=94=B9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在PurchaseReturnController中新增updateItemNum方法用于修改采购退货订单项数量 - 在TransferCompanyController中新增updateItemNum方法用于修改转储公司订单项数量 - 在TransferFactoryController中新增updateItemNum方法用于修改工厂调拨订单项数量 - 新增UpdateItemNumRequest请求类用于接收数量修改参数 - 添加业务逻辑验证确保修改后的数量不低于最小限制值 - 更新TransferCompanyItemVO和TransferFactoryItemVO添加数量限制相关字段 --- .../controller/PurchaseReturnController.java | 17 +++++++++++++++++ .../controller/TransferCompanyController.java | 17 +++++++++++++++++ .../controller/TransferFactoryController.java | 17 +++++++++++++++++ .../common/pojo/vo/TransferCompanyItemVO.java | 9 +++++++++ .../common/pojo/vo/TransferFactoryItemVO.java | 9 +++++++++ 5 files changed, 69 insertions(+) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java index 6ea485c8..6a257ea9 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java @@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.nflg.wms.admin.pojo.dto.PdfPageDTO; +import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest; import com.nflg.wms.admin.service.BasdeSerialNumberControllerService; import com.nflg.wms.admin.service.SapService; import com.nflg.wms.admin.util.PdfGeneratorUtil; @@ -109,6 +110,22 @@ public class PurchaseReturnController extends BaseController { return ApiResult.success(vos); } + /** + * 修改订单项数量 + */ + @PostMapping("updateItemNum") + public ApiResult updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) { + WmsReturnRequestItem item = returnRequestItemService.getById(request.getId()); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在"); + BigDecimal min = item.getRequestQuantity().subtract(item.getLeft()); + VUtil.trueThrowBusinessError(request.getNum().compareTo(min) < 0).throwMessage("数量不能小于" + min); + BigDecimal difference = request.getNum().subtract(item.getRequestQuantity()); + item.setLeft(item.getLeft().add(difference)); + item.setRequestQuantity(request.getNum()); + returnRequestItemService.updateById(item); + return ApiResult.success(); + } + /** * 获取送货单的入库信息 * diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index bcb76e17..48f08c4e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -10,6 +10,7 @@ import com.nflg.wms.admin.pojo.dto.PdfPageDTO; import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO; import com.nflg.wms.admin.pojo.dto.ZWM3A17Item1DTO; import com.nflg.wms.admin.pojo.dto.ZWM3A17Item2DTO; +import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest; import com.nflg.wms.admin.repository.InMaterialScanRecordRespository; import com.nflg.wms.admin.repository.InventoryForOutRepository; import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository; @@ -223,6 +224,22 @@ public class TransferCompanyController extends BaseController { return ApiResult.success(vo); } + /** + * 修改订单项数量 + */ + @PostMapping("updateItemNum") + public ApiResult updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) { + WmsTransferCompanyItem item = transferCompanyItemService.getById(request.getId()); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在"); + BigDecimal min = item.getNum().subtract(item.getLeft()); + VUtil.trueThrowBusinessError(request.getNum().compareTo(min) < 0).throwMessage("数量不能小于" + min); + BigDecimal difference = request.getNum().subtract(item.getNum()); + item.setLeft(item.getLeft().add(difference)); + item.setNum(request.getNum()); + transferCompanyItemService.updateById(item); + return ApiResult.success(); + } + /** * 获取转储单(PDA使用) */ diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java index 4135f831..152d4168 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.nflg.wms.admin.pojo.dto.PdfPageDTO; +import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest; import com.nflg.wms.admin.repository.InMaterialScanRecordRespository; import com.nflg.wms.admin.repository.InventoryForOutRepository; import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository; @@ -221,6 +222,22 @@ public class TransferFactoryController extends BaseController { return ApiResult.success(vo); } + /** + * 修改订单项数量 + */ + @PostMapping("updateItemNum") + public ApiResult updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) { + WmsTransferFactoryItem item = transferFactoryItemService.getById(request.getId()); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在"); + BigDecimal min = item.getNum().subtract(item.getLeft()); + VUtil.trueThrowBusinessError(request.getNum().compareTo(min) < 0).throwMessage("数量不能小于" + min); + BigDecimal difference = request.getNum().subtract(item.getNum()); + item.setLeft(item.getLeft().add(difference)); + item.setNum(request.getNum()); + transferFactoryItemService.updateById(item); + return ApiResult.success(); + } + /** * 获取调拨单(PDA使用) */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java index 2ff377b7..b665271a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java @@ -140,6 +140,15 @@ public class TransferCompanyItemVO { return num.subtract(left); } + /** + * 转储数量最小值 + */ + private BigDecimal numLimit; + + public BigDecimal getNumLimit() { + return outNum; + } + /** * 已入库数量 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java index 344f6f83..b2321bb1 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java @@ -125,6 +125,15 @@ public class TransferFactoryItemVO { return num.subtract(left); } + /** + * 调库数量最小值 + */ + private BigDecimal numLimit; + + public BigDecimal getNumLimit() { + return num.subtract(left); + } + /** * 已入库数量 */