@ -609,28 +609,40 @@ public class WorkflowExecuteThread {
processInstance . getScheduleTime ( ) ,
processInstance . getScheduleTime ( ) ,
complementListDate . toString ( ) ) ;
complementListDate . toString ( ) ) ;
scheduleDate = complementListDate . get ( index + 1 ) ;
scheduleDate = complementListDate . get ( index + 1 ) ;
//the next process complement
processInstance . setId ( 0 ) ;
}
}
processInstance . setScheduleTime ( scheduleDate ) ;
//the next process complement
int create = this . createComplementDataCommand ( scheduleDate ) ;
if ( create > 0 ) {
logger . info ( "create complement data command successfully." ) ;
}
return true ;
}
private int createComplementDataCommand ( Date scheduleDate ) {
Command command = new Command ( ) ;
command . setScheduleTime ( scheduleDate ) ;
command . setCommandType ( CommandType . COMPLEMENT_DATA ) ;
command . setProcessDefinitionCode ( processInstance . getProcessDefinitionCode ( ) ) ;
Map < String , String > cmdParam = JSONUtils . toMap ( processInstance . getCommandParam ( ) ) ;
Map < String , String > cmdParam = JSONUtils . toMap ( processInstance . getCommandParam ( ) ) ;
if ( cmdParam . containsKey ( Constants . CMD_PARAM_RECOVERY_START_NODE_STRING ) ) {
if ( cmdParam . containsKey ( Constants . CMD_PARAM_RECOVERY_START_NODE_STRING ) ) {
cmdParam . remove ( Constants . CMD_PARAM_RECOVERY_START_NODE_STRING ) ;
cmdParam . remove ( Constants . CMD_PARAM_RECOVERY_START_NODE_STRING ) ;
processInstance . setCommandParam ( JSONUtils . toJsonString ( cmdParam ) ) ;
}
}
cmdParam . replace ( CMDPARAM_COMPLEMENT_DATA_START_DATE , DateUtils . format ( scheduleDate , "yyyy-MM-dd HH:mm:ss" ) ) ;
command . setCommandParam ( JSONUtils . toJsonString ( cmdParam ) ) ;
processInstance . setState ( ExecutionStatus . RUNNING_EXECUTION ) ;
command . setTaskDependType ( processInstance . getTaskDependType ( ) ) ;
processInstance . setGlobalParams ( ParameterUtils . curingGlobalParams (
command . setFailureStrategy ( processInstance . getFailureStrategy ( ) ) ;
processDefinition . getGlobalParamMap ( ) ,
command . setWarningType ( processInstance . getWarningType ( ) ) ;
processDefinition . getGlobalParamList ( ) ,
command . setWarningGroupId ( processInstance . getWarningGroupId ( ) ) ;
CommandType . COMPLEMENT_DATA , processInstance . getScheduleTime ( ) ) ) ;
command . setStartTime ( new Date ( ) ) ;
processInstance . setStartTime ( new Date ( ) ) ;
command . setExecutorId ( processInstance . getExecutorId ( ) ) ;
processInstance . setRestartTime ( processInstance . getStartTime ( ) ) ;
command . setUpdateTime ( new Date ( ) ) ;
processInstance . setEndTime ( null ) ;
command . setProcessInstancePriority ( processInstance . getProcessInstancePriority ( ) ) ;
processService . saveProcessInstance ( processInstance ) ;
command . setWorkerGroup ( processInstance . getWorkerGroup ( ) ) ;
this . taskInstanceMap . clear ( ) ;
command . setEnvironmentCode ( processInstance . getEnvironmentCode ( ) ) ;
startProcess ( ) ;
command . setDryRun ( processInstance . getDryRun ( ) ) ;
return true ;
command . setProcessInstanceId ( 0 ) ;
command . setProcessDefinitionVersion ( processInstance . getProcessDefinitionVersion ( ) ) ;
return processService . createCommand ( command ) ;
}
}
private boolean needComplementProcess ( ) {
private boolean needComplementProcess ( ) {