From 188ee4b45177def7aa6155dabf008d451fe64479 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Mon, 9 Mar 2026 10:04:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErfExpRawMaterialController.java | 19 ++++++++++------- .../modules/erf/entity/ErfExpRawMaterial.java | 7 +++++++ .../erf/service/ErfExpRawMaterialService.java | 8 ++++--- .../impl/ErfExpRawMaterialServiceImpl.java | 21 ++++++++++++------- .../mapper/erf/ErfExpRawMaterialMapper.xml | 3 +++ 5 files changed, 39 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/erf/controller/ErfExpRawMaterialController.java b/src/main/java/com/xujie/sys/modules/erf/controller/ErfExpRawMaterialController.java index 14629d90..383bbe9f 100644 --- a/src/main/java/com/xujie/sys/modules/erf/controller/ErfExpRawMaterialController.java +++ b/src/main/java/com/xujie/sys/modules/erf/controller/ErfExpRawMaterialController.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; +import java.util.HashMap; /** * 工程实验申请单原材料清单控制器 @@ -151,10 +152,10 @@ public class ErfExpRawMaterialController extends AbstractController { } /** - * 根据物料编码查询物料描述(从part表) + * 根据物料编码查询物料描述和计量单位(从part表) * - * @param params 包含partNo和site的参数 - * @return 物料描述 + * @param params 包含partNo、site、buNo的参数 + * @return 物料描述(partDesc)和计量单位(umid) */ @PostMapping("/getPartDescByPartNo") @ResponseBody @@ -164,14 +165,16 @@ public class ErfExpRawMaterialController extends AbstractController { String site = (String) params.get("site"); String buNo = (String) params.get("buNo"); - log.info("查询物料描述,物料编码: {}, 工厂: {}", partNo, site); + log.info("查询物料描述和单位,物料编码: {}, 工厂: {}", partNo, site); - String partDesc = erfExpRawMaterialService.getPartDescByPartNo(partNo, site, buNo); + Map partInfo = erfExpRawMaterialService.getPartDescByPartNo(partNo, site, buNo); - if (partDesc != null) { - return R.ok().put("partDesc", partDesc); + if (partInfo != null) { + return R.ok() + .put("partDesc", partInfo.get("partDesc")) + .put("umid", partInfo.get("umid")); } else { - return R.ok().put("partDesc", "").put("msg", "未找到该物料编码"); + return R.ok().put("partDesc", "").put("umid", "").put("msg", "未找到该物料编码"); } } catch (Exception e) { log.error("查询物料描述失败: " + e.getMessage(), e); diff --git a/src/main/java/com/xujie/sys/modules/erf/entity/ErfExpRawMaterial.java b/src/main/java/com/xujie/sys/modules/erf/entity/ErfExpRawMaterial.java index 24ed20bf..de18b2fa 100644 --- a/src/main/java/com/xujie/sys/modules/erf/entity/ErfExpRawMaterial.java +++ b/src/main/java/com/xujie/sys/modules/erf/entity/ErfExpRawMaterial.java @@ -22,6 +22,7 @@ import java.util.Date; *
  • part_no:物料编码(允许为NULL,允许不存在于part表)
  • *
  • part_desc:物料描述(必填字段)
  • *
  • quantity:数量(必填字段,支持小数)
  • + *
  • umid:计量单位(输入物料编码后从part表自动带出)
  • * * *

    业务规则:

    @@ -75,6 +76,12 @@ public class ErfExpRawMaterial implements Serializable { @TableField("quantity") private BigDecimal quantity; + /** + * 计量单位(从part表自动带出) + */ + @TableField("umid") + private String umid; + /** * 备注信息(可选) */ diff --git a/src/main/java/com/xujie/sys/modules/erf/service/ErfExpRawMaterialService.java b/src/main/java/com/xujie/sys/modules/erf/service/ErfExpRawMaterialService.java index f33cc69d..213946af 100644 --- a/src/main/java/com/xujie/sys/modules/erf/service/ErfExpRawMaterialService.java +++ b/src/main/java/com/xujie/sys/modules/erf/service/ErfExpRawMaterialService.java @@ -3,6 +3,7 @@ package com.xujie.sys.modules.erf.service; import com.xujie.sys.modules.erf.entity.ErfExpRawMaterial; import java.util.List; +import java.util.Map; /** * 工程实验申请单原材料清单服务接口 @@ -63,13 +64,14 @@ public interface ErfExpRawMaterialService { boolean batchDeleteRawMaterial(List ids, String updatedBy); /** - * 根据物料编码查询物料描述(从part表) + * 根据物料编码查询物料描述和计量单位(从part表) * * @param partNo 物料编码 * @param site 工厂编码 - * @return 物料描述(如果不存在返回null) + * @param buNo BU编码 + * @return Map,包含 partDesc(物料描述)和 umid(计量单位),未找到时返回null */ - String getPartDescByPartNo(String partNo, String site,String buNo); + Map getPartDescByPartNo(String partNo, String site, String buNo); /** * 复制原材料清单从一个申请单到另一个申请单 diff --git a/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpRawMaterialServiceImpl.java b/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpRawMaterialServiceImpl.java index 5d36f76d..50fb3deb 100644 --- a/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpRawMaterialServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpRawMaterialServiceImpl.java @@ -16,7 +16,9 @@ import org.springframework.util.StringUtils; import java.util.Arrays; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 工程实验申请单原材料清单服务实现类 @@ -184,15 +186,16 @@ public class ErfExpRawMaterialServiceImpl implements ErfExpRawMaterialService { } /** - * 根据物料编码查询物料描述(从part表) + * 根据物料编码查询物料描述和计量单位(从part表) * * @param partNo 物料编码 * @param site 工厂编码 - * @return 物料描述(如果不存在返回null) + * @param buNo BU编码 + * @return Map,包含 partDesc 和 umid,未找到时返回null */ @Override - public String getPartDescByPartNo(String partNo, String site,String buNo) { - log.info("查询物料描述,物料编码: {}, 工厂: {}", partNo, site); + public Map getPartDescByPartNo(String partNo, String site, String buNo) { + log.info("查询物料描述和单位,物料编码: {}, 工厂: {}", partNo, site); if (!StringUtils.hasText(partNo)) { log.warn("物料编码为空,无法查询"); @@ -208,20 +211,22 @@ public class ErfExpRawMaterialServiceImpl implements ErfExpRawMaterialService { if (StringUtils.hasText(buNo)) { queryWrapper.eq("sourceBu", buNo); } - queryWrapper.eq("active", "Y"); // 只查询在用的物料 + queryWrapper.eq("active", "Y"); PartInformationEntity part = partInformationMapper.selectOne(queryWrapper); if (part != null) { - log.info("查询到物料描述: {}", part.getPartDesc()); - return part.getPartDesc(); + log.info("查询到物料描述: {}, 单位: {}", part.getPartDesc(), part.getUmId()); + Map result = new HashMap<>(); + result.put("partDesc", part.getPartDesc()); + result.put("umid", part.getUmId()); + return result; } else { log.warn("未查询到物料编码: {} 对应的物料信息", partNo); return null; } } catch (Exception e) { log.error("查询物料描述失败: " + e.getMessage(), e); - // 查询失败不抛异常,返回null即可 return null; } } diff --git a/src/main/resources/mapper/erf/ErfExpRawMaterialMapper.xml b/src/main/resources/mapper/erf/ErfExpRawMaterialMapper.xml index 9d5979bd..5805b246 100644 --- a/src/main/resources/mapper/erf/ErfExpRawMaterialMapper.xml +++ b/src/main/resources/mapper/erf/ErfExpRawMaterialMapper.xml @@ -11,6 +11,7 @@ + @@ -28,6 +29,7 @@ part_no, part_desc, quantity, + umid, remark, created_by, created_date, @@ -49,6 +51,7 @@ part_no, part_desc, quantity, + umid, remark, created_by, created_date,