@ -2144,26 +2144,6 @@ public class ProcessService {
return result ;
}
/ * *
* update task definition
* /
public int updateTaskDefinition ( User operator , Long projectCode , TaskNode taskNode , TaskDefinition taskDefinition ) {
Integer version = taskDefinitionLogMapper . queryMaxVersionForDefinition ( taskDefinition . getCode ( ) ) ;
Date now = new Date ( ) ;
taskDefinition . setProjectCode ( projectCode ) ;
taskDefinition . setUserId ( operator . getId ( ) ) ;
taskDefinition . setVersion ( version = = null | | version = = 0 ? 1 : version + 1 ) ;
taskDefinition . setUpdateTime ( now ) ;
setTaskFromTaskNode ( taskNode , taskDefinition ) ;
int update = taskDefinitionMapper . updateById ( taskDefinition ) ;
// save task definition log
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog ( taskDefinition ) ;
taskDefinitionLog . setOperator ( operator . getId ( ) ) ;
taskDefinitionLog . setOperateTime ( now ) ;
int insert = taskDefinitionLogMapper . insert ( taskDefinitionLog ) ;
return insert & update ;
}
private void setTaskFromTaskNode ( TaskNode taskNode , TaskDefinition taskDefinition ) {
taskDefinition . setName ( taskNode . getName ( ) ) ;
taskDefinition . setDescription ( taskNode . getDesc ( ) ) ;
@ -2382,67 +2362,6 @@ public class ProcessService {
return taskDefinitionLogMapper . queryByTaskDefinitions ( taskDefinitionSet ) ;
}
@Deprecated
public List < TaskNode > genTaskNodeList ( Long processCode , int processVersion , Map < String , String > locationMap ) {
List < ProcessTaskRelationLog > processTaskRelations = processTaskRelationLogMapper . queryByProcessCodeAndVersion ( processCode , processVersion ) ;
Set < TaskDefinition > taskDefinitionSet = new HashSet < > ( ) ;
Map < Long , TaskNode > taskNodeMap = new HashMap < > ( ) ;
for ( ProcessTaskRelationLog processTaskRelation : processTaskRelations ) {
if ( processTaskRelation . getPreTaskCode ( ) > 0 ) {
taskDefinitionSet . add ( new TaskDefinition ( processTaskRelation . getPreTaskCode ( ) , processTaskRelation . getPreTaskVersion ( ) ) ) ;
}
if ( processTaskRelation . getPostTaskCode ( ) > 0 ) {
taskDefinitionSet . add ( new TaskDefinition ( processTaskRelation . getPostTaskCode ( ) , processTaskRelation . getPostTaskVersion ( ) ) ) ;
}
taskNodeMap . compute ( processTaskRelation . getPostTaskCode ( ) , ( k , v ) - > {
if ( v = = null ) {
v = new TaskNode ( ) ;
v . setCode ( processTaskRelation . getPostTaskCode ( ) ) ;
v . setVersion ( processTaskRelation . getPostTaskVersion ( ) ) ;
List < PreviousTaskNode > preTaskNodeList = new ArrayList < > ( ) ;
if ( processTaskRelation . getPreTaskCode ( ) > 0 ) {
preTaskNodeList . add ( new PreviousTaskNode ( processTaskRelation . getPreTaskCode ( ) , "" , processTaskRelation . getPreTaskVersion ( ) ) ) ;
}
v . setPreTaskNodeList ( preTaskNodeList ) ;
} else {
List < PreviousTaskNode > preTaskDefinitionList = v . getPreTaskNodeList ( ) ;
preTaskDefinitionList . add ( new PreviousTaskNode ( processTaskRelation . getPreTaskCode ( ) , "" , processTaskRelation . getPreTaskVersion ( ) ) ) ;
}
return v ;
} ) ;
}
List < TaskDefinitionLog > taskDefinitionLogs = taskDefinitionLogMapper . queryByTaskDefinitions ( taskDefinitionSet ) ;
Map < Long , TaskDefinitionLog > taskDefinitionLogMap = taskDefinitionLogs . stream ( ) . collect ( Collectors . toMap ( TaskDefinitionLog : : getCode , log - > log ) ) ;
taskNodeMap . forEach ( ( k , v ) - > {
TaskDefinitionLog taskDefinitionLog = taskDefinitionLogMap . get ( k ) ;
v . setId ( locationMap . get ( taskDefinitionLog . getName ( ) ) ) ;
v . setCode ( taskDefinitionLog . getCode ( ) ) ;
v . setName ( taskDefinitionLog . getName ( ) ) ;
v . setDesc ( taskDefinitionLog . getDescription ( ) ) ;
v . setType ( taskDefinitionLog . getTaskType ( ) . toUpperCase ( ) ) ;
v . setRunFlag ( taskDefinitionLog . getFlag ( ) = = Flag . YES ? Constants . FLOWNODE_RUN_FLAG_NORMAL : Constants . FLOWNODE_RUN_FLAG_FORBIDDEN ) ;
v . setMaxRetryTimes ( taskDefinitionLog . getFailRetryTimes ( ) ) ;
v . setRetryInterval ( taskDefinitionLog . getFailRetryInterval ( ) ) ;
Map < String , Object > taskParamsMap = v . taskParamsToJsonObj ( taskDefinitionLog . getTaskParams ( ) ) ;
v . setConditionResult ( JSONUtils . toJsonString ( taskParamsMap . get ( Constants . CONDITION_RESULT ) ) ) ;
v . setSwitchResult ( JSONUtils . toJsonString ( taskParamsMap . get ( Constants . SWITCH_RESULT ) ) ) ;
v . setDependence ( JSONUtils . toJsonString ( taskParamsMap . get ( Constants . DEPENDENCE ) ) ) ;
taskParamsMap . remove ( Constants . CONDITION_RESULT ) ;
taskParamsMap . remove ( Constants . DEPENDENCE ) ;
v . setParams ( JSONUtils . toJsonString ( taskParamsMap ) ) ;
v . setTaskInstancePriority ( taskDefinitionLog . getTaskPriority ( ) ) ;
v . setWorkerGroup ( taskDefinitionLog . getWorkerGroup ( ) ) ;
v . setEnvironmentCode ( taskDefinitionLog . getEnvironmentCode ( ) ) ;
v . setTimeout ( JSONUtils . toJsonString ( new TaskTimeoutParameter ( taskDefinitionLog . getTimeoutFlag ( ) = = TimeoutFlag . OPEN ,
taskDefinitionLog . getTimeoutNotifyStrategy ( ) ,
taskDefinitionLog . getTimeout ( ) ) ) ) ;
v . setDelayTime ( taskDefinitionLog . getDelayTime ( ) ) ;
v . getPreTaskNodeList ( ) . forEach ( task - > task . setName ( taskDefinitionLogMap . get ( task . getCode ( ) ) . getName ( ) ) ) ;
v . setPreTasks ( JSONUtils . toJsonString ( v . getPreTaskNodeList ( ) . stream ( ) . map ( PreviousTaskNode : : getName ) . collect ( Collectors . toList ( ) ) ) ) ;
} ) ;
return new ArrayList < > ( taskNodeMap . values ( ) ) ;
}
/ * *
* find task definition by code and version
* /
@ -2450,6 +2369,13 @@ public class ProcessService {
return taskDefinitionLogMapper . queryByDefinitionCodeAndVersion ( taskCode , taskDefinitionVersion ) ;
}
/ * *
* find process task relation list by projectCode and processDefinitionCode
* /
public List < ProcessTaskRelation > findRelationByCode ( long projectCode , long processDefinitionCode ) {
return processTaskRelationMapper . queryByProcessCode ( projectCode , processDefinitionCode ) ;
}
/ * *
* add authorized resources
*
@ -2498,12 +2424,14 @@ public class ProcessService {
taskNode . setRetryInterval ( taskDefinitionLog . getFailRetryInterval ( ) ) ;
Map < String , Object > taskParamsMap = taskNode . taskParamsToJsonObj ( taskDefinitionLog . getTaskParams ( ) ) ;
taskNode . setConditionResult ( JSONUtils . toJsonString ( taskParamsMap . get ( Constants . CONDITION_RESULT ) ) ) ;
taskNode . setSwitchResult ( JSONUtils . toJsonString ( taskParamsMap . get ( Constants . SWITCH_RESULT ) ) ) ;
taskNode . setDependence ( JSONUtils . toJsonString ( taskParamsMap . get ( Constants . DEPENDENCE ) ) ) ;
taskParamsMap . remove ( Constants . CONDITION_RESULT ) ;
taskParamsMap . remove ( Constants . DEPENDENCE ) ;
taskNode . setParams ( JSONUtils . toJsonString ( taskParamsMap ) ) ;
taskNode . setTaskInstancePriority ( taskDefinitionLog . getTaskPriority ( ) ) ;
taskNode . setWorkerGroup ( taskDefinitionLog . getWorkerGroup ( ) ) ;
taskNode . setEnvironmentCode ( taskDefinitionLog . getEnvironmentCode ( ) ) ;
taskNode . setTimeout ( JSONUtils . toJsonString ( new TaskTimeoutParameter ( taskDefinitionLog . getTimeoutFlag ( ) = = TimeoutFlag . OPEN ,
taskDefinitionLog . getTimeoutNotifyStrategy ( ) ,
taskDefinitionLog . getTimeout ( ) ) ) ) ;