From 199dd16dae6e89f5d84e8dea5266f57ede3e3c2d Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Tue, 10 Mar 2026 16:24:53 +0800 Subject: [PATCH] =?UTF-8?q?fix(wms):=20=E8=A7=A3=E5=86=B3=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=BF=A1=E6=81=AF=E7=BC=BA=E5=A4=B1=E5=92=8C=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=E5=88=9B=E5=BB=BA=E6=95=B0=E6=8D=AE=E4=B8=8D?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在流程事件处理中添加项目存在性检查,避免空指针异常 - 修复发货草稿创建时租户ID、创建人等关键字段赋值逻辑 - 为WmsShippingBillBo类补充缺失的实体字段定义 - 添加JSON序列化注解控制字段输出格式 - 完善发货单创建时的基础数据填充机制 --- .../impl/ErpProjectInfoServiceImpl.java | 10 +++-- .../wms/domain/bo/WmsShippingBillBo.java | 44 +++++++++++++++++++ .../impl/WmsShippingBillServiceImpl.java | 8 ++++ 3 files changed, 59 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java index 2d8fe33d..2d81a378 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java @@ -18,7 +18,6 @@ import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.oa.erp.constant.ProjectCategoryConstant; import org.dromara.oa.erp.domain.ErpProjectContracts; @@ -291,6 +290,10 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { TenantHelper.dynamic(processEvent.getTenantId(), () -> { log.info("当前任务执行了{}", processEvent.toString()); ErpProjectInfo projectInfo = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); + if (projectInfo == null) { + log.warn("项目不存在,businessId: {}", processEvent.getBusinessId()); + return; + } projectInfo.setFlowStatus(processEvent.getStatus()); Map params = processEvent.getParams(); if (MapUtil.isNotEmpty(params)) { @@ -408,9 +411,10 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { draft.setDetails(buildShippingDraftDetails(contractInfo.getContractMaterialList())); //显示填充租户、创建人、创建时间 - draft.setTenantId(TenantHelper.getTenantId()); - draft.setCreateBy(LoginHelper.getUserId()); + draft.setTenantId(projectInfo.getTenantId()); + draft.setCreateBy(projectInfo.getCreateBy()); draft.setCreateTime(new Date()); + draft.setCreateDept(projectInfo.getDeptId()); return draft; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsShippingBillBo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsShippingBillBo.java index 8c2de131..9021e64c 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsShippingBillBo.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsShippingBillBo.java @@ -1,6 +1,8 @@ package org.dromara.wms.domain.bo; import cn.hutool.core.util.ObjectUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -286,4 +288,46 @@ public class WmsShippingBillBo extends BaseEntity { } + + /** + * 租户编号 + */ + private String tenantId; + + /** + * 搜索值 + */ + @JsonIgnore + private String searchValue; + + /** + * 创建部门 + */ + private Long createDept; + + /** + * 创建者 + */ + private Long createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新者 + */ + private Long updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 请求参数 + */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private Map params = new HashMap<>(); } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsShippingBillServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsShippingBillServiceImpl.java index 14455960..5343d3cd 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsShippingBillServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsShippingBillServiceImpl.java @@ -293,6 +293,14 @@ public class WmsShippingBillServiceImpl implements IWmsShippingBillService { bo.setFlowStatus(BusinessStatusEnum.DRAFT.getStatus()); bo.setShippingStatus(OAStatusEnum.DRAFT.getStatus()); bo.setDetailsList(buildDraftDetails(draft.getDetails())); + + //手动设置信息 + bo.setTenantId(draft.getTenantId()); + bo.setCreateBy(draft.getCreateBy()); + bo.setCreateTime(draft.getCreateTime()); + bo.setCreateDept(draft.getCreateDept()); + + this.insertByBo(bo); return bo.getShippingBillId(); }