@ -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 Lambda QueryWrapper< 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 ) ;
}
}
}
}