in core/src/main/java/com/alibaba/smart/framework/engine/service/command/impl/DefaultTaskCommandService.java [141:182]
public TaskInstance createTask(ExecutionInstance executionInstance, String taskInstanceStatus,Map<String, Object> request) {
IdGenerator idGenerator = processEngineConfiguration.getIdGenerator();
TaskInstance taskInstance = new DefaultTaskInstance();
taskInstance.setActivityInstanceId(executionInstance.getActivityInstanceId());
taskInstance.setExecutionInstanceId(executionInstance.getInstanceId());
taskInstance.setProcessDefinitionActivityId(executionInstance.getProcessDefinitionActivityId());
taskInstance.setProcessDefinitionIdAndVersion(executionInstance.getProcessDefinitionIdAndVersion());
taskInstance.setProcessInstanceId(executionInstance.getProcessInstanceId());
taskInstance.setStatus(taskInstanceStatus);
idGenerator.generate(taskInstance);
if(null != request){
String processDefinitionType = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.PROCESS_DEFINITION_TYPE));
taskInstance.setProcessDefinitionType(processDefinitionType);
Date startTime = ObjectUtil.obj2Date(request.get(RequestMapSpecialKeyConstant.TASK_START_TIME));
taskInstance.setStartTime(startTime);
Date completeTime = ObjectUtil.obj2Date(request.get(RequestMapSpecialKeyConstant.TASK_COMPLETE_TIME));
taskInstance.setCompleteTime(completeTime);
String claimUserId = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.CLAIM_USER_ID));
taskInstance.setClaimUserId(claimUserId);
Date claimTime = ObjectUtil.obj2Date(request.get(RequestMapSpecialKeyConstant.CLAIM_USER_TIME));
taskInstance.setClaimTime(claimTime);
String tag = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.TASK_INSTANCE_TAG));
taskInstance.setTag(tag);
}
InstanceUtil.enrich(request, taskInstance);
//reAssign
taskInstance = taskInstanceStorage.insert(taskInstance,processEngineConfiguration);
return taskInstance;
}