From 8c317215a28d3158c5d1ec0eea6cb85718237149 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Wed, 1 Apr 2026 14:59:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8C=85=E8=A3=85=E7=AE=B1?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=8E=B7=E5=8F=96=E5=8C=85=E8=A3=85=E7=AE=B1?= =?UTF-8?q?=E5=92=8C=E7=AE=B1=E5=86=85=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QrCodeMasterController.java | 57 ++++++++++++--- .../nflg/wms/common/pojo/qo/PackageQO.java | 13 ++++ .../wms/common/pojo/vo/PackageInfoVO.java | 72 +++++++++++++++++++ 3 files changed, 134 insertions(+), 8 deletions(-) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageQO.java create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/PackageInfoVO.java diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QrCodeMasterController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QrCodeMasterController.java index 70b73b17..40f90c1a 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QrCodeMasterController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QrCodeMasterController.java @@ -15,14 +15,14 @@ import com.nflg.wms.common.pojo.dto.InventoryInDTO; import com.nflg.wms.common.pojo.dto.InventoryOutDTO; import com.nflg.wms.common.pojo.dto.QrCodeMasterPrintDTO; import com.nflg.wms.common.pojo.qo.*; +import com.nflg.wms.common.pojo.vo.PackageInfoVO; import com.nflg.wms.common.pojo.vo.QrCodeItemVO; import com.nflg.wms.common.pojo.vo.QrCodeVO; import com.nflg.wms.common.pojo.vo.StrappingVO; -import com.nflg.wms.common.util.NumberUtil; -import com.nflg.wms.common.util.StringUtil; -import com.nflg.wms.common.util.UserUtil; -import com.nflg.wms.common.util.VUtil; +import com.nflg.wms.common.util.*; +import com.nflg.wms.repository.entity.WmsPackageItem; import com.nflg.wms.repository.entity.WmsQrCodeMaster; +import com.nflg.wms.repository.service.IWmsPackageItemService; import com.nflg.wms.repository.service.IWmsQrCodeMasterService; import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; @@ -30,6 +30,7 @@ import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.core.io.ClassPathResource; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -52,6 +53,7 @@ import java.util.zip.ZipOutputStream; /** * 装箱管理 + * * @author: nflg * @date: 2022/3/17 * @description: @@ -63,6 +65,9 @@ public class QrCodeMasterController extends BaseController { @Resource private IWmsQrCodeMasterService qrCodeMasterService; + @Resource + private IWmsPackageItemService wmsPackageItemService; + /** * 获取包装码信息 */ @@ -91,7 +96,7 @@ public class QrCodeMasterController extends BaseController { .eq(WmsQrCodeMaster::getBarcodeCode, request.getBarcodeCode()) .one(); VUtil.trueThrowBusinessError(ObjectUtil.isNull(qrCodeMaster)).throwMessage("无效码"); - VUtil.trueThrowBusinessError(qrCodeMaster.getPackagingType()!=1).throwMessage("此码不属于箱码"); + VUtil.trueThrowBusinessError(qrCodeMaster.getPackagingType() != 1).throwMessage("此码不属于箱码"); VUtil.trueThrowBusinessError(qrCodeMaster.getProcessStage() != BarCodeProcessStage.Unpackaged.getState()) .throwMessage("此箱码已处于【" + BarCodeProcessStage.findByValue(qrCodeMaster.getProcessStage()).getDescription() + "】状态,不可以操作"); List smallQrCodeMasters = qrCodeMasterService.lambdaQuery() @@ -118,6 +123,39 @@ public class QrCodeMasterController extends BaseController { return ApiResult.success(vo); } + /** + * 包装箱编码获取包装箱和箱内物料信息 + * + * @param request + * @return + */ + @PostMapping("getContent") + @ApiMark(moduleName = "包装箱编码获取获取包装箱信息", apiName = "包装箱编码获取获取包装箱信息") + public ApiResult> getPackageInfos(@Valid @RequestBody PackageQO request) { + List wmsPackageItems = wmsPackageItemService.lambdaQuery() + .eq(WmsPackageItem::getPackageId,request.getPackageId()) + .list(); + List barcodeCodes = wmsPackageItems.stream() + .map(WmsPackageItem::getBarcodeCode) + .filter(Objects::nonNull) + .toList(); + List qrCodeMasterList = qrCodeMasterService.lambdaQuery() + .in(WmsQrCodeMaster::getBarcodeCode, barcodeCodes) + .list(); + List packageInfoVOS = Convert.toList(PackageInfoVO.class,qrCodeMasterList); + packageInfoVOS.forEach(vo -> { + WmsPackageItem item = wmsPackageItems.stream() + .filter(p -> StrUtil.equals(p.getBarcodeCode(), vo.getBarcodeCode())) + .findFirst() + .orElse(null); + if (item != null) { + vo.setDeliveryNo(item.getDeliveryNo()); + vo.setDeliveryLineNo(item.getDeliveryLineNo()); + } + }); + return ApiResult.success(packageInfoVOS); + } + /** * 箱码Validation @@ -244,6 +282,7 @@ public class QrCodeMasterController extends BaseController { /** * 换箱 * 针对仓库内的物料箱合并,修改物料的箱属性和库存 + * * @param request * @return */ @@ -346,9 +385,9 @@ public class QrCodeMasterController extends BaseController { * 物料出入库统一扫码接口 * * @param request - * @return - * @author - * */ + * @return + * @author + */ @PostMapping("pda/scan") @ApiMark(moduleName = "扫码", apiName = "扫码获取扫码信息") public ApiResult scan(@Valid @RequestBody QRCodeSearchQO request) { @@ -379,6 +418,7 @@ public class QrCodeMasterController extends BaseController { /** * 导出标签图片为ZIP + * * @param datas 二维码列表 */ @PostMapping(value = "exportToZip", produces = "application/zip") @@ -408,6 +448,7 @@ public class QrCodeMasterController extends BaseController { /** * 导出标签图片为PDF + * * @param datas 二维码列表 */ @PostMapping("exportToPdf") diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageQO.java new file mode 100644 index 00000000..00cb76ed --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageQO.java @@ -0,0 +1,13 @@ +package com.nflg.wms.common.pojo.qo; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class PackageQO { + /** + * 包装编号Id + */ + private Long packageId; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/PackageInfoVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/PackageInfoVO.java new file mode 100644 index 00000000..2aec3e84 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/PackageInfoVO.java @@ -0,0 +1,72 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class PackageInfoVO { + /** + * 条码号 + */ + private String barcodeCode; + /** + * 物料编号 + */ + private String materialCode; + /** + * 物料描述 + */ + private String materialDescription; + /** + * 条码类型 + */ + private Short packagingType; + /** + * 数量 + */ + private BigDecimal quantity; + /** + * 单位 + */ + private String unit; + /** + * 批次号 + */ + private String batchNo; + /** + * 序列号 + */ + private String serialNo; + /** + * 供应商编号 + */ + private String supplierCode; + /** + * 供应商名称 + */ + private String supplierName; + /** + * 所属工厂 + */ + private String factoryCode; + /** + * 仓库 + */ + private String storageLocation; + /** + * 储位 + */ + private String binLocation; + + /** + * 送货单单号 + */ + private String deliveryNo; + /** + * 送货单行号 + */ + private String deliveryLineNo; +}