Browse Source

2025-04-30

master
qiezi 9 months ago
parent
commit
dc5d468b1a
  1. 1
      src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java
  2. 26
      src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java
  3. 84
      src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java
  4. 30
      src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

1
src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java

@ -55,6 +55,7 @@ public interface TechnicalSpecificationMapper {
void updateProjectPartNowBm(PlmTechnicalSpecificationSheetData inData); void updateProjectPartNowBm(PlmTechnicalSpecificationSheetData inData);
void saveTechnicalSpecificationTeams(PlmTechnicalSpecificationTeamData inData); void saveTechnicalSpecificationTeams(PlmTechnicalSpecificationTeamData inData);
void saveBatchTechnicalSpecificationTeams(List<PlmTechnicalSpecificationTeamData> list);
void updateTechnicalSpecificationSheet(PlmTechnicalSpecificationSheetData inData); void updateTechnicalSpecificationSheet(PlmTechnicalSpecificationSheetData inData);
/** /**

26
src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java

@ -72,6 +72,32 @@ public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificatio
private String plmPartNo; private String plmPartNo;
private String partSpec; private String partSpec;
/**
* CQC人员多选
*/
private List<String> cqcOperatorList;
/**
* FAI人员多选
*/
private List<String> faiOperatorList;
public List<String> getCqcOperatorList() {
return cqcOperatorList;
}
public void setCqcOperatorList(List<String> cqcOperatorList) {
this.cqcOperatorList = cqcOperatorList;
}
public List<String> getFaiOperatorList() {
return faiOperatorList;
}
public void setFaiOperatorList(List<String> faiOperatorList) {
this.faiOperatorList = faiOperatorList;
}
public String getPartSpec() { public String getPartSpec() {
return partSpec; return partSpec;
} }

84
src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java

@ -1,5 +1,6 @@
package com.spring.modules.sampleManagement.service.Impl; package com.spring.modules.sampleManagement.service.Impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -113,20 +114,21 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
searchTestPart.setSite(inData.getSite()); searchTestPart.setSite(inData.getSite());
searchTestPart.setTestPartNo(inData.getTestPartNo()); searchTestPart.setTestPartNo(inData.getTestPartNo());
List<PlmProjectPartData> checkPart=quotationInformationMapper.getProjectPartList(searchTestPart); List<PlmProjectPartData> checkPart=quotationInformationMapper.getProjectPartList(searchTestPart);
if(checkPart.size()==0){
if(checkPart.isEmpty()){
throw new RuntimeException("项目物料不存在"); throw new RuntimeException("项目物料不存在");
} }
if("".equals(checkPart.get(0).getFinalPartNo())||checkPart.get(0).getFinalPartNo()==null){ if("".equals(checkPart.get(0).getFinalPartNo())||checkPart.get(0).getFinalPartNo()==null){
throw new RuntimeException("该物料没有生成正式物料!"); throw new RuntimeException("该物料没有生成正式物料!");
} }
List<PartInformationEntity> partList = List<PartInformationEntity> partList =
partInformationMapper.selectList(new QueryWrapper<PartInformationEntity>()
.eq("part_no", checkPart.get(0).getFinalPartNo())
.eq("site", inData.getSite()));
if(partList.size()==0){
partInformationMapper.selectList(new LambdaQueryWrapper<PartInformationEntity>()
.eq(PartInformationEntity::getPartNo, checkPart.get(0).getFinalPartNo())
.eq(PartInformationEntity::getSite, inData.getSite()));
if(partList.isEmpty()){
throw new RuntimeException("该正式料号不在物料清单内!"); throw new RuntimeException("该正式料号不在物料清单内!");
} }
if(inData.getId()==0){ if(inData.getId()==0){
// 新增
//根据生效日期查询bom版本号 //根据生效日期查询bom版本号
BomHeaderEntity bomHeaderEntity=technicalSpecificationMapper.getBomNowRevNo(inData.getSite(),checkPart.get(0).getFinalPartNo()); BomHeaderEntity bomHeaderEntity=technicalSpecificationMapper.getBomNowRevNo(inData.getSite(),checkPart.get(0).getFinalPartNo());
if(!Objects.isNull(bomHeaderEntity)){ if(!Objects.isNull(bomHeaderEntity)){
@ -147,15 +149,17 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
inData.setRoutingAlternativeNo(routingDetailEntity.getAlternativeNo()); inData.setRoutingAlternativeNo(routingDetailEntity.getAlternativeNo());
} }
} }
// 获取单号
String codeId = transNoControlService.transNo(inData.getSite(),"technical_specification"); String codeId = transNoControlService.transNo(inData.getSite(),"technical_specification");
inData.setCodeNo(codeId); inData.setCodeNo(codeId);
inData.setOriCodeNo(codeId); inData.setOriCodeNo(codeId);
inData.setCreateBy(sysUserEntity.getUsername()); inData.setCreateBy(sysUserEntity.getUsername());
inData.setStatus("cg"); inData.setStatus("cg");
technicalSpecificationMapper.saveTechnicalSpecificationSheet(inData); technicalSpecificationMapper.saveTechnicalSpecificationSheet(inData);
// 修改参数
technicalSpecificationMapper.updateProjectPartNowBm(inData); technicalSpecificationMapper.updateProjectPartNowBm(inData);
}else { }else {
// 修改操作
// PlmProjectInfoData checkPlmProjectInfoData=projectDao.checkPlmProjectInfoData(inData); // PlmProjectInfoData checkPlmProjectInfoData=projectDao.checkPlmProjectInfoData(inData);
// if(!checkPlmProjectInfoData.getCustomerId().equals(inData.getCustomerId())){ // if(!checkPlmProjectInfoData.getCustomerId().equals(inData.getCustomerId())){
// PlmProjectContactData projectContactData=new PlmProjectContactData(); // PlmProjectContactData projectContactData=new PlmProjectContactData();
@ -165,8 +169,11 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
// } // }
inData.setUpdateBy(sysUserEntity.getUsername()); inData.setUpdateBy(sysUserEntity.getUsername());
technicalSpecificationMapper.updateTechnicalSpecificationSheet(inData); technicalSpecificationMapper.updateTechnicalSpecificationSheet(inData);
// 删除所有人员
technicalSpecificationMapper.deleteTechnicalSpecificationTeamsForBase(inData); technicalSpecificationMapper.deleteTechnicalSpecificationTeamsForBase(inData);
} }
// --处理人员数据 修改已提前删除所有人员
// 前端已注释
for (int i = 0; i <inData.getQuotationOfficerList().size() ; i++) { for (int i = 0; i <inData.getQuotationOfficerList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData(); PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite()); teamData.setSite(inData.getSite());
@ -175,6 +182,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("quotationOfficer"); teamData.setType("quotationOfficer");
plmTechnicalSpecificationTeams.add(teamData); plmTechnicalSpecificationTeams.add(teamData);
} }
// 前端已注释
for (int i = 0; i <inData.getEngineerList().size() ; i++) { for (int i = 0; i <inData.getEngineerList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData(); PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite()); teamData.setSite(inData.getSite());
@ -183,6 +191,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("engineer"); teamData.setType("engineer");
plmTechnicalSpecificationTeams.add(teamData); plmTechnicalSpecificationTeams.add(teamData);
} }
// 前端已注释
for (int i = 0; i <inData.getTechnicianList().size() ; i++) { for (int i = 0; i <inData.getTechnicianList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData(); PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite()); teamData.setSite(inData.getSite());
@ -191,6 +200,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("technician"); teamData.setType("technician");
plmTechnicalSpecificationTeams.add(teamData); plmTechnicalSpecificationTeams.add(teamData);
} }
// DCC人员处理
for (int i = 0; i <inData.getDccList().size() ; i++) { for (int i = 0; i <inData.getDccList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData(); PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite()); teamData.setSite(inData.getSite());
@ -199,8 +209,35 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("dcc"); teamData.setType("dcc");
plmTechnicalSpecificationTeams.add(teamData); plmTechnicalSpecificationTeams.add(teamData);
} }
for (int i = 0; i <plmTechnicalSpecificationTeams.size() ; i++) {
technicalSpecificationMapper.saveTechnicalSpecificationTeams(plmTechnicalSpecificationTeams.get(i));
// CQC
for (String cqc : inData.getCqcOperatorList()) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
teamData.setOperatorId(cqc);
teamData.setCodeNo(inData.getCodeNo());
teamData.setType("cqc");
plmTechnicalSpecificationTeams.add(teamData);
}
//FAI
for (String fai : inData.getFaiOperatorList()) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
teamData.setOperatorId(fai);
teamData.setCodeNo(inData.getCodeNo());
teamData.setType("fai");
plmTechnicalSpecificationTeams.add(teamData);
}
// 新增人员
// for (PlmTechnicalSpecificationTeamData plmTechnicalSpecificationTeam : plmTechnicalSpecificationTeams) {
// technicalSpecificationMapper.saveTechnicalSpecificationTeams(plmTechnicalSpecificationTeam);
// }
int batchSize = 25;
List<PlmTechnicalSpecificationTeamData> teams = plmTechnicalSpecificationTeams;
int totalSize = teams.size();
for (int startIndex = 0; startIndex < totalSize; startIndex += batchSize) {
int endIndex = Math.min(startIndex + batchSize, totalSize);
List<PlmTechnicalSpecificationTeamData> batchList = teams.subList(startIndex, endIndex);
technicalSpecificationMapper.saveBatchTechnicalSpecificationTeams(batchList);
} }
// PlmProjectInfo plmProjectInfo=projectDao.getProjectData(inData.getSite(),inData.getProjectId()); // PlmProjectInfo plmProjectInfo=projectDao.getProjectData(inData.getSite(),inData.getProjectId());
inData.setBuNo(checkPart.get(0).getBuNo()); inData.setBuNo(checkPart.get(0).getBuNo());
@ -291,8 +328,35 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("dcc"); teamData.setType("dcc");
plmTechnicalSpecificationTeams.add(teamData); plmTechnicalSpecificationTeams.add(teamData);
} }
for (int i = 0; i <plmTechnicalSpecificationTeams.size() ; i++) {
technicalSpecificationMapper.saveTechnicalSpecificationTeams(plmTechnicalSpecificationTeams.get(i));
// CQC
for (String cqc : inData.getCqcOperatorList()) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
teamData.setOperatorId(cqc);
teamData.setCodeNo(inData.getCodeNo());
teamData.setType("cqc");
plmTechnicalSpecificationTeams.add(teamData);
}
//FAI
for (String fai : inData.getFaiOperatorList()) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
teamData.setOperatorId(fai);
teamData.setCodeNo(inData.getCodeNo());
teamData.setType("fai");
plmTechnicalSpecificationTeams.add(teamData);
}
// 新增人员
// for (PlmTechnicalSpecificationTeamData plmTechnicalSpecificationTeam : plmTechnicalSpecificationTeams) {
// technicalSpecificationMapper.saveTechnicalSpecificationTeams(plmTechnicalSpecificationTeam);
// }
int batchSize = 25;
List<PlmTechnicalSpecificationTeamData> teams = plmTechnicalSpecificationTeams;
int totalSize = teams.size();
for (int startIndex = 0; startIndex < totalSize; startIndex += batchSize) {
int endIndex = Math.min(startIndex + batchSize, totalSize);
List<PlmTechnicalSpecificationTeamData> batchList = teams.subList(startIndex, endIndex);
technicalSpecificationMapper.saveBatchTechnicalSpecificationTeams(batchList);
} }
} }

