From 9f3936d8d11f28bd305dce214ec646de1e7efcc1 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Sat, 7 Jun 2025 15:10:17 +0800 Subject: [PATCH] =?UTF-8?q?2025-06-07=20=E5=8E=9F=E6=9C=89=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E4=B8=AD=E5=A2=9E=E5=8A=A0ShopOrder=EF=BC=8C=E4=BD=9C?= =?UTF-8?q?=E4=B8=BA=E6=96=87=E6=9C=AC=E5=A1=AB=E5=86=99=20=E6=8A=80?= =?UTF-8?q?=E6=9C=AF=E5=8F=82=E6=95=B0=E5=8D=A1=E5=A2=9E=E5=8A=A0Copy=20Fl?= =?UTF-8?q?ag=E5=AD=97=E6=AE=B5=20=E5=A2=9E=E5=8A=A0Planner=20=E5=B0=86?= =?UTF-8?q?=E8=AF=A5=E5=AD=97=E6=AE=B5=E6=94=BE=E5=9C=A8=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=AD=EF=BC=88=E5=8F=AF=E9=80=89=EF=BC=8C?= =?UTF-8?q?=E4=B8=8E=E6=98=AF=E5=90=A6=E9=9C=80=E8=A6=81Artwork=E4=B8=80?= =?UTF-8?q?=E8=87=B4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlmTechnicalSpecificationSheetData.java | 19 ++++++++ .../PlmTechnicalSpecificationSheet.java | 27 +++++++++++ .../TechnicalSpecificationServiceImpl.java | 46 +++++++++++++++++-- .../TechnicalSpecificationMapper.xml | 15 ++++-- 4 files changed, 101 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java b/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java index 306058ff..90a0c719 100644 --- a/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java +++ b/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java @@ -55,6 +55,7 @@ public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificatio private String isReject; private String mpOperatorName; + private String planOperatorName; /** * 驳回意见 @@ -84,6 +85,24 @@ public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificatio private String documentSource; + private List planOperatorList; + + public String getPlanOperatorName() { + return planOperatorName; + } + + public void setPlanOperatorName(String planOperatorName) { + this.planOperatorName = planOperatorName; + } + + public List getPlanOperatorList() { + return planOperatorList; + } + + public void setPlanOperatorList(List planOperatorList) { + this.planOperatorList = planOperatorList; + } + public String getDocumentSource() { return documentSource; } 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 f467c0da..40b85ddb 100644 --- a/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java +++ b/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java @@ -141,7 +141,34 @@ public class PlmTechnicalSpecificationSheet extends QueryPage { private String ecnUpgradeFlag; private String ecnNeedChangeDrawing; + private String shopOrder; + private String copyFlag; + private String planOperator; + + public String getPlanOperator() { + return planOperator; + } + + public void setPlanOperator(String planOperator) { + this.planOperator = planOperator; + } + + public String getShopOrder() { + return shopOrder; + } + + public void setShopOrder(String shopOrder) { + this.shopOrder = shopOrder; + } + + public String getCopyFlag() { + return copyFlag; + } + + public void setCopyFlag(String copyFlag) { + this.copyFlag = copyFlag; + } public String getEcnUpgradeFlag() { return ecnUpgradeFlag; 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 5d300723..5863203d 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 @@ -243,6 +243,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification teamData.setType("dcc"); plmTechnicalSpecificationTeams.add(teamData); } + // Planner + for (int i = 0; i < inData.getPlanOperatorList().size() ; i++) { + PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData(); + teamData.setSite(inData.getSite()); + teamData.setOperatorId(inData.getCsOperatorList().get(i)); + teamData.setCodeNo(inData.getCodeNo()); + teamData.setType("plan"); + plmTechnicalSpecificationTeams.add(teamData); + } // CQC for (String cqc : inData.getCqcOperatorList()) { PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData(); @@ -385,6 +394,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification teamData.setType("dcc"); plmTechnicalSpecificationTeams.add(teamData); } + // Planner + for (int i = 0; i < inData.getPlanOperatorList().size() ; i++) { + PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData(); + teamData.setSite(inData.getSite()); + teamData.setOperatorId(inData.getCsOperatorList().get(i)); + teamData.setCodeNo(inData.getCodeNo()); + teamData.setType("plan"); + plmTechnicalSpecificationTeams.add(teamData); + } // CQC for (String cqc : inData.getCqcOperatorList()) { PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData(); @@ -1426,6 +1444,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification // 2025-06-05 检查到cqc和fai人员没有查 但是海波表示功能正常 先不管 List css = operatorList.stream().filter(a -> "cs".equals(a.getType())).collect(Collectors.toList()); // Select CS List mps = operatorList.stream().filter(a -> "mp".equals(a.getType())).collect(Collectors.toList()); // Select Technical + List plans = operatorList.stream().filter(a -> "plan".equals(a.getType())).collect(Collectors.toList()); // Select CS // 根据字段对应的数据库表+字段查询出数据 for (PlmRequestDetailVo nodeDetail : nodeDetails) { @@ -1504,6 +1523,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } fieldValues.append(oaIds.get(0).getId()).append(","); } + } else if ("planOperatorList".equals(nodeDetail.getPlmField())) { + for (PlmTechnicalSpecificationTeamData plan : plans) { + // 根据域控账号获取oa人员id + List oaIds = sysUserDao.selectOaIdByAccount(plan.getDomainControlAccount()); + if (oaIds.isEmpty()) { + throw new RuntimeException("未获取到域控账号对应的OA人员!"); + } + fieldValues.append(oaIds.get(0).getId()).append(","); + } } fieldValue = fieldValues.length() > 0 ? fieldValues.substring(0, fieldValues.length() - 1) : ""; } @@ -1573,6 +1601,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification List fais = operatorList.stream().filter(a -> "fai".equals(a.getType())).collect(Collectors.toList()); List css = operatorList.stream().filter(a -> "cs".equals(a.getType())).collect(Collectors.toList()); List mps = operatorList.stream().filter(a -> "mp".equals(a.getType())).collect(Collectors.toList()); + List plans = operatorList.stream().filter(a -> "plan".equals(a.getType())).collect(Collectors.toList()); ParamData paramData = new ParamData(data.getSite(), baseData.get("nodeId"), baseData.get("nodeName"), data.getCodeNo(), data.getUserName(), baseData.get("classificationNo"), @@ -1593,7 +1622,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } } - List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps); + List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans); paramData.setMainData(mainData); SubmitRequestParam submitRequestParam = new SubmitRequestParam(); submitRequestParam.setUserId(paramData.getUserId()); @@ -1713,6 +1742,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification List fais = operatorList.stream().filter(a -> "fai".equals(a.getType())).collect(Collectors.toList()); List css = operatorList.stream().filter(a -> "cs".equals(a.getType())).collect(Collectors.toList()); List mps = operatorList.stream().filter(a -> "mp".equals(a.getType())).collect(Collectors.toList()); + List plans = operatorList.stream().filter(a -> "plan".equals(a.getType())).collect(Collectors.toList()); ParamData paramData = new ParamData(data.getSite(), baseData.get("nodeId"), baseData.get("nodeName"), data.getDocumentNo(), data.getUserName(), baseData.get("classificationNo"), baseData.get("userId"), baseData.get("workflowId"), baseData.get("workflowname"), baseData.get("requestName"), baseData.get("path"), baseData.get("requestId"), @@ -1722,7 +1752,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification paramData.setRevisionNo(data.getRevisionNo()); // 如果是节点更新则调用提交流程接口,反之则跳过这一步 if ("update".equals(data.getProcessFlag())) { - List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps); + List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans); paramData.setMainData(mainData); SubmitRequestParam submitRequestParam = new SubmitRequestParam(); submitRequestParam.setUserId(paramData.getUserId()); @@ -1752,7 +1782,8 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification public List getMainData(String site, Map baseData, PlmTechnicalSpecificationSheet changeRequest, List engineers, List technicians, List dccs, List cqcs, - List fais, List css, List mps) { + List fais, List css, List mps, + List plans) { // 创建 mainData List mainData = new ArrayList<>(); List nodeDetails = changeManagementMapper.queryNodeDetails(site, baseData.get("workflowId"), baseData.get("nodeId"), baseData.get("classificationNo")); @@ -1852,6 +1883,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } fieldValues.append(oaIds.get(0).getId()).append(","); } + } else if ("planOperatorList".equals(nodeDetail.getPlmField())) { + for (PlmTechnicalSpecificationTeamData plan : plans) { + // 根据域控账号获取oa人员id + List oaIds = sysUserDao.selectOaIdByAccount(plan.getDomainControlAccount()); + if (oaIds.isEmpty()) { + throw new RuntimeException("未获取到域控账号对应的OA人员!"); + } + fieldValues.append(oaIds.get(0).getId()).append(","); + } } fieldValue = fieldValues.length() > 0 ? fieldValues.substring(0, fieldValues.length() - 1) : ""; } diff --git a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml index f78fa2d7..ff6cdd67 100644 --- a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml +++ b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml @@ -254,7 +254,7 @@ from plm_technicalSpecification_team where site = #{site} and code_no = #{codeNo} - and type in ('quotationOfficer', 'engineer', 'technician', 'dcc', 'cqc', 'fai', 'cs', 'mp') + and type in ('quotationOfficer', 'engineer', 'technician', 'dcc', 'cqc', 'fai', 'cs', 'mp', 'plan') @@ -356,12 +356,17 @@ dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dcc, dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'cqc') cqcOperatorName, dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'fai') faiOperatorName, + dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'plan') planOperator, + dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'plan') planOperatorName, a.rev, a.customer_rev, relevance_part_no, a.ecn_upgrade_version, a.ecn_upgrade_flag, - a.ecn_need_change_drawing + a.ecn_need_change_drawing, + a.document_source, + a.shop_order, + a.copy_flag FROM plm_technical_specification_sheet a left join view_Project_final_Part b on a.site = b.site and a.project_id = b.project_id and a.test_part_no = b.test_part_no left join plm_project_info c on a.site = c.site and a.project_id = c.project_id @@ -484,7 +489,9 @@ pod = #{pod}, mpOperator = #{mpOperator}, relevance_part_no = #{relevancePartNo}, - ecn_need_change_drawing = #{ecnNeedChangeDrawing} + ecn_need_change_drawing = #{ecnNeedChangeDrawing}, + shop_order = #{shopOrder}, + copy_flag = #{copyFlag} where site = #{site} and code_no = #{codeNo} @@ -2419,6 +2426,8 @@ dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dccOperaterName, dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'cqc') cqcOperatorName, dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'fai') faiOperatorName, + dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'plan') planOperater, + dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'plan') planOperaterName, d.is_reject as isReject, d.node_id as nodeId, d.node_name as nodeName,