From 8cf81f29f9a3f53be3034baede7bd7a6c3404956 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 23 Aug 2025 16:52:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E8=A1=A5=E5=85=A8=E5=87=BA?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=98=8E=E7=BB=86=E4=B8=AD=E7=9A=84=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在新增出入库明细时,如果单位信息为空,自动从商品或原材料表中获取 - 支持产品和原材料两种物料类型的单位信息补全 - 优化了数据录入流程,提高了系统易用性 --- .../impl/WmsStockIoDetailServiceImpl.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java index 0210512f..ff2013f7 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java @@ -7,6 +7,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.WmsProduct; +import com.klp.domain.WmsRawMaterial; +import com.klp.mapper.WmsProductMapper; +import com.klp.mapper.WmsRawMaterialMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,6 +41,8 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService { private final WmsStockIoDetailMapper baseMapper; private final WmsStockIoMapper stockIoMapper; + private final WmsProductMapper productMapper; + private final WmsRawMaterialMapper rawMaterialMapper; /** * 查询出入库单明细 @@ -102,7 +108,19 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService { if (stockIo != null && stockIo.getStatus() >= 2) { throw new ServiceException("已审核的单据不能修改明细"); } - + // 如果unit为空,自动查item表补全(新增逻辑) + String unit = bo.getUnit(); + if (unit == null || unit.trim().isEmpty()) { + if ("product".equals(bo.getItemType())) { + WmsProduct p = productMapper.selectById(bo.getItemId()); + unit = p != null ? p.getUnit() : null; + } else if ("raw_material".equals(bo.getItemType())) { + WmsRawMaterial r = rawMaterialMapper.selectById(bo.getItemId()); + unit = r != null ? r.getUnit() : null; + } + } + // 将获取到的unit设置回bo对象 + bo.setUnit(unit); WmsStockIoDetail add = BeanUtil.toBean(bo, WmsStockIoDetail.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0;