From 35e21756177a3157bfae417f6c3a4d9874230ac2 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Fri, 11 Sep 2026 17:20:08 +0800 Subject: [PATCH] =?UTF-8?q?2026-09-11=20=E6=8A=80=E6=9C=AF=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=8D=A1=E8=A6=81=E5=90=91oa=E4=BC=A0site=E5=92=8CBU?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/TechnicalSpecificationMapper.java | 2 ++ .../PlmTechnicalSpecificationSheet.java | 13 +++++++++ .../TechnicalSpecificationServiceImpl.java | 27 +++++++++++++++++-- .../TechnicalSpecificationMapper.xml | 10 +++++++ 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java b/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java index 2b0358cf..bd1df5bf 100644 --- a/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java +++ b/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java @@ -1149,6 +1149,8 @@ public interface TechnicalSpecificationMapper { PlmTechnicalSpecificationSheet selectTechnicalSpecification(@Param("site") String site, @Param("codeNo") String codeNo); + String getTechnicalSpecificationBuNo(@Param("site") String site, @Param("codeNo") String codeNo); + int lockIssueStatus(@Param("site") String site, @Param("codeNo") String codeNo, @Param("fromStatus") String fromStatus, diff --git a/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java b/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java index 616f905d..31c77a55 100644 --- a/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java +++ b/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java @@ -148,6 +148,11 @@ public class PlmTechnicalSpecificationSheet extends QueryPage { private String urlFile; + /** + * BU(出口配置用表字段;OA mainData 按项目物料关联 bu_no 取值,不读本列) + */ + private String buNo; + public String getUrlFile() { return urlFile; } @@ -156,6 +161,14 @@ public class PlmTechnicalSpecificationSheet extends QueryPage { this.urlFile = urlFile; } + public String getBuNo() { + return buNo; + } + + public void setBuNo(String buNo) { + this.buNo = buNo; + } + public String getPlanOperator() { return planOperator; } diff --git a/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java b/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java index 2b494b27..e705c6db 100644 --- a/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java +++ b/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java @@ -1650,7 +1650,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification // 获取指定属性值 // 主信息字段 if ("plm_technical_specification_sheet".equals(nodeDetail.getPlmTable())) { - fieldValue = (String) getPropertyValue(changeRequest, nodeDetail.getPlmField()); + fieldValue = getTechnicalSpecificationSheetFieldValue(changeRequest, nodeDetail.getPlmField()); // 判断是否有值 if (StringUtils.hasText(fieldValue)) { // 判断是否为人员 @@ -1998,7 +1998,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification // 获取指定属性值 // 主信息字段 if ("plm_technical_specification_sheet".equals(nodeDetail.getPlmTable())) { - fieldValue = (String) getPropertyValue(changeRequest, nodeDetail.getPlmField()); + fieldValue = getTechnicalSpecificationSheetFieldValue(changeRequest, nodeDetail.getPlmField()); // 判断是否有值 if (StringUtils.hasText(fieldValue)) { // 判断是否为人员 @@ -2088,6 +2088,29 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification return mainData; } + /** + * 出口配置里的 BU 不读 plm_technical_specification_sheet.bu_no, + * 与技术参数卡列表 technicalSpecificationList 相同,取关联项目物料 bu_no。 + */ + private String getTechnicalSpecificationSheetFieldValue(PlmTechnicalSpecificationSheet sheet, String plmField) { + if (sheet == null || !StringUtils.hasText(plmField)) { + return ""; + } + if ("bu".equals(plmField) || "buNo".equals(plmField) || "bu_no".equals(plmField)) { + return resolveTechnicalSpecificationBuNo(sheet); + } + Object value = getPropertyValue(sheet, plmField); + return value == null ? "" : (String) value; + } + + private String resolveTechnicalSpecificationBuNo(PlmTechnicalSpecificationSheet sheet) { + if (sheet == null || !StringUtils.hasText(sheet.getSite()) || !StringUtils.hasText(sheet.getCodeNo())) { + return ""; + } + String buNo = technicalSpecificationMapper.getTechnicalSpecificationBuNo(sheet.getSite(), sheet.getCodeNo()); + return buNo == null ? "" : buNo; + } + @Override public List queryChangeLog(PlmTechnicalSpecificationSheetData data) { return technicalSpecificationMapper.queryChangeLog(data); diff --git a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml index 588e49c2..eb9f3156 100644 --- a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml +++ b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml @@ -2317,6 +2317,16 @@ and a.code_no = #{codeNo} + + update plm_technical_specification_sheet set status = #{status},