fix(wms): 解决项目信息缺失和发货单创建数据不完整问题

- 在流程事件处理中添加项目存在性检查,避免空指针异常
- 修复发货草稿创建时租户ID、创建人等关键字段赋值逻辑
- 为WmsShippingBillBo类补充缺失的实体字段定义
- 添加JSON序列化注解控制字段输出格式
- 完善发货单创建时的基础数据填充机制
dev
zangch@mesnac.com 4 days ago
parent adec098966
commit 199dd16dae

@ -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<String, Object> 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;
}

@ -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<String, Object> params = new HashMap<>();
}

@ -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();
}

Loading…
Cancel
Save