@ -208,13 +208,21 @@ public class HuzhouMergesplitinfoServiceImpl extends ServiceImpl<HuzhouMergespli
}
}
@Override
@Override
public void approvalMergeProject ( MultipartFile [ ] files , String taskId , String flag , String projectid , String comment ) {
public void approvalMergeProject ( MultipartFile [ ] files , String taskId , String flag , String projectid , String comment , HuzhouMergesplitinfoVo mergesplitinfoVo ) {
WorkFlow workFlow = workflowService . approveProjectInfo ( taskId , flag , comment ) ;
WorkFlow workFlow = workflowService . approveProjectInfo ( taskId , flag , comment ) ;
LambdaQueryWrapper < HuzhouProcessinfo > queryWrapper = new LambdaQueryWrapper < > ( ) ;
LambdaQueryWrapper < HuzhouProcessinfo > queryWrapper = new LambdaQueryWrapper < > ( ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProjectid , projectid ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProjectid , projectid ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProcessstatus , "1" ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProcessstatus , "1" ) ;
List < HuzhouProcessinfo > processinfos = processinfoService . list ( queryWrapper ) ;
List < HuzhouProcessinfo > processinfos = processinfoService . list ( queryWrapper ) ;
String processName = processinfos . get ( 0 ) . getProcessName ( ) ;
String processName = processinfos . get ( 0 ) . getProcessName ( ) ;
if ( mergesplitinfoVo ! = null ) {
HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo ( ) ;
BeanUtils . copyProperties ( mergesplitinfoVo , huzhouProjectinfo ) ;
userprojectService . removeByProjectId ( projectid , "0" ) ;
userprojectService . saveFromProject ( huzhouProjectinfo , "0" ) ;
huzhouProjectinfo . setId ( projectid ) ;
projectinfoService . updateById ( huzhouProjectinfo ) ;
}
if ( "3" . equals ( flag ) ) {
if ( "3" . equals ( flag ) ) {
processinfoService . modifyStatusByProjectId ( projectid , "0" , processName ) ;
processinfoService . modifyStatusByProjectId ( projectid , "0" , processName ) ;
return ;
return ;
@ -240,17 +248,36 @@ public class HuzhouMergesplitinfoServiceImpl extends ServiceImpl<HuzhouMergespli
}
}
@Override
@Override
public void approvalSplitProject ( MultipartFile [ ] file , String taskId , String flag , String oldprojectid , String comment ) {
public void approvalSplitProject ( MultipartFile [ ] file , String taskId , String flag , String oldprojectid , String comment , List < HuzhouMergesplitinfoVo > mergesplitinfoVoList ) {
WorkFlow workFlow = workflowService . approveProjectInfo ( taskId , flag , comment ) ;
WorkFlow workFlow = workflowService . approveProjectInfo ( taskId , flag , comment ) ;
LambdaQueryWrapper < HuzhouProcessinfo > queryWrapper = new LambdaQueryWrapper < > ( ) ;
LambdaQueryWrapper < HuzhouProcessinfo > queryWrapper = new LambdaQueryWrapper < > ( ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProjectid , oldprojectid ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProjectid , oldprojectid ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProcessstatus , "1" ) ;
queryWrapper . eq ( HuzhouProcessinfo : : getProcessstatus , "1" ) ;
List < HuzhouProcessinfo > processinfos = processinfoService . list ( queryWrapper ) ;
List < HuzhouProcessinfo > processinfos = processinfoService . list ( queryWrapper ) ;
String processName = processinfos . get ( 0 ) . getProcessName ( ) ;
String processName = processinfos . get ( 0 ) . getProcessName ( ) ;
//新项目id在HuzhouMergesplitinfo projectid字段中
LambdaQueryWrapper < HuzhouMergesplitinfo > lambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
lambdaQueryWrapper . eq ( HuzhouMergesplitinfo : : getId , oldprojectid ) ;
lambdaQueryWrapper . eq ( HuzhouMergesplitinfo : : getMergeOrSplit , "split" ) ;
List < HuzhouMergesplitinfo > list = mergesplitinfoMapper . selectList ( lambdaQueryWrapper ) ;
if ( "3" . equals ( flag ) ) {
if ( "3" . equals ( flag ) ) {
processinfoService . modifyStatusByProjectId ( oldprojectid , "0" , processName ) ;
processinfoService . modifyStatusByProjectId ( oldprojectid , "0" , processName ) ;
return ;
return ;
}
}
if ( mergesplitinfoVoList ! = null ) {
HuzhouProjectinfo huzhouProjectinfo1 = new HuzhouProjectinfo ( ) ;
HuzhouProjectinfo huzhouProjectinfo2 = new HuzhouProjectinfo ( ) ;
BeanUtils . copyProperties ( mergesplitinfoVoList . get ( 0 ) , huzhouProjectinfo1 ) ;
BeanUtils . copyProperties ( mergesplitinfoVoList . get ( 1 ) , huzhouProjectinfo2 ) ;
huzhouProjectinfo1 . setStage ( list . get ( 0 ) . getProjectId ( ) ) ;
huzhouProjectinfo2 . setStage ( list . get ( 1 ) . getProjectId ( ) ) ;
userprojectService . removeByProjectId ( huzhouProjectinfo1 . getId ( ) , "0" ) ;
userprojectService . removeByProjectId ( huzhouProjectinfo2 . getId ( ) , "0" ) ;
userprojectService . saveFromProject ( huzhouProjectinfo1 , "0" ) ;
userprojectService . saveFromProject ( huzhouProjectinfo2 , "0" ) ;
projectinfoService . updateById ( huzhouProjectinfo1 ) ;
projectinfoService . updateById ( huzhouProjectinfo2 ) ;
}
ProcessInstance processInstance = runtimeService . createProcessInstanceQuery ( ) . processInstanceId ( workFlow . getProcessInstanceId ( ) ) . singleResult ( ) ;
ProcessInstance processInstance = runtimeService . createProcessInstanceQuery ( ) . processInstanceId ( workFlow . getProcessInstanceId ( ) ) . singleResult ( ) ;
if ( processInstance = = null & & "1" . equals ( flag ) ) {
if ( processInstance = = null & & "1" . equals ( flag ) ) {
//将旧项目状态变成已停止0.1,可见
//将旧项目状态变成已停止0.1,可见
@ -259,10 +286,6 @@ public class HuzhouMergesplitinfoServiceImpl extends ServiceImpl<HuzhouMergespli
projectinfoService . updateById ( oldpj ) ;
projectinfoService . updateById ( oldpj ) ;
//查询项目拆分后,新项目的id,改变其状态
//查询项目拆分后,新项目的id,改变其状态
//新项目id在HuzhouMergesplitinfo projectid字段中
//新项目id在HuzhouMergesplitinfo projectid字段中
LambdaQueryWrapper < HuzhouMergesplitinfo > lambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
lambdaQueryWrapper . eq ( HuzhouMergesplitinfo : : getId , oldprojectid ) ;
lambdaQueryWrapper . eq ( HuzhouMergesplitinfo : : getMergeOrSplit , "split" ) ;
List < HuzhouMergesplitinfo > list = mergesplitinfoMapper . selectList ( lambdaQueryWrapper ) ;
for ( HuzhouMergesplitinfo mergesplitinfo : list ) {
for ( HuzhouMergesplitinfo mergesplitinfo : list ) {
HuzhouProjectinfo newpj = projectinfoService . getById ( mergesplitinfo . getProjectId ( ) ) ;
HuzhouProjectinfo newpj = projectinfoService . getById ( mergesplitinfo . getProjectId ( ) ) ;
newpj . setStage ( "0" ) ;
newpj . setStage ( "0" ) ;