From 482c1d03a4773e2735c87dbf1d05203bea713ae5 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Thu, 7 Aug 2025 14:26:03 +0800 Subject: [PATCH] =?UTF-8?q?2025-08-07=201=E3=80=81=E5=A2=9E=E5=8A=A0CQE?= =?UTF-8?q?=E5=B2=97=E4=BD=8D=E8=A7=92=E8=89=B2=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=202=E3=80=81=E5=9C=A8RDC=E7=9A=84=E6=8A=80=E6=9C=AF?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=8D=A1=E5=A2=9E=E5=8A=A0CQE=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E7=9A=84=E9=80=89=E6=8B=A9=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=203=E3=80=81=E6=B5=81=E7=A8=8B=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=99=E4=B8=AA=E4=BA=BA=E5=91=98=E7=9A=84?= =?UTF-8?q?=E5=87=BA=E5=8F=A3=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlmTechnicalSpecificationSheetData.java | 27 +++++++ .../TechnicalSpecificationServiceImpl.java | 80 ++++++++++--------- .../TechnicalSpecificationMapper.xml | 9 ++- 3 files changed, 78 insertions(+), 38 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 36632d65..a3a6f5b5 100644 --- a/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java +++ b/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java @@ -93,6 +93,33 @@ public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificatio private String directCustomer; private String radius; private String sheet; + private List qualityEngineerList; + private String qualityEngineer; + private String qualityEngineerNo; + + public String getQualityEngineer() { + return qualityEngineer; + } + + public void setQualityEngineer(String qualityEngineer) { + this.qualityEngineer = qualityEngineer; + } + + public String getQualityEngineerNo() { + return qualityEngineerNo; + } + + public void setQualityEngineerNo(String qualityEngineerNo) { + this.qualityEngineerNo = qualityEngineerNo; + } + + public List getQualityEngineerList() { + return qualityEngineerList; + } + + public void setQualityEngineerList(List qualityEngineerList) { + this.qualityEngineerList = qualityEngineerList; + } public String getRadius() { return radius; 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 118391bf..3707194d 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 @@ -191,28 +191,12 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification technicalSpecificationMapper.updateProjectPartNowBm(inData); } else { // 修改操作 - // PlmProjectInfoData checkPlmProjectInfoData=projectDao.checkPlmProjectInfoData(inData); - // if(!checkPlmProjectInfoData.getCustomerId().equals(inData.getCustomerId())){ - // PlmProjectContactData projectContactData=new PlmProjectContactData(); - // projectContactData.setSite(checkPlmProjectInfoData.getSite()); - // projectContactData.setProjectId(checkPlmProjectInfoData.getProjectId()); - // projectDao.deleteProjectContact(projectContactData); - // } inData.setUpdateBy(sysUserEntity.getUsername()); technicalSpecificationMapper.updateTechnicalSpecificationSheet(inData); // 删除所有人员 technicalSpecificationMapper.deleteTechnicalSpecificationTeamsForBase(inData); } // --处理人员数据 修改已提前删除所有人员 - // 前端已注释 -// for (int i = 0; i teams = plmTechnicalSpecificationTeams; int totalSize = teams.size(); @@ -297,7 +287,6 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification List batchList = teams.subList(startIndex, endIndex); technicalSpecificationMapper.saveBatchTechnicalSpecificationTeams(batchList); } - // PlmProjectInfo plmProjectInfo=projectDao.getProjectData(inData.getSite(),inData.getProjectId()); inData.setBuNo(checkPart.get(0).getBuNo()); return inData; @@ -357,15 +346,6 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification technicalSpecificationMapper.updateBMBasicInformation(inData); technicalSpecificationMapper.deleteTechnicalSpecificationTeamsForBase(inData); -// for (int i = 0; i teams = plmTechnicalSpecificationTeams; int totalSize = teams.size(); @@ -1574,7 +1560,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification 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 - + List qualityEngineers = operatorList.stream().filter(a -> "qualityEngineer".equals(a.getType())).collect(Collectors.toList()); // Select Artwork // 根据字段对应的数据库表+字段查询出数据 for (PlmRequestDetailVo nodeDetail : nodeDetails) { if (nodeDetail.getId() == null) { @@ -1625,6 +1611,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } fieldValues.append(oaIds.get(0).getId()).append(","); } + } else if ("qualityEngineerList".equals(nodeDetail.getPlmField())) { + for (PlmTechnicalSpecificationTeamData qualityEngineer : qualityEngineers) { + // 根据域控账号获取oa人员id + List oaIds = sysUserDao.selectOaIdByAccount(qualityEngineer.getDomainControlAccount()); + if (oaIds.isEmpty()) { + throw new RuntimeException("未获取到域控账号对应的OA人员!"); + } + fieldValues.append(oaIds.get(0).getId()).append(","); + } } else if ("dccList".equals(nodeDetail.getPlmField())) { for (PlmTechnicalSpecificationTeamData dcc : dccs) { // 根据域控账号获取oa人员id @@ -1731,6 +1726,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification 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()); + List qualityEngineers = operatorList.stream().filter(a -> "qualityEngineer".equals(a.getType())).collect(Collectors.toList()); // Select Artwork ParamData paramData = new ParamData(data.getSite(), baseData.get("nodeId"), baseData.get("nodeName"), data.getCodeNo(), data.getUserName(), baseData.get("classificationNo"), @@ -1751,7 +1747,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } } - List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans); + List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans, qualityEngineers); paramData.setMainData(mainData); SubmitRequestParam submitRequestParam = new SubmitRequestParam(); submitRequestParam.setUserId(paramData.getUserId()); @@ -1872,6 +1868,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification 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()); + List qualityEngineers = operatorList.stream().filter(a -> "qualityEngineer".equals(a.getType())).collect(Collectors.toList()); // Select Artwork 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"), @@ -1881,7 +1878,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, plans); + List mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans, qualityEngineers); paramData.setMainData(mainData); SubmitRequestParam submitRequestParam = new SubmitRequestParam(); submitRequestParam.setUserId(data.getUpdateBy()); @@ -1912,7 +1909,7 @@ 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 plans) { + List plans, List qualityEngineers) { // 创建 mainData List mainData = new ArrayList<>(); List nodeDetails = changeManagementMapper.queryNodeDetails(site, baseData.get("workflowId"), baseData.get("nodeId"), baseData.get("classificationNo")); @@ -1958,7 +1955,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } fieldValues.append(oaIds.get(0).getId()).append(","); } - } else if ("technicianList".equals(nodeDetail.getPlmField())) { + } else if ("technicianList".equals(nodeDetail.getPlmField())) { for (PlmTechnicalSpecificationTeamData technician : technicians) { // 根据域控账号获取oa人员id List oaIds = sysUserDao.selectOaIdByAccount(technician.getDomainControlAccount()); @@ -1967,6 +1964,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification } fieldValues.append(oaIds.get(0).getId()).append(","); } + } else if ("qualityEngineerList".equals(nodeDetail.getPlmField())) { + for (PlmTechnicalSpecificationTeamData qualityEngineer : qualityEngineers) { + // 根据域控账号获取oa人员id + List oaIds = sysUserDao.selectOaIdByAccount(qualityEngineer.getDomainControlAccount()); + if (oaIds.isEmpty()) { + throw new RuntimeException("未获取到域控账号对应的OA人员!"); + } + fieldValues.append(oaIds.get(0).getId()).append(","); + } } else if ("dccList".equals(nodeDetail.getPlmField())) { for (PlmTechnicalSpecificationTeamData dcc : dccs) { // 根据域控账号获取oa人员id diff --git a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml index 776c693a..a8f61187 100644 --- a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml +++ b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml @@ -255,7 +255,7 @@ from plm_technicalSpecification_team where site = #{site} and code_no = #{codeNo} - and type in ('quotationOfficer', 'engineer', 'technician', 'dcc', 'cqc', 'fai', 'cs', 'mp', 'plan') + and type in ('quotationOfficer', 'engineer', 'technician', 'dcc', 'cqc', 'fai', 'cs', 'mp', 'plan', 'qualityEngineer') @@ -265,6 +265,7 @@ and code_no = #{codeNo} and type in ('reviewEngineer', 'peEngineer', 'cqe') +