30
src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

@ -219,6 +219,13 @@
insert into plm_technicalSpecification_team (site,code_no,operator_id,type) insert into plm_technicalSpecification_team (site,code_no,operator_id,type)
values (#{site},#{codeNo},#{operatorId},#{type}) values (#{site},#{codeNo},#{operatorId},#{type})
</insert> </insert>
<insert id="saveBatchTechnicalSpecificationTeams" >
insert into plm_technicalSpecification_team (site,code_no,operator_id,type)
values
<foreach collection="list" item="item" separator=",">
(#{item.site},#{item.codeNo},#{item.operatorId},#{item.type})
</foreach>
</insert>
<update id="updateTechnicalSpecificationSheet"> <update id="updateTechnicalSpecificationSheet">
update plm_technical_specification_sheet set project_id=#{projectId},test_part_no=#{testPartNo},status=#{status} update plm_technical_specification_sheet set project_id=#{projectId},test_part_no=#{testPartNo},status=#{status}
@ -229,7 +236,7 @@
</update> </update>
<delete id="deleteTechnicalSpecificationTeamsForBase"> <delete id="deleteTechnicalSpecificationTeamsForBase">
delete from plm_technicalSpecification_team where site=#{site} and code_no=#{codeNo} and type in ('quotationOfficer','engineer','technician','dcc')
delete from plm_technicalSpecification_team where site=#{site} and code_no=#{codeNo} and type in ('quotationOfficer','engineer','technician','dcc','cqc','fai')
</delete> </delete>
<delete id="deleteTechnicalSpecificationTeamsForDetail"> <delete id="deleteTechnicalSpecificationTeamsForDetail">
delete from plm_technicalSpecification_team where site=#{site} and code_no=#{codeNo} and type in ('reviewEngineer','peEngineer','cqe') delete from plm_technicalSpecification_team where site=#{site} and code_no=#{codeNo} and type in ('reviewEngineer','peEngineer','cqe')
@ -293,10 +300,6 @@
dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'quotationOfficer') quotationOfficer, dbo.get_technicalSpecificationTeamName(a.site, a.code_no, 'quotationOfficer') quotationOfficer,
c.customer_Id, c.customer_Id,
a.ori_code_no, a.ori_code_no,
a.cqcOperator,
a.faiOperator,
dbo.get_userDisPlay(a.cqcOperator) cqcOperatorName,
dbo.get_userDisPlay(a.faiOperator) faiOperatorName,
a.overPrintOperator, a.overPrintOperator,
a.printOperator, a.printOperator,
dbo.get_userDisPlay(a.overPrintOperator) overPrintOperatorName, dbo.get_userDisPlay(a.overPrintOperator) overPrintOperatorName,
@ -316,6 +319,12 @@
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'engineer') engineerNo, dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'engineer') engineerNo,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dcc, dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dcc,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'technician') technicianNo, dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'technician') technicianNo,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'cqc') cqcOperatorName,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'fai') faiOperatorName,
<!-- a.cqcOperator,-->
<!-- a.faiOperator,-->
<!-- dbo.get_userDisPlay(a.cqcOperator) cqcOperatorName,-->
<!-- dbo.get_userDisPlay(a.faiOperator) faiOperatorName,-->
a.rev, a.rev,
a.customer_rev, a.customer_rev,
relevance_part_no relevance_part_no
@ -1431,16 +1440,17 @@ step_id,reject_flag,reject_step_id,mpOperator,pod
a.pod, a.pod,
a.mpOperator, a.mpOperator,
dbo.get_userDisPlay(a.mpOperator) as mpOperatorName, dbo.get_userDisPlay(a.mpOperator) as mpOperatorName,
a.cqcOperator,
dbo.get_userDisPlay(a.cqcOperator) as cqcOperatorName,
a.faiOperator,
dbo.get_userDisPlay(a.faiOperator) as faiOperatorName,
a.peOperater, a.peOperater,
dbo.get_userDisPlay(a.peOperater) as peOperaterName, dbo.get_userDisPlay(a.peOperater) as peOperaterName,
a.csOperater, a.csOperater,
dbo.get_userDisPlay(a.csOperater) as csOperaterName, dbo.get_userDisPlay(a.csOperater) as csOperaterName,
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'dcc') as dccOperater,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') as dccOperaterName, dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') as dccOperaterName,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'cqc') as cqcOperatorName,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'fai') as faiOperatorName,
<!-- a.cqcOperator,-->
<!-- dbo.get_userDisPlay(a.cqcOperator) as cqcOperatorName,-->
<!-- a.faiOperator,-->
<!-- dbo.get_userDisPlay(a.faiOperator) as faiOperatorName,-->
d.is_reject as isReject, d.is_reject as isReject,
d.node_id as nodeId, d.node_id as nodeId,
d.node_name as nodeName, d.node_name as nodeName,

Loading…
Cancel
Save