Browse Source

2025-06-07

原有属性中增加ShopOrder,作为文本填写
技术参数卡增加Copy Flag字段
增加Planner 将该字段放在基本信息中(可选,与是否需要Artwork一致)
master
fengyuan_yang 7 months ago
parent
commit
9f3936d8d1
  1. 19
      src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java
  2. 27
      src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java
  3. 46
      src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java
  4. 15
      src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

19
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<String> planOperatorList;
public String getPlanOperatorName() {
return planOperatorName;
}
public void setPlanOperatorName(String planOperatorName) {
this.planOperatorName = planOperatorName;
}
public List<String> getPlanOperatorList() {
return planOperatorList;
}
public void setPlanOperatorList(List<String> planOperatorList) {
this.planOperatorList = planOperatorList;
}
public String getDocumentSource() {
return documentSource;
}

27
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;

46
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<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
// 根据字段对应的数据库表+字段查询出数据
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<OaUserData> 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<PlmTechnicalSpecificationTeamData> fais = operatorList.stream().filter(a -> "fai".equals(a.getType())).collect(Collectors.toList());
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());
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> mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps);
List<MainData> 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<PlmTechnicalSpecificationTeamData> fais = operatorList.stream().filter(a -> "fai".equals(a.getType())).collect(Collectors.toList());
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());
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> mainData = getMainData(data.getSite(), baseData, changeRequest, engineers, technicians, dccs, cqcs, fais, css, mps);
List<MainData> 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<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> fais, List<PlmTechnicalSpecificationTeamData> css, List<PlmTechnicalSpecificationTeamData> mps,
List<PlmTechnicalSpecificationTeamData> plans) {
// 创建 mainData
List<MainData> mainData = new ArrayList<>();
List<PlmRequestDetailVo> 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<OaUserData> 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) : "";
}

15
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')
</delete>
<delete id="deleteTechnicalSpecificationTeamsForDetail">
@ -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}
</update>
@ -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,

Loading…
Cancel
Save