From 6c7a88110fd471f925f14c07eec5eb4287919b30 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Mon, 11 Aug 2025 17:47:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E5=8D=95=E6=89=93=E5=8D=B0=E6=9D=A1=E7=A0=81=E7=9A=84?= =?UTF-8?q?=E5=BE=85=E5=85=A5=E5=BA=93=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsInstockPrint 模型中添加 locationId、inboundStatus 和 actualInboundTime 字段 - 更新 WmsInstockPrintBo 和 WmsInstockPrintVo 以包含新字段 - 修改 WmsInstockPrintServiceImpl 以支持待入库列表的查询 - 在 WmsInstockRecordServiceImpl 中更新入库状态和实际入库时间 --- .../dromara/wms/domain/WmsInstockPrint.java | 18 +++++++++++++++-- .../wms/domain/bo/WmsInstockPrintBo.java | 20 +++++++++++++++---- .../wms/domain/vo/WmsInstockPrintVo.java | 17 +++++++++++++++- .../impl/WmsInstockDetailServiceImpl.java | 2 ++ .../impl/WmsInstockPrintServiceImpl.java | 19 +++++++++--------- .../impl/WmsInstockRecordServiceImpl.java | 8 ++++++++ 6 files changed, 68 insertions(+), 16 deletions(-) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInstockPrint.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInstockPrint.java index 7cf7008..cc4d6d1 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInstockPrint.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInstockPrint.java @@ -1,9 +1,7 @@ package org.dromara.wms.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import lombok.EqualsAndHashCode; import java.io.Serial; import java.math.BigDecimal; @@ -112,10 +110,26 @@ public class WmsInstockPrint{ */ private String tenantId; + /** + * 推荐库位id + */ + private Long locationId; + + /** + * 入库状态(0-待入库,1-已入库,2-入库中) + */ + private String inboundStatus; + + /** + * 实际入库时间 + */ + private Date actualInboundTime; + /** * 物料大类 */ @TableField(exist = false) private String materialCategoryName;//字段映射 + } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInstockPrintBo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInstockPrintBo.java index bf020bb..c1730b9 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInstockPrintBo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInstockPrintBo.java @@ -1,16 +1,14 @@ package org.dromara.wms.domain.bo; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.wms.domain.WmsInstockPrint; import org.dromara.wms.domain.vo.WmsInstockPrintVo; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -98,5 +96,19 @@ public class WmsInstockPrintBo extends BaseEntity { private String tenantId; private List vos; + /** + * 推荐库位id + */ + private Long locationId; + + /** + * 入库状态(0-待入库,1-已入库,2-入库中) + */ + private String inboundStatus; + + /** + * 实际入库时间 + */ + private Date actualInboundTime; } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java index 5d24e30..ef8af74 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java @@ -10,7 +10,7 @@ import org.dromara.wms.domain.WmsInstockPrint; import java.io.Serial; import java.io.Serializable; import java.math.BigDecimal; - +import java.util.Date; /** @@ -103,6 +103,21 @@ public class WmsInstockPrintVo implements Serializable { */ private String tenantId; + /** + * 推荐库位id + */ + private Long locationId; + + /** + * 入库状态(0-待入库,1-已入库,2-入库中) + */ + private String inboundStatus; + + /** + * 实际入库时间 + */ + private Date actualInboundTime; + /** * 库位编码 */ diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockDetailServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockDetailServiceImpl.java index ebda341..d11b0ce 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockDetailServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockDetailServiceImpl.java @@ -244,6 +244,7 @@ public class WmsInstockDetailServiceImpl implements IWmsInstockDetailService { print.setBatchCode(batchCode); print.setApportionQty(per); print.setMaterialQty(1L); // 每个包打印1份,使用Long类型 + print.setInboundStatus("0");//入库状态(0-待入库,1-已入库,2-入库中) wmsInstockPrintService.insertWmsInstockPrint(print); @@ -263,6 +264,7 @@ public class WmsInstockDetailServiceImpl implements IWmsInstockDetailService { print.setBatchCode(batchCode); print.setApportionQty(remaining); print.setMaterialQty(copies.longValue()); // 转换为Long + print.setInboundStatus("0");//入库状态(0-待入库,1-已入库,2-入库中) wmsInstockPrintService.insertWmsInstockPrint(print); diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java index 492ca05..19e8384 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java @@ -1,19 +1,16 @@ package org.dromara.wms.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.wms.domain.BaseMaterialCategory; -import org.dromara.wms.domain.WmsBaseWarehouse; -import org.dromara.wms.domain.WmsInstockDetail; import org.dromara.wms.domain.WmsInstockPrint; import org.dromara.wms.domain.bo.WmsInstockDetailBo; import org.dromara.wms.domain.bo.WmsInstockPrintBo; @@ -22,10 +19,9 @@ import org.dromara.wms.mapper.WmsInstockPrintMapper; import org.dromara.wms.service.IWmsInstockPrintService; import org.springframework.stereotype.Service; - +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 入库单-物料打印条码Service业务层处理 @@ -95,6 +91,11 @@ public class WmsInstockPrintServiceImpl implements IWmsInstockPrintService { .select(BaseMaterialCategory::getMaterialCategoryName) .leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsInstockPrint::getMaterialCategoryId) + //待入库列表新增 + .eq(bo.getActualInboundTime() != null, WmsInstockPrint::getActualInboundTime, bo.getActualInboundTime()) + .eq(StringUtils.isNotBlank(bo.getInboundStatus()), WmsInstockPrint::getInboundStatus, bo.getInboundStatus()) + .eq(bo.getLocationId() != null, WmsInstockPrint::getLocationId, bo.getLocationId()) + //条码打印原有 .eq(bo.getInstockPrintId() != null, WmsInstockPrint::getInstockPrintId, bo.getInstockPrintId()) .eq(StringUtils.isNotBlank(bo.getInstockCode()), WmsInstockPrint::getInstockCode, bo.getInstockCode()) .eq(StringUtils.isNotBlank(bo.getBatchCode()), WmsInstockPrint::getBatchCode, bo.getBatchCode()) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockRecordServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockRecordServiceImpl.java index bd8fa6c..5ac7514 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockRecordServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockRecordServiceImpl.java @@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.Map; @@ -212,6 +213,13 @@ public class WmsInstockRecordServiceImpl implements IWmsInstockRecordService { // 插入入库记录 insertByBo(recordBo); + // 更新入库打印(待入库列表)的入库状态和实际入库时间 + WmsInstockPrintBo newPrintBo = MapstructUtils.convert(print, WmsInstockPrintBo.class); + newPrintBo.setInboundStatus("1");//入库状态(0-待入库,1-已入库,2-入库中) + newPrintBo.setActualInboundTime(new Date()); + instockPrintService.updateByBo(newPrintBo); + + // 更新库存信息 WmsInventoryVo inventoryVo = inventoryService.queryByBatchAndLocation(recordBo.getBatchCode(), recordBo.getLocationCode()); double qty = recordBo.getInstockQty();