@ -122,43 +122,46 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
@Transactional
public PlmTechnicalSpecificationSheetData saveTechnicalSpecificationSheet ( PlmTechnicalSpecificationSheetData inData ) {
SysUserEntity sysUserEntity = ( SysUserEntity ) SecurityUtils . getSubject ( ) . getPrincipal ( ) ;
List < PlmTechnicalSpecificationTeamData > plmTechnicalSpecificationTeams = new ArrayList < > ( ) ;
PlmProjectPartData searchTestPart = new PlmProjectPartData ( ) ;
List < PlmTechnicalSpecificationTeamData > plmTechnicalSpecificationTeams = new ArrayList < > ( ) ;
PlmProjectPartData searchTestPart = new PlmProjectPartData ( ) ;
searchTestPart . setSite ( inData . getSite ( ) ) ;
searchTestPart . setTestPartNo ( inData . getTestPartNo ( ) ) ;
List < PlmProjectPartData > checkPart = quotationInformationMapper . getProjectPartList ( searchTestPart ) ;
if ( checkPart . isEmpty ( ) ) {
List < PlmProjectPartData > checkPart = quotationInformationMapper . getProjectPartList ( searchTestPart ) ;
if ( checkPart . isEmpty ( ) ) {
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 ( "该物料没有生成正式物料!" ) ;
}
List < PartInformationEntity > partList =
partInformationMapper . selectList ( new LambdaQueryWrapper < PartInformationEntity > ( )
List < PartInformationEntity > partList = partInformationMapper . selectList ( new LambdaQueryWrapper < PartInformationEntity > ( )
. eq ( PartInformationEntity : : getPartNo , checkPart . get ( 0 ) . getFinalPartNo ( ) )
. eq ( PartInformationEntity : : getSite , inData . getSite ( ) ) ) ;
if ( partList . isEmpty ( ) ) {
if ( partList . isEmpty ( ) ) {
throw new RuntimeException ( "该正式料号不在物料清单内!" ) ;
}
if ( inData . getId ( ) = = 0 ) {
if ( inData . getId ( ) = = 0 ) {
/ / 新增
/ / 根据生效日期查询bom版本号
BomHeaderEntity bomHeaderEntity = technicalSpecificationMapper . getBomNowRevNo ( inData . getSite ( ) , checkPart . get ( 0 ) . getFinalPartNo ( ) ) ;
if ( ! Objects . isNull ( bomHeaderEntity ) ) {
BomHeaderEntity bomHeaderEntity = technicalSpecificationMapper . getBomNowRevNo ( inData . getSite ( ) , checkPart . get ( 0 ) . getFinalPartNo ( ) ) ;
if ( ! Objects . isNull ( bomHeaderEntity ) ) {
inData . setBomType ( bomHeaderEntity . getBomType ( ) ) ;
inData . setEngChgLevel ( bomHeaderEntity . getEngChgLevel ( ) ) ;
BomDetailEntity bomDetailEntity = technicalSpecificationMapper . getTopOneBomAlternativeNo ( bomHeaderEntity ) ;
if ( ! Objects . isNull ( bomDetailEntity ) ) {
if ( ! Objects . isNull ( bomDetailEntity ) ) {
inData . setBomAlternativeNo ( bomDetailEntity . getAlternativeNo ( ) ) ;
}
}
/ / 根据生效日期查询Route版本号
RoutingHeaderEntity routingHeaderEntity = technicalSpecificationMapper . getRouteNowRevNo ( inData . getSite ( ) , checkPart . get ( 0 ) . getFinalPartNo ( ) ) ;
if ( ! Objects . isNull ( routingHeaderEntity ) ) {
RoutingHeaderEntity routingHeaderEntity = technicalSpecificationMapper . getRouteNowRevNo ( inData . getSite ( ) , checkPart . get ( 0 ) . getFinalPartNo ( ) ) ;
if ( ! Objects . isNull ( routingHeaderEntity ) ) {
inData . setRoutingType ( routingHeaderEntity . getRoutingType ( ) ) ;
inData . setRoutingRevision ( routingHeaderEntity . getRoutingRevision ( ) ) ;
RoutingDetailEntity routingDetailEntity = technicalSpecificationMapper . getTopOneRouteAlternativeNo ( routingHeaderEntity ) ;
if ( ! Objects . isNull ( routingDetailEntity ) ) {
RoutingDetailEntity routingDetailEntity = technicalSpecificationMapper . getTopOneRouteAlternativeNo ( routingHeaderEntity ) ;
if ( ! Objects . isNull ( routingDetailEntity ) ) {
inData . setRoutingAlternativeNo ( routingDetailEntity . getAlternativeNo ( ) ) ;
}
}
@ -171,7 +174,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
technicalSpecificationMapper . saveTechnicalSpecificationSheet ( inData ) ;
/ / 修改参数
technicalSpecificationMapper . updateProjectPartNowBm ( inData ) ;
} else {
} else {
/ / 修改操作
/ / PlmProjectInfoData checkPlmProjectInfoData = projectDao . checkPlmProjectInfoData ( inData ) ;
/ / if ( ! checkPlmProjectInfoData . getCustomerId ( ) . equals ( inData . getCustomerId ( ) ) ) {
@ -187,35 +190,53 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
/ / - - 处理人员数据 修改已提前删除所有人员
/ / 前端已注释
for ( int i = 0 ; i < inData . getQuotationOfficerList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / 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 ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getQuotationOfficerList ( ) . get ( i ) ) ;
teamData . setOperatorId ( inData . getCsOperato rList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "quotationOfficer" ) ;
teamData . setType ( "cs " ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / 前端已注释
for ( int i = 0 ; i < inData . getEngineerList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / Engineer
for ( int i = 0 ; i < inData . getEngineerList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getEngineerList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "engineer" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / 前端已注释
for ( int i = 0 ; i < inData . getTechnicianList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / Artwork
for ( int i = 0 ; i < inData . getTechnicianList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getTechnicianList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "technician" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / DCC人员处理
for ( int i = 0 ; i < inData . getDccList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / Technical
for ( int i = 0 ; i < inData . getMpOperatorList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getMpOperatorList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "mp" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / DCC
for ( int i = 0 ; i < inData . getDccList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getDccList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
@ -224,16 +245,16 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
/ / CQC
for ( String cqc : inData . getCqcOperatorList ( ) ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( cqc ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "cqc" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / FAI
/ / FAI
for ( String fai : inData . getFaiOperatorList ( ) ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( fai ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
@ -305,36 +326,59 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
@Override
public void updateBMBasicInformation ( PlmTechnicalSpecificationSheetData inData ) {
SysUserEntity sysUserEntity = ( SysUserEntity ) SecurityUtils . getSubject ( ) . getPrincipal ( ) ;
List < PlmTechnicalSpecificationTeamData > plmTechnicalSpecificationTeams = new ArrayList < > ( ) ;
List < PlmTechnicalSpecificationTeamData > plmTechnicalSpecificationTeams = new ArrayList < > ( ) ;
inData . setUpdateBy ( sysUserEntity . getUsername ( ) ) ;
technicalSpecificationMapper . updateBMBasicInformation ( inData ) ;
technicalSpecificationMapper . deleteTechnicalSpecificationTeamsForBase ( inData ) ;
for ( int i = 0 ; i < inData . getQuotationOfficerList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / 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 ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getQuotationOfficerList ( ) . get ( i ) ) ;
teamData . setOperatorId ( inData . getCsOperato rList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "quotationOfficer" ) ;
teamData . setType ( "cs " ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
for ( int i = 0 ; i < inData . getEngineerList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / Engineer
for ( int i = 0 ; i < inData . getEngineerList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getEngineerList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "engineer" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
for ( int i = 0 ; i < inData . getTechnicianList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / Artwork
for ( int i = 0 ; i < inData . getTechnicianList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getTechnicianList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "technician" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
for ( int i = 0 ; i < inData . getDccList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
/ / Technical
for ( int i = 0 ; i < inData . getMpOperatorList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getMpOperatorList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "mp" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / DCC
for ( int i = 0 ; i < inData . getDccList ( ) . size ( ) ; i + + ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( inData . getDccList ( ) . get ( i ) ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
@ -343,16 +387,16 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
/ / CQC
for ( String cqc : inData . getCqcOperatorList ( ) ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( cqc ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
teamData . setType ( "cqc" ) ;
plmTechnicalSpecificationTeams . add ( teamData ) ;
}
/ / FAI
/ / FAI
for ( String fai : inData . getFaiOperatorList ( ) ) {
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
PlmTechnicalSpecificationTeamData teamData = new PlmTechnicalSpecificationTeamData ( ) ;
teamData . setSite ( inData . getSite ( ) ) ;
teamData . setOperatorId ( fai ) ;
teamData . setCodeNo ( inData . getCodeNo ( ) ) ;
@ -1263,9 +1307,12 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
PlmTechnicalSpecificationSheet changeRequest = technicalSpecificationMapper . selectTechnicalSpecification ( data . getSite ( ) , data . getCodeNo ( ) ) ;
/ / 人员信息
List < PlmTechnicalSpecificationTeamData > operatorList = technicalSpecificationMapper . selectTechnicalSpecificationTeam ( data . getSite ( ) , data . getCodeNo ( ) ) ;
List < PlmTechnicalSpecificationTeamData > engineers = operatorList . stream ( ) . filter ( a - > "engineer" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < PlmTechnicalSpecificationTeamData > technicians = operatorList . stream ( ) . filter ( a - > "technician" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < PlmTechnicalSpecificationTeamData > dccs = operatorList . stream ( ) . filter ( a - > "dcc" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < PlmTechnicalSpecificationTeamData > engineers = operatorList . stream ( ) . filter ( a - > "engineer" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ; / / Select Engineer
List < PlmTechnicalSpecificationTeamData > technicians = operatorList . stream ( ) . filter ( a - > "technician" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ; / / Select Artwork
List < PlmTechnicalSpecificationTeamData > dccs = operatorList . stream ( ) . filter ( a - > "dcc" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ; / / Select DCC
/ / 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
/ / 根据字段对应的数据库表 + 字段查询出数据
for ( PlmRequestDetailVo nodeDetail : nodeDetails ) {
@ -1299,7 +1346,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
}
} else if ( "plm_technicalSpecification_team" . equals ( nodeDetail . getPlmTable ( ) ) ) { / / 多选人员表
if ( "engineer" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
if ( "engineerList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData engineer : engineers ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( engineer . getDomainControlAccount ( ) ) ;
@ -1308,7 +1355,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "technician" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
} else if ( "technicianList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData technician : technicians ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( technician . getDomainControlAccount ( ) ) ;
@ -1317,7 +1364,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "dcc" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
} else if ( "dccList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData dcc : dccs ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( dcc . getDomainControlAccount ( ) ) ;
@ -1326,6 +1373,24 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "csOperatorList" . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData cs : css ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( cs . getDomainControlAccount ( ) ) ;
if ( oaIds . isEmpty ( ) ) {
throw new RuntimeException ( "未获取到域控账号对应的OA人员!" ) ;
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "mpOperatorList" . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData mp : mps ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( mp . 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 ) : "" ;
}
@ -1393,6 +1458,9 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
List < PlmTechnicalSpecificationTeamData > dccs = operatorList . stream ( ) . filter ( a - > "dcc" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < PlmTechnicalSpecificationTeamData > cqcs = operatorList . stream ( ) . filter ( a - > "cqc" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
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 ( ) ) ;
ParamData paramData = new ParamData ( data . getSite ( ) , baseData . get ( "nodeId" ) , baseData . get ( "nodeName" ) , data . getCodeNo ( ) , data . getUserName ( ) , baseData . get ( "classificationNo" ) ,
baseData . get ( "userId" ) , baseData . get ( "workflowId" ) , baseData . get ( "workflowname" ) , baseData . get ( "requestName" ) , baseData . get ( "path" ) , baseData . get ( "requestId" ) ,
@ -1412,7 +1480,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
}
List < MainData > mainData = getMainData ( data . getSite ( ) , baseData , changeRequest , engineers , technicians , dccs , cqcs , fais ) ;
List < MainData > mainData = getMainData ( data . getSite ( ) , baseData , changeRequest , engineers , technicians , dccs , cqcs , fais , css , mps ) ;
paramData . setMainData ( mainData ) ;
SubmitRequestParam submitRequestParam = new SubmitRequestParam ( ) ;
submitRequestParam . setUserId ( paramData . getUserId ( ) ) ;
@ -1530,6 +1598,8 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
List < PlmTechnicalSpecificationTeamData > dccs = operatorList . stream ( ) . filter ( a - > "dcc" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < PlmTechnicalSpecificationTeamData > cqcs = operatorList . stream ( ) . filter ( a - > "cqc" . equals ( a . getType ( ) ) ) . collect ( Collectors . toList ( ) ) ;
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 ( ) ) ;
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" ) ,
@ -1539,7 +1609,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 ) ;
List < MainData > mainData = getMainData ( data . getSite ( ) , baseData , changeRequest , engineers , technicians , dccs , cqcs , fais , css , mps ) ;
paramData . setMainData ( mainData ) ;
SubmitRequestParam submitRequestParam = new SubmitRequestParam ( ) ;
submitRequestParam . setUserId ( paramData . getUserId ( ) ) ;
@ -1569,7 +1639,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 > fais , List < PlmTechnicalSpecificationTeamData > css , List < PlmTechnicalSpecificationTeamData > mps ) {
/ / 创建 mainData
List < MainData > mainData = new ArrayList < > ( ) ;
List < PlmRequestDetailVo > nodeDetails = changeManagementMapper . queryNodeDetails ( site , baseData . get ( "workflowId" ) , baseData . get ( "nodeId" ) , baseData . get ( "classificationNo" ) ) ;
@ -1606,7 +1676,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
}
} else if ( "plm_technicalSpecification_team" . equals ( nodeDetail . getPlmTable ( ) ) ) { / / 多选人员表
if ( "engineer" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
if ( "engineerList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData engineer : engineers ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( engineer . getDomainControlAccount ( ) ) ;
@ -1615,7 +1685,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "technician" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
} else if ( "technicianList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData technician : technicians ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( technician . getDomainControlAccount ( ) ) ;
@ -1624,7 +1694,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "dcc" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
} else if ( "dccList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData dcc : dccs ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( dcc . getDomainControlAccount ( ) ) ;
@ -1633,7 +1703,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "cqc" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
} else if ( "cqcOperatorList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData cqc : cqcs ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( cqc . getDomainControlAccount ( ) ) ;
@ -1642,7 +1712,7 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "fai" . equals ( nodeDetail . getPlmField ( ) . split ( "#" ) [ 1 ] ) ) {
} else if ( "faiOperatorList " . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData fai : fais ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( fai . getDomainControlAccount ( ) ) ;
@ -1651,6 +1721,24 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "csOperatorList" . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData cs : css ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( cs . getDomainControlAccount ( ) ) ;
if ( oaIds . isEmpty ( ) ) {
throw new RuntimeException ( "未获取到域控账号对应的OA人员!" ) ;
}
fieldValues . append ( oaIds . get ( 0 ) . getId ( ) ) . append ( "," ) ;
}
} else if ( "mpOperatorList" . equals ( nodeDetail . getPlmField ( ) ) ) {
for ( PlmTechnicalSpecificationTeamData mp : mps ) {
/ / 根据域控账号获取oa人员id
List < OaUserData > oaIds = sysUserDao . selectOaIdByAccount ( mp . 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 ) : "" ;
}