Browse Source

2025-08-07 1、增加CQE岗位角色

2、在RDC的技术参数卡增加CQE人员的选择
           3、流程管理增加这个人员的出口配置
master
fengyuan_yang 5 months ago
parent
commit
482c1d03a4
  1. 27
      src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java
  2. 80
      src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java
  3. 9
      src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

27
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<String> 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<String> getQualityEngineerList() {
return qualityEngineerList;
}
public void setQualityEngineerList(List<String> qualityEngineerList) {
this.qualityEngineerList = qualityEngineerList;
}
public String getRadius() {
return radius;

80
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 <inData.getQuotationOfficerList().size() ; i++) {
// PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
// teamData.setSite(inData.getSite());
// teamData.setOperatorId(inData.getQuotationOfficerList().get(i));
// teamData.setCodeNo(inData.getCodeNo());
// teamData.setType("quotationOfficer");
// plmTechnicalSpecificationTeams.add(teamData);
// }
// CS
for (int i = 0; i < inData.getCsOperatorList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
@ -240,6 +224,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("technician");
plmTechnicalSpecificationTeams.add(teamData);
}
// qualityEngineer
for (int i = 0; i < inData.getQualityEngineerList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
teamData.setOperatorId(inData.getQualityEngineerList().get(i));
teamData.setCodeNo(inData.getCodeNo());
teamData.setType("qualityEngineer");
plmTechnicalSpecificationTeams.add(teamData);
}
// Technical
for (int i = 0; i < inData.getMpOperatorList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
@ -286,9 +279,6 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
plmTechnicalSpecificationTeams.add(teamData);
}
// 新增人员
// for (PlmTechnicalSpecificationTeamData plmTechnicalSpecificationTeam : plmTechnicalSpecificationTeams) {
// technicalSpecificationMapper.saveTechnicalSpecificationTeams(plmTechnicalSpecificationTeam);
// }
int batchSize = 25;
List<PlmTechnicalSpecificationTeamData> teams = plmTechnicalSpecificationTeams;
int totalSize = teams.size();
@ -297,7 +287,6 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
List<PlmTechnicalSpecificationTeamData> 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 <inData.getQuotationOfficerList().size() ; i++) {
// PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
// teamData.setSite(inData.getSite());
// teamData.setOperatorId(inData.getQuotationOfficerList().get(i));
// teamData.setCodeNo(inData.getCodeNo());
// teamData.setType("quotationOfficer");
// plmTechnicalSpecificationTeams.add(teamData);
// }
// CS
for (int i = 0; i < inData.getCsOperatorList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
@ -393,6 +373,15 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("technician");
plmTechnicalSpecificationTeams.add(teamData);
}
// qualityEngineer
for (int i = 0; i < inData.getQualityEngineerList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
teamData.setOperatorId(inData.getQualityEngineerList().get(i));
teamData.setCodeNo(inData.getCodeNo());
teamData.setType("qualityEngineer");
plmTechnicalSpecificationTeams.add(teamData);
}
// Technical
for (int i = 0; i < inData.getMpOperatorList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData();
@ -439,9 +428,6 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
plmTechnicalSpecificationTeams.add(teamData);
}
// 新增人员
// for (PlmTechnicalSpecificationTeamData plmTechnicalSpecificationTeam : plmTechnicalSpecificationTeams) {
// technicalSpecificationMapper.saveTechnicalSpecificationTeams(plmTechnicalSpecificationTeam);
// }
int batchSize = 25;
List<PlmTechnicalSpecificationTeamData> teams = plmTechnicalSpecificationTeams;
int totalSize = teams.size();
@ -1574,7 +1560,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
List<PlmTechnicalSpecificationTeamData> css = operatorList.stream().filter(a -> "cs".equals(a.getType())).collect(Collectors.toList()); // Select CS
List<PlmTechnicalSpecificationTeamData> mps = operatorList.stream().filter(a -> "mp".equals(a.getType())).collect(Collectors.toList()); // Select Technical
List<PlmTechnicalSpecificationTeamData> plans = operatorList.stream().filter(a -> "plan".equals(a.getType())).collect(Collectors.toList()); // Select CS
List<PlmTechnicalSpecificationTeamData> 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<OaUserData> 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<PlmTechnicalSpecificationTeamData> css = operatorList.stream().filter(a -> "cs".equals(a.getType())).collect(Collectors.toList());
List<PlmTechnicalSpecificationTeamData> mps = operatorList.stream().filter(a -> "mp".equals(a.getType())).collect(Collectors.toList());
List<PlmTechnicalSpecificationTeamData> plans = operatorList.stream().filter(a -> "plan".equals(a.getType())).collect(Collectors.toList());
List<PlmTechnicalSpecificationTeamData> 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> mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans);
List<MainData> 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<PlmTechnicalSpecificationTeamData> css = operatorList.stream().filter(a -> "cs".equals(a.getType())).collect(Collectors.toList());
List<PlmTechnicalSpecificationTeamData> mps = operatorList.stream().filter(a -> "mp".equals(a.getType())).collect(Collectors.toList());
List<PlmTechnicalSpecificationTeamData> plans = operatorList.stream().filter(a -> "plan".equals(a.getType())).collect(Collectors.toList());
List<PlmTechnicalSpecificationTeamData> 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> mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps, plans);
List<MainData> 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<MainData> getMainData(String site, Map<String, String> baseData, PlmTechnicalSpecificationSheet changeRequest, List<PlmTechnicalSpecificationTeamData> engineers,
List<PlmTechnicalSpecificationTeamData> technicians, List<PlmTechnicalSpecificationTeamData> dccs, List<PlmTechnicalSpecificationTeamData> cqcs,
List<PlmTechnicalSpecificationTeamData> fais, List<PlmTechnicalSpecificationTeamData> css, List<PlmTechnicalSpecificationTeamData> mps,
List<PlmTechnicalSpecificationTeamData> plans) {
List<PlmTechnicalSpecificationTeamData> plans, List<PlmTechnicalSpecificationTeamData> qualityEngineers) {
// 创建 mainData
List<MainData> mainData = new ArrayList<>();
List<PlmRequestDetailVo> 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<OaUserData> 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<OaUserData> 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

9
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')
</delete>
<delete id="deleteTechnicalSpecificationTeamsForDetail">
@ -265,6 +265,7 @@
and code_no = #{codeNo}
and type in ('reviewEngineer', 'peEngineer', 'cqe')
</delete>
<select id="searchTechnicalSpecificationTeamStr" resultType="String">
select operator_id
from plm_technicalSpecification_team
@ -352,6 +353,8 @@
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'engineer') engineer,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'technician') technicianNo,
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'technician') technician,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'qualityEngineer') qualityEngineerNo,
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'qualityEngineer') qualityEngineer,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'mp') mpOperator,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'mp') mpOperatorName,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dcc,
@ -2454,6 +2457,8 @@
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'engineer') engineer,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'technician') technicianNo,
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'technician') technician,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'qualityEngineer') qualityEngineerNo,
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'qualityEngineer') qualityEngineer,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'mp') mpOperator,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'mp') mpOperatorName,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dccOperaterName,
@ -2854,6 +2859,8 @@
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'engineer') engineer,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'technician') technicianNo,
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'technician') technician,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'qualityEngineer') qualityEngineerNo,
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'qualityEngineer') qualityEngineer,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'mp') mpOperator,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'mp') mpOperatorName,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dccOperaterName,

Loading…
Cancel
Save