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 saveTechnicalSpecificationTeams(PlmTechnicalSpecificationTeamData inData);
void saveBatchTechnicalSpecificationTeams(List<PlmTechnicalSpecificationTeamData> list);
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 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() {
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;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -113,20 +114,21 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
searchTestPart.setSite(inData.getSite());
searchTestPart.setTestPartNo(inData.getTestPartNo());
List<PlmProjectPartData> checkPart=quotationInformationMapper.getProjectPartList(searchTestPart);
if(checkPart.size()==0){
if(checkPart.isEmpty()){
throw new RuntimeException("项目物料不存在");
}
if("".equals(checkPart.get(0).getFinalPartNo())||checkPart.get(0).getFinalPartNo()==null){
throw new RuntimeException("该物料没有生成正式物料!");
}
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("该正式料号不在物料清单内!");
}
if(inData.getId()==0){
// 新增
//根据生效日期查询bom版本号
BomHeaderEntity bomHeaderEntity=technicalSpecificationMapper.getBomNowRevNo(inData.getSite(),checkPart.get(0).getFinalPartNo());
if(!Objects.isNull(bomHeaderEntity)){
@ -147,15 +149,17 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
inData.setRoutingAlternativeNo(routingDetailEntity.getAlternativeNo());
}
}
// 获取单号
String codeId = transNoControlService.transNo(inData.getSite(),"technical_specification");
inData.setCodeNo(codeId);
inData.setOriCodeNo(codeId);
inData.setCreateBy(sysUserEntity.getUsername());
inData.setStatus("cg");
technicalSpecificationMapper.saveTechnicalSpecificationSheet(inData);
// 修改参数
technicalSpecificationMapper.updateProjectPartNowBm(inData);
}else {
// 修改操作
// PlmProjectInfoData checkPlmProjectInfoData=projectDao.checkPlmProjectInfoData(inData);
// if(!checkPlmProjectInfoData.getCustomerId().equals(inData.getCustomerId())){
// PlmProjectContactData projectContactData=new PlmProjectContactData();
@ -165,8 +169,11 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
// }
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());
@ -175,6 +182,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("quotationOfficer");
plmTechnicalSpecificationTeams.add(teamData);
}
// 前端已注释
for (int i = 0; i <inData.getEngineerList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
@ -183,6 +191,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("engineer");
plmTechnicalSpecificationTeams.add(teamData);
}
// 前端已注释
for (int i = 0; i <inData.getTechnicianList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
@ -191,6 +200,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("technician");
plmTechnicalSpecificationTeams.add(teamData);
}
// DCC人员处理
for (int i = 0; i <inData.getDccList().size() ; i++) {
PlmTechnicalSpecificationTeamData teamData=new PlmTechnicalSpecificationTeamData();
teamData.setSite(inData.getSite());
@ -199,8 +209,35 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("dcc");
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());
inData.setBuNo(checkPart.get(0).getBuNo());
@ -291,8 +328,35 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
teamData.setType("dcc");
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)
values (#{site},#{codeNo},#{operatorId},#{type})
</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 plm_technical_specification_sheet set project_id=#{projectId},test_part_no=#{testPartNo},status=#{status}
@ -229,7 +236,7 @@
</update>
<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 id="deleteTechnicalSpecificationTeamsForDetail">
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,
c.customer_Id,
a.ori_code_no,
a.cqcOperator,
a.faiOperator,
dbo.get_userDisPlay(a.cqcOperator) cqcOperatorName,
dbo.get_userDisPlay(a.faiOperator) faiOperatorName,
a.overPrintOperator,
a.printOperator,
dbo.get_userDisPlay(a.overPrintOperator) overPrintOperatorName,
@ -316,6 +319,12 @@
dbo.get_technicalSpecificationTeamNo(a.site, a.code_no, 'engineer') engineerNo,
dbo.get_technicalSpecificationTeamNames(a.site, a.code_no, 'dcc') dcc,
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.customer_rev,
relevance_part_no
@ -1431,16 +1440,17 @@ step_id,reject_flag,reject_step_id,mpOperator,pod
a.pod,
a.mpOperator,
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,
dbo.get_userDisPlay(a.peOperater) as peOperaterName,
a.csOperater,
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, '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.node_id as nodeId,
d.node_name as nodeName,

Loading…
Cancel
Save