From 4541ce287b4099b9bf6ee01bac40c6476a3bc131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 2 Apr 2026 16:42:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=AE=A1=E7=90=86=E6=89=B9=E6=AC=A1=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialBaseInfoApplicationService.java | 25 +++++++++++++++++++ .../MaterialGoodsRuleDomainService.java | 8 +++--- .../materialBaseInfo/MaterialBaseInfoApi.java | 8 ++++-- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java index 128248c22..f1b726cac 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java @@ -45,6 +45,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.InputStream; import java.util.ArrayList; +import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -207,6 +208,30 @@ public class MaterialBaseInfoApplicationService { */ @Transactional(rollbackFor = Exception.class) public Boolean insert(MaterialBaseInfoDO materialBaseInfoDO) { + // 新增时如果前端未传 organizationName,则使用当前登录用户的组织名称补齐 + if (materialBaseInfoDO != null && StringUtils.isBlank(materialBaseInfoDO.getOrganizationName())) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null + && StringUtils.isNotBlank(loginUser.getUserPo().getOrganizationName())) { + materialBaseInfoDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + } + } + // 新增时如果前端未传创建人/创建时间,则使用当前登录用户补齐 + if (materialBaseInfoDO != null + && (materialBaseInfoDO.getCreateBy() == null || materialBaseInfoDO.getCreateTime() == null)) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + if (materialBaseInfoDO.getCreateBy() == null) { + materialBaseInfoDO.setCreateBy(loginUser.getUserid()); + } + if (StringUtils.isBlank(materialBaseInfoDO.getCreateByName())) { + materialBaseInfoDO.setCreateByName(loginUser.getUsername()); + } + if (materialBaseInfoDO.getCreateTime() == null) { + materialBaseInfoDO.setCreateTime(new Date()); + } + } + } Long materialBaseInfoId = materialBaseInfoDomainService.insert(materialBaseInfoDO); materialBaseInfoDO.setMaterialBaseInfoId(materialBaseInfoId); //商品规则 diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialGoodsRule/service/MaterialGoodsRuleDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialGoodsRule/service/MaterialGoodsRuleDomainService.java index 5002bdd30..19861fe89 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialGoodsRule/service/MaterialGoodsRuleDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialGoodsRule/service/MaterialGoodsRuleDomainService.java @@ -111,10 +111,12 @@ public class MaterialGoodsRuleDomainService { * @param materialGoodsRuleDO */ private void batchParam(MaterialGoodsRuleDO materialGoodsRuleDO){ - if (ObjectUtil.isNull(materialGoodsRuleDO.getBatchId())){ - throw new ServiceException("批次信息不能为空"); + // 批次信息允许为空:batchId 为空时不做封装,直接跳过即可 + Long batchId = materialGoodsRuleDO.getBatchId(); + if (ObjectUtil.isNull(batchId) || batchId <= 0) { + return; } - AjaxResult ajaxResult = systemServiceFeign.getBatchInfoByBatchId(materialGoodsRuleDO.getBatchId()); + AjaxResult ajaxResult = systemServiceFeign.getBatchInfoByBatchId(batchId); if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ throw new ServiceException("获取批次信息失败"); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java index 763fb455a..1a50ac6ce 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java @@ -1,6 +1,7 @@ package com.mhd.wms.interfaces.facadeApi.materialBaseInfo; import com.mhd.common.core.domain.entity.R; +import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; @@ -54,11 +55,14 @@ public class MaterialBaseInfoApi extends BaseController { @PostMapping("/edit") public AjaxResult edit(@RequestBody MaterialBaseInfoFeign materialBaseInfoDTO) { + if (materialBaseInfoDTO == null) { + throw new ServiceException("请求参数不能为空"); + } //转换实体 MaterialBaseInfoDO materialBaseInfoDO = materialBaseInfoAssembler.toDO2(materialBaseInfoDTO); - if(1 == materialBaseInfoDTO.getUpdateFeign()){ + if (Integer.valueOf(1).equals(materialBaseInfoDTO.getUpdateFeign())) { return toAjax(materialBaseInfoApplicationService.update(materialBaseInfoDO)); - }else { + } else { return toAjax(materialBaseInfoApplicationService.insert(materialBaseInfoDO)); } }