From 7e9198feb1e3ce6c8be42fc3f09fe04ebc070e44 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 28 May 2026 15:16:58 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=A6=85=E9=81=93bug#1566=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=9B2=E3=80=81=E8=A7=A3=E5=8C=85=E4=B8=8D?= =?UTF-8?q?=E4=BD=9C=E6=93=8D=E4=BD=9C=E7=9B=B4=E6=8E=A5=E5=B0=81=E5=8C=85?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/manage/pack/PackController.java | 6 ++-- .../manage/pack/vo/PackageDetailReqVO.java | 32 +++++++++++++++++++ .../service/manage/pack/PackService.java | 4 +-- .../service/manage/pack/PackServiceImpl.java | 25 +++++++++------ 4 files changed, 53 insertions(+), 14 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailReqVO.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java index f013f909d..b740a1d49 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java @@ -57,12 +57,12 @@ public class PackController { return success(packService.getOrderPack(reqVO)); } - @GetMapping("/packageDetails/{packageNo}") + @PostMapping("/packageDetail") @Operation(summary = "查询包裹编号对应的包裹中的明细") @Parameter(name = "packageNo", description = "包裹编号", required = true) @PreAuthorize("@ss.hasAnyPermissions('manage:pack:pack-details','manage:pack:query')") - public CommonResult> queryOrdersPackageDetails(@PathVariable String packageNo){ - return success(packService.getOrdersPackageDetails(packageNo)); + public CommonResult> queryOrdersPackageDetail(@Valid @RequestBody PackageDetailReqVO reqVO){ + return success(packService.getOrdersPackageDetails(reqVO)); } @GetMapping("/packageDetails/{orderId}/{packageNo}") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailReqVO.java new file mode 100644 index 000000000..8ad37b32a --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailReqVO.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.executor.controller.admin.manage.pack.vo; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.ToString; +import org.hibernate.validator.constraints.Length; + +import java.util.List; + + +@Schema(description = "管理后台 - 查看订单下的包裹明细") +@Data +@ToString(callSuper = true) +public class PackageDetailReqVO extends PageParam { + + @Schema(description = "订单号列表", requiredMode = Schema.RequiredMode.REQUIRED) + @Size(max = 100, message = "订单号列表长度不能超过 100 个") + @NotEmpty(message = "订单号列表不能为空") + private List orderIds; + + @Schema(description = "包裹编号") + @Pattern(regexp = "^[0-9]*$",message = "包裹编号必须为数字") + @Length(max = 13,message = "包裹编号长度不能超过 13 位") + @NotNull(message = "包裹编号不能为空") + private String packageNo; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackService.java index c2b346de5..46865cbfd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackService.java @@ -78,10 +78,10 @@ public interface PackService { /** * 获取包裹板件、配件详情 * - * @param packageNo + * @param reqVO * @return */ - List getOrdersPackageDetails(String packageNo); + List getOrdersPackageDetails(PackageDetailReqVO reqVO); /** * 获取包裹板件、配件详情 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java index 407b99d28..ce0f8c14b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java @@ -232,8 +232,16 @@ public class PackServiceImpl implements PackService { OrderPackagDO existPackageDO = validateOrdersExists(orderIds, packNo); + // 新增/删除 板件配件全为空代表是原封不动的封包 + boolean justPack = CollUtil.isEmpty(addPlateNos) && CollUtil.isEmpty(addPartsList) + && CollUtil.isEmpty(deletePlateNos) && CollUtil.isEmpty(delPartsList); + // 判断包裹ID是否为空,为空,走新增,不为空,走更新 if (ObjectUtil.isEmpty(existPackageDO)) { + if (justPack) { + throw new ServiceException(PACK_DATA_NULL); + } + String packageNo = generatePackageNo(); List orderPackageDOS = new ArrayList<>(); for (Long orderId : orderIds) { @@ -287,11 +295,6 @@ public class PackServiceImpl implements PackService { return typeConversion(orderPackageDOS.get(0), orderIds); } - if (CollUtil.isEmpty(addPlateNos) && CollUtil.isEmpty(addPartsList) - && CollUtil.isEmpty(deletePlateNos) && CollUtil.isEmpty(delPartsList)) { - throw new ServiceException(PACK_DATA_NULL); - } - String existPackageNo = existPackageDO.getPackageNo(); // 板件明细新增包裹 ID List> split = CollUtil.split(addPlateNos, 1000); @@ -361,8 +364,10 @@ public class PackServiceImpl implements PackService { p.updateOrderStatus(orderDO); } } - // 更新已打包数量到订单 - orderInfoVersionControlService.updateOrderPackNum(orderDOS); + if (!justPack) { + // 更新已打包数量到订单 + orderInfoVersionControlService.updateOrderPackNum(orderDOS); + } return typeConversion(existPackageDO, orderIds); @@ -1212,14 +1217,16 @@ public class PackServiceImpl implements PackService { } @Override - public List getOrdersPackageDetails(String packageNo) { + public List getOrdersPackageDetails(PackageDetailReqVO reqVO) { + Set orderIds = reqVO.getOrderIds().stream().collect(Collectors.toSet()); + String packageNo = reqVO.getPackageNo(); List orderPackagDONews = orderPackageMapper.selectList(new LambdaQueryWrapper() + .in(OrderPackagDO::getOrderId, orderIds) .eq(OrderPackagDO::getPackageNo, packageNo)); if (CollUtil.isEmpty(orderPackagDONews)) { return new ArrayList<>(); } - Set orderIds = orderPackagDONews.stream().map(OrderPackagDO::getOrderId).collect(Collectors.toSet()); // 查询板件 List packPlateList = orderPlateMapper.selectPackedPlateList(orderIds, packageNo); // 查询配件