tvpl.api

<back to all web services

GetSingleWorkflowStepRequest

Requires Authentication
The following routes are available for this service:
GET/WorkflowStep/{WorkflowId}/{StepId}
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class GetSingleWorkflowStepRequest
    {
        public Integer workflowId = null;
        public Integer stepId = null;
        
        public Integer getWorkflowId() { return workflowId; }
        public GetSingleWorkflowStepRequest setWorkflowId(Integer value) { this.workflowId = value; return this; }
        public Integer getStepId() { return stepId; }
        public GetSingleWorkflowStepRequest setStepId(Integer value) { this.stepId = value; return this; }
    }

    public static class GetSingleWorkflowStepResponse implements IResponseRequest
    {
        public Integer code = null;
        public String message = null;
        public WorkflowStepDetail data = null;
        
        public Integer getCode() { return code; }
        public GetSingleWorkflowStepResponse setCode(Integer value) { this.code = value; return this; }
        public String getMessage() { return message; }
        public GetSingleWorkflowStepResponse setMessage(String value) { this.message = value; return this; }
        public WorkflowStepDetail getData() { return data; }
        public GetSingleWorkflowStepResponse setData(WorkflowStepDetail value) { this.data = value; return this; }
    }

    public static class WorkflowStepDetail extends WorkflowStep
    {
        public ArrayList<Category> departments = null;
        public ArrayList<Category> coDepartments = null;
        public ArrayList<SimpleDocumentRelation> basisDocuments = null;
        public ArrayList<SimpleDocumentRelation> referenceDocuments = null;
        public ArrayList<WorkFlowProfile> mainAssignees = null;
        public ArrayList<WorkFlowProfile> supportingAssignees = null;
        public String statusKey = null;
        public String statusText = null;
        @Ignore()
        public Boolean canRead = null;

        @Ignore()
        public Boolean canWrite = null;

        @Ignore()
        public Boolean canUpload = null;

        public String reasonReturn = null;
        public Date returnDate = null;
        
        public ArrayList<Category> getDepartments() { return departments; }
        public WorkflowStepDetail setDepartments(ArrayList<Category> value) { this.departments = value; return this; }
        public ArrayList<Category> getCoDepartments() { return coDepartments; }
        public WorkflowStepDetail setCoDepartments(ArrayList<Category> value) { this.coDepartments = value; return this; }
        public ArrayList<SimpleDocumentRelation> getBasisDocuments() { return basisDocuments; }
        public WorkflowStepDetail setBasisDocuments(ArrayList<SimpleDocumentRelation> value) { this.basisDocuments = value; return this; }
        public ArrayList<SimpleDocumentRelation> getReferenceDocuments() { return referenceDocuments; }
        public WorkflowStepDetail setReferenceDocuments(ArrayList<SimpleDocumentRelation> value) { this.referenceDocuments = value; return this; }
        public ArrayList<WorkFlowProfile> getMainAssignees() { return mainAssignees; }
        public WorkflowStepDetail setMainAssignees(ArrayList<WorkFlowProfile> value) { this.mainAssignees = value; return this; }
        public ArrayList<WorkFlowProfile> getSupportingAssignees() { return supportingAssignees; }
        public WorkflowStepDetail setSupportingAssignees(ArrayList<WorkFlowProfile> value) { this.supportingAssignees = value; return this; }
        public String getStatusKey() { return statusKey; }
        public WorkflowStepDetail setStatusKey(String value) { this.statusKey = value; return this; }
        public String getStatusText() { return statusText; }
        public WorkflowStepDetail setStatusText(String value) { this.statusText = value; return this; }
        public Boolean isCanRead() { return canRead; }
        public WorkflowStepDetail setCanRead(Boolean value) { this.canRead = value; return this; }
        public Boolean isCanWrite() { return canWrite; }
        public WorkflowStepDetail setCanWrite(Boolean value) { this.canWrite = value; return this; }
        public Boolean isCanUpload() { return canUpload; }
        public WorkflowStepDetail setCanUpload(Boolean value) { this.canUpload = value; return this; }
        public String getReasonReturn() { return reasonReturn; }
        public WorkflowStepDetail setReasonReturn(String value) { this.reasonReturn = value; return this; }
        public Date getReturnDate() { return returnDate; }
        public WorkflowStepDetail setReturnDate(Date value) { this.returnDate = value; return this; }
    }

    public static class WorkflowStep
    {
        public Integer id = null;
        @References(Document.class)
        public Integer workflowId = null;

        public Integer stepOrder = null;
        public Integer statusId = null;
        @Required()
        @StringLength(255)
        public String stepName = null;

        @Required()
        public Boolean isRequired = null;

        public Integer slaLegalValue = null;
        public Boolean slaLegalIsByDay = null;
        public Integer slaInternalValue = null;
        public Boolean slaInternalIsByDay = null;
        public Boolean requireAttachment = null;
        public Boolean isUsingForm = null;
        @Required()
        public String description = null;

        public Integer createdBy = null;
        public Date updatedAt = null;
        public Integer defaultAttachedDocumentId = null;
        @Ignore()
        public ArrayList<Integer> departmentIds = null;

        @Ignore()
        public ArrayList<Integer> mainAssigneeIds = null;

        @Ignore()
        public ArrayList<Integer> coDepartmentIds = null;

        @Ignore()
        public ArrayList<Integer> supportingAssigneeIds = null;

        @Ignore()
        public ArrayList<Integer> stepBasisDocumentIds = null;

        @Ignore()
        public ArrayList<StepAttached> attachedDocuments = null;

        @Ignore()
        public ArrayList<UploadedFiles> attachedFiles = null;
        
        public Integer getId() { return id; }
        public WorkflowStep setId(Integer value) { this.id = value; return this; }
        public Integer getWorkflowId() { return workflowId; }
        public WorkflowStep setWorkflowId(Integer value) { this.workflowId = value; return this; }
        public Integer getStepOrder() { return stepOrder; }
        public WorkflowStep setStepOrder(Integer value) { this.stepOrder = value; return this; }
        public Integer getStatusId() { return statusId; }
        public WorkflowStep setStatusId(Integer value) { this.statusId = value; return this; }
        public String getStepName() { return stepName; }
        public WorkflowStep setStepName(String value) { this.stepName = value; return this; }
        public Boolean getIsRequired() { return isRequired; }
        public WorkflowStep setIsRequired(Boolean value) { this.isRequired = value; return this; }
        public Integer getSlaLegalValue() { return slaLegalValue; }
        public WorkflowStep setSlaLegalValue(Integer value) { this.slaLegalValue = value; return this; }
        public Boolean isSlaLegalIsByDay() { return slaLegalIsByDay; }
        public WorkflowStep setSlaLegalIsByDay(Boolean value) { this.slaLegalIsByDay = value; return this; }
        public Integer getSlaInternalValue() { return slaInternalValue; }
        public WorkflowStep setSlaInternalValue(Integer value) { this.slaInternalValue = value; return this; }
        public Boolean isSlaInternalIsByDay() { return slaInternalIsByDay; }
        public WorkflowStep setSlaInternalIsByDay(Boolean value) { this.slaInternalIsByDay = value; return this; }
        public Boolean isRequireAttachment() { return requireAttachment; }
        public WorkflowStep setRequireAttachment(Boolean value) { this.requireAttachment = value; return this; }
        public Boolean getIsUsingForm() { return isUsingForm; }
        public WorkflowStep setIsUsingForm(Boolean value) { this.isUsingForm = value; return this; }
        public String getDescription() { return description; }
        public WorkflowStep setDescription(String value) { this.description = value; return this; }
        public Integer getCreatedBy() { return createdBy; }
        public WorkflowStep setCreatedBy(Integer value) { this.createdBy = value; return this; }
        public Date getUpdatedAt() { return updatedAt; }
        public WorkflowStep setUpdatedAt(Date value) { this.updatedAt = value; return this; }
        public Integer getDefaultAttachedDocumentId() { return defaultAttachedDocumentId; }
        public WorkflowStep setDefaultAttachedDocumentId(Integer value) { this.defaultAttachedDocumentId = value; return this; }
        public ArrayList<Integer> getDepartmentIds() { return departmentIds; }
        public WorkflowStep setDepartmentIds(ArrayList<Integer> value) { this.departmentIds = value; return this; }
        public ArrayList<Integer> getMainAssigneeIds() { return mainAssigneeIds; }
        public WorkflowStep setMainAssigneeIds(ArrayList<Integer> value) { this.mainAssigneeIds = value; return this; }
        public ArrayList<Integer> getCoDepartmentIds() { return coDepartmentIds; }
        public WorkflowStep setCoDepartmentIds(ArrayList<Integer> value) { this.coDepartmentIds = value; return this; }
        public ArrayList<Integer> getSupportingAssigneeIds() { return supportingAssigneeIds; }
        public WorkflowStep setSupportingAssigneeIds(ArrayList<Integer> value) { this.supportingAssigneeIds = value; return this; }
        public ArrayList<Integer> getStepBasisDocumentIds() { return stepBasisDocumentIds; }
        public WorkflowStep setStepBasisDocumentIds(ArrayList<Integer> value) { this.stepBasisDocumentIds = value; return this; }
        public ArrayList<StepAttached> getAttachedDocuments() { return attachedDocuments; }
        public WorkflowStep setAttachedDocuments(ArrayList<StepAttached> value) { this.attachedDocuments = value; return this; }
        public ArrayList<UploadedFiles> getAttachedFiles() { return attachedFiles; }
        public WorkflowStep setAttachedFiles(ArrayList<UploadedFiles> value) { this.attachedFiles = value; return this; }
    }

    public static class StepAttached
    {
        public Integer id = null;
        public String documentCode = null;
        public String title = null;
        public Boolean isSequentialSigning = null;
        public UploadedFiles pendingSignFile = null;
        public UploadedFiles originalFile = null;
        public ArrayList<SignerConfigDetail> signerConfigs = null;
        
        public Integer getId() { return id; }
        public StepAttached setId(Integer value) { this.id = value; return this; }
        public String getDocumentCode() { return documentCode; }
        public StepAttached setDocumentCode(String value) { this.documentCode = value; return this; }
        public String getTitle() { return title; }
        public StepAttached setTitle(String value) { this.title = value; return this; }
        public Boolean getIsSequentialSigning() { return isSequentialSigning; }
        public StepAttached setIsSequentialSigning(Boolean value) { this.isSequentialSigning = value; return this; }
        public UploadedFiles getPendingSignFile() { return pendingSignFile; }
        public StepAttached setPendingSignFile(UploadedFiles value) { this.pendingSignFile = value; return this; }
        public UploadedFiles getOriginalFile() { return originalFile; }
        public StepAttached setOriginalFile(UploadedFiles value) { this.originalFile = value; return this; }
        public ArrayList<SignerConfigDetail> getSignerConfigs() { return signerConfigs; }
        public StepAttached setSignerConfigs(ArrayList<SignerConfigDetail> value) { this.signerConfigs = value; return this; }
    }

    public static class UploadedFiles extends BasicUploadedFile
    {
        public Long id = null;
        public String uploadedFile = null;
        public Integer subDocumentId = null;
        public Integer stepId = null;
        public Integer code = null;
        
        public Long getId() { return id; }
        public UploadedFiles setId(Long value) { this.id = value; return this; }
        public String getUploadedFile() { return uploadedFile; }
        public UploadedFiles setUploadedFile(String value) { this.uploadedFile = value; return this; }
        public Integer getSubDocumentId() { return subDocumentId; }
        public UploadedFiles setSubDocumentId(Integer value) { this.subDocumentId = value; return this; }
        public Integer getStepId() { return stepId; }
        public UploadedFiles setStepId(Integer value) { this.stepId = value; return this; }
        public Integer getCode() { return code; }
        public UploadedFiles setCode(Integer value) { this.code = value; return this; }
    }

    public static class BasicUploadedFile
    {
        public String fileName = null;
        public String filekey = null;
        public String fileUrl = null;
        public String checksum = null;
        public String eTag = null;
        public Long fileSize = null;
        
        public String getFileName() { return fileName; }
        public BasicUploadedFile setFileName(String value) { this.fileName = value; return this; }
        public String getFilekey() { return filekey; }
        public BasicUploadedFile setFilekey(String value) { this.filekey = value; return this; }
        public String getFileUrl() { return fileUrl; }
        public BasicUploadedFile setFileUrl(String value) { this.fileUrl = value; return this; }
        public String getChecksum() { return checksum; }
        public BasicUploadedFile setChecksum(String value) { this.checksum = value; return this; }
        public String getETag() { return eTag; }
        public BasicUploadedFile setETag(String value) { this.eTag = value; return this; }
        public Long getFileSize() { return fileSize; }
        public BasicUploadedFile setFileSize(Long value) { this.fileSize = value; return this; }
    }

    public static class SignerConfigDetail extends SignerConfig
    {
        public WorkFlowProfile profile = null;
        public Roles role = null;
        
        public WorkFlowProfile getProfile() { return profile; }
        public SignerConfigDetail setProfile(WorkFlowProfile value) { this.profile = value; return this; }
        public Roles getRole() { return role; }
        public SignerConfigDetail setRole(Roles value) { this.role = value; return this; }
    }

    public static class SignerConfig extends BasicSignerConfig
    {
        public Integer id = null;
        public Integer documentId = null;
        public Integer stepId = null;
        
        public Integer getId() { return id; }
        public SignerConfig setId(Integer value) { this.id = value; return this; }
        public Integer getDocumentId() { return documentId; }
        public SignerConfig setDocumentId(Integer value) { this.documentId = value; return this; }
        public Integer getStepId() { return stepId; }
        public SignerConfig setStepId(Integer value) { this.stepId = value; return this; }
    }

    public static class BasicSignerConfig
    {
        public Integer subDocumentId = null;
        public Integer departmentId = null;
        public Short signerType = null;
        public Integer signerRefId = null;
        @Ignore()
        public String signerRefText = null;

        public Short actionType = null;
        public Integer orderIndex = null;
        
        public Integer getSubDocumentId() { return subDocumentId; }
        public BasicSignerConfig setSubDocumentId(Integer value) { this.subDocumentId = value; return this; }
        public Integer getDepartmentId() { return departmentId; }
        public BasicSignerConfig setDepartmentId(Integer value) { this.departmentId = value; return this; }
        public Short getSignerType() { return signerType; }
        public BasicSignerConfig setSignerType(Short value) { this.signerType = value; return this; }
        public Integer getSignerRefId() { return signerRefId; }
        public BasicSignerConfig setSignerRefId(Integer value) { this.signerRefId = value; return this; }
        public String getSignerRefText() { return signerRefText; }
        public BasicSignerConfig setSignerRefText(String value) { this.signerRefText = value; return this; }
        public Short getActionType() { return actionType; }
        public BasicSignerConfig setActionType(Short value) { this.actionType = value; return this; }
        public Integer getOrderIndex() { return orderIndex; }
        public BasicSignerConfig setOrderIndex(Integer value) { this.orderIndex = value; return this; }
    }

    public static class WorkFlowProfile
    {
        public Integer id = null;
        public String name = null;
        public String fullName = null;
        public String email = null;
        public Integer departmentId = null;
        public String avatar = null;
        public String telephone = null;
        public Date birthday = null;
        public Integer confirmStatus = null;
        public String confirmStatusText = null;
        public Date confirmAt = null;
        public Date signAt = null;
        public Long signedFileId = null;
        public Integer originalFileId = null;
        public String signedFileName = null;
        public Boolean isSigned = null;
        public String signStatusText = null;
        public String comment = null;
        
        public Integer getId() { return id; }
        public WorkFlowProfile setId(Integer value) { this.id = value; return this; }
        public String getName() { return name; }
        public WorkFlowProfile setName(String value) { this.name = value; return this; }
        public String getFullName() { return fullName; }
        public WorkFlowProfile setFullName(String value) { this.fullName = value; return this; }
        public String getEmail() { return email; }
        public WorkFlowProfile setEmail(String value) { this.email = value; return this; }
        public Integer getDepartmentId() { return departmentId; }
        public WorkFlowProfile setDepartmentId(Integer value) { this.departmentId = value; return this; }
        public String getAvatar() { return avatar; }
        public WorkFlowProfile setAvatar(String value) { this.avatar = value; return this; }
        public String getTelephone() { return telephone; }
        public WorkFlowProfile setTelephone(String value) { this.telephone = value; return this; }
        public Date getBirthday() { return birthday; }
        public WorkFlowProfile setBirthday(Date value) { this.birthday = value; return this; }
        public Integer getConfirmStatus() { return confirmStatus; }
        public WorkFlowProfile setConfirmStatus(Integer value) { this.confirmStatus = value; return this; }
        public String getConfirmStatusText() { return confirmStatusText; }
        public WorkFlowProfile setConfirmStatusText(String value) { this.confirmStatusText = value; return this; }
        public Date getConfirmAt() { return confirmAt; }
        public WorkFlowProfile setConfirmAt(Date value) { this.confirmAt = value; return this; }
        public Date getSignAt() { return signAt; }
        public WorkFlowProfile setSignAt(Date value) { this.signAt = value; return this; }
        public Long getSignedFileId() { return signedFileId; }
        public WorkFlowProfile setSignedFileId(Long value) { this.signedFileId = value; return this; }
        public Integer getOriginalFileId() { return originalFileId; }
        public WorkFlowProfile setOriginalFileId(Integer value) { this.originalFileId = value; return this; }
        public String getSignedFileName() { return signedFileName; }
        public WorkFlowProfile setSignedFileName(String value) { this.signedFileName = value; return this; }
        public Boolean getIsSigned() { return isSigned; }
        public WorkFlowProfile setIsSigned(Boolean value) { this.isSigned = value; return this; }
        public String getSignStatusText() { return signStatusText; }
        public WorkFlowProfile setSignStatusText(String value) { this.signStatusText = value; return this; }
        public String getComment() { return comment; }
        public WorkFlowProfile setComment(String value) { this.comment = value; return this; }
    }

    public static class Roles
    {
        public Integer id = null;
        @StringLength(50)
        public String name = null;

        public Date createdAt = null;
        public Date deletedAt = null;
        public Date updatedAt = null;
        public Integer updatedBy = null;
        public Integer deletedBy = null;
        public Integer createdBy = null;
        @Ignore()
        public ArrayList<String> permission = null;
        
        public Integer getId() { return id; }
        public Roles setId(Integer value) { this.id = value; return this; }
        public String getName() { return name; }
        public Roles setName(String value) { this.name = value; return this; }
        public Date getCreatedAt() { return createdAt; }
        public Roles setCreatedAt(Date value) { this.createdAt = value; return this; }
        public Date getDeletedAt() { return deletedAt; }
        public Roles setDeletedAt(Date value) { this.deletedAt = value; return this; }
        public Date getUpdatedAt() { return updatedAt; }
        public Roles setUpdatedAt(Date value) { this.updatedAt = value; return this; }
        public Integer getUpdatedBy() { return updatedBy; }
        public Roles setUpdatedBy(Integer value) { this.updatedBy = value; return this; }
        public Integer getDeletedBy() { return deletedBy; }
        public Roles setDeletedBy(Integer value) { this.deletedBy = value; return this; }
        public Integer getCreatedBy() { return createdBy; }
        public Roles setCreatedBy(Integer value) { this.createdBy = value; return this; }
        public ArrayList<String> getPermission() { return permission; }
        public Roles setPermission(ArrayList<String> value) { this.permission = value; return this; }
    }

    public static class Category extends CreateCategoryModel
    {
        public Integer id = null;
        public Integer level = null;
        public String key = null;
        public Integer sortOrder = null;
        public Date lastUpdate = null;
        @Ignore()
        public ArrayList<Category> children = null;
        
        public Integer getId() { return id; }
        public Category setId(Integer value) { this.id = value; return this; }
        public Integer getLevel() { return level; }
        public Category setLevel(Integer value) { this.level = value; return this; }
        public String getKey() { return key; }
        public Category setKey(String value) { this.key = value; return this; }
        public Integer getSortOrder() { return sortOrder; }
        public Category setSortOrder(Integer value) { this.sortOrder = value; return this; }
        public Date getLastUpdate() { return lastUpdate; }
        public Category setLastUpdate(Date value) { this.lastUpdate = value; return this; }
        public ArrayList<Category> getChildren() { return children; }
        public Category setChildren(ArrayList<Category> value) { this.children = value; return this; }
    }

    public static class CreateCategoryModel
    {
        public String name = null;
        public String longName = null;
        public String description = null;
        public CategoryTypes type = null;
        public Boolean isParty = null;
        @Ignore()
        public ArrayList<Integer> childList = null;
        
        public String getName() { return name; }
        public CreateCategoryModel setName(String value) { this.name = value; return this; }
        public String getLongName() { return longName; }
        public CreateCategoryModel setLongName(String value) { this.longName = value; return this; }
        public String getDescription() { return description; }
        public CreateCategoryModel setDescription(String value) { this.description = value; return this; }
        public CategoryTypes getType() { return type; }
        public CreateCategoryModel setType(CategoryTypes value) { this.type = value; return this; }
        public Boolean getIsParty() { return isParty; }
        public CreateCategoryModel setIsParty(Boolean value) { this.isParty = value; return this; }
        public ArrayList<Integer> getChildList() { return childList; }
        public CreateCategoryModel setChildList(ArrayList<Integer> value) { this.childList = value; return this; }
    }

    public static enum CategoryTypes
    {
        Department,
        PartyGroup,
        DocGroup,
        DocType,
        IssuingAgency,
        Status,
        Subjects,
        Workflow,
        WorkStatus,
        StepStatus,
        SignStatus;
    }

    public static class SimpleDocumentRelation
    {
        public Integer id = null;
        public String title = null;
        public String documentCode = null;
        public Date publicationDate = null;
        public Boolean isSequentialSigning = null;
        public String statusText = null;
        public String statusKey = null;
        public Integer documentTypeId = null;
        
        public Integer getId() { return id; }
        public SimpleDocumentRelation setId(Integer value) { this.id = value; return this; }
        public String getTitle() { return title; }
        public SimpleDocumentRelation setTitle(String value) { this.title = value; return this; }
        public String getDocumentCode() { return documentCode; }
        public SimpleDocumentRelation setDocumentCode(String value) { this.documentCode = value; return this; }
        public Date getPublicationDate() { return publicationDate; }
        public SimpleDocumentRelation setPublicationDate(Date value) { this.publicationDate = value; return this; }
        public Boolean getIsSequentialSigning() { return isSequentialSigning; }
        public SimpleDocumentRelation setIsSequentialSigning(Boolean value) { this.isSequentialSigning = value; return this; }
        public String getStatusText() { return statusText; }
        public SimpleDocumentRelation setStatusText(String value) { this.statusText = value; return this; }
        public String getStatusKey() { return statusKey; }
        public SimpleDocumentRelation setStatusKey(String value) { this.statusKey = value; return this; }
        public Integer getDocumentTypeId() { return documentTypeId; }
        public SimpleDocumentRelation setDocumentTypeId(Integer value) { this.documentTypeId = value; return this; }
    }

}

Java GetSingleWorkflowStepRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /WorkflowStep/{WorkflowId}/{StepId} HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	data: 
	{
		departments: 
		[
			{
				id: 0,
				level: 0,
				key: String,
				sortOrder: 0,
				lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
				children: 
				[
					{
						id: 0,
						level: 0,
						key: String,
						sortOrder: 0,
						lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
						children: 
						[
							{
								id: 0,
								level: 0,
								key: String,
								sortOrder: 0,
								lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
								name: String,
								longName: String,
								description: String,
								type: Department,
								isParty: False,
								childList: 
								[
									0
								]
							}
						],
						name: String,
						longName: String,
						description: String,
						type: Department,
						isParty: False,
						childList: 
						[
							0
						]
					}
				],
				name: String,
				longName: String,
				description: String,
				type: Department,
				isParty: False,
				childList: 
				[
					0
				]
			}
		],
		coDepartments: 
		[
			{
				id: 0,
				level: 0,
				key: String,
				sortOrder: 0,
				lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
				children: 
				[
					{
						id: 0,
						level: 0,
						key: String,
						sortOrder: 0,
						lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
						children: 
						[
							{
								id: 0,
								level: 0,
								key: String,
								sortOrder: 0,
								lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
								name: String,
								longName: String,
								description: String,
								type: Department,
								isParty: False,
								childList: 
								[
									0
								]
							}
						],
						name: String,
						longName: String,
						description: String,
						type: Department,
						isParty: False,
						childList: 
						[
							0
						]
					}
				],
				name: String,
				longName: String,
				description: String,
				type: Department,
				isParty: False,
				childList: 
				[
					0
				]
			}
		],
		basisDocuments: 
		[
			{
				id: 0,
				title: String,
				documentCode: String,
				publicationDate: "0001-01-01T00:00:00.0000000+07:06",
				isSequentialSigning: False,
				statusText: String,
				statusKey: String,
				documentTypeId: 0
			}
		],
		referenceDocuments: 
		[
			{
				id: 0,
				title: String,
				documentCode: String,
				publicationDate: "0001-01-01T00:00:00.0000000+07:06",
				isSequentialSigning: False,
				statusText: String,
				statusKey: String,
				documentTypeId: 0
			}
		],
		mainAssignees: 
		[
			{
				id: 0,
				name: String,
				fullName: String,
				email: String,
				departmentId: 0,
				avatar: String,
				telephone: String,
				birthday: "0001-01-01T00:00:00.0000000+07:06",
				confirmStatus: 0,
				confirmStatusText: String,
				confirmAt: "0001-01-01T00:00:00.0000000+07:06",
				signAt: "0001-01-01T00:00:00.0000000+07:06",
				signedFileId: 0,
				originalFileId: 0,
				signedFileName: String,
				isSigned: False,
				signStatusText: String,
				comment: String
			}
		],
		supportingAssignees: 
		[
			{
				id: 0,
				name: String,
				fullName: String,
				email: String,
				departmentId: 0,
				avatar: String,
				telephone: String,
				birthday: "0001-01-01T00:00:00.0000000+07:06",
				confirmStatus: 0,
				confirmStatusText: String,
				confirmAt: "0001-01-01T00:00:00.0000000+07:06",
				signAt: "0001-01-01T00:00:00.0000000+07:06",
				signedFileId: 0,
				originalFileId: 0,
				signedFileName: String,
				isSigned: False,
				signStatusText: String,
				comment: String
			}
		],
		statusKey: String,
		statusText: String,
		canRead: False,
		canWrite: False,
		canUpload: False,
		reasonReturn: String,
		returnDate: "0001-01-01T00:00:00.0000000+07:06",
		id: 0,
		workflowId: 0,
		stepOrder: 0,
		statusId: 0,
		stepName: String,
		isRequired: False,
		slaLegalValue: 0,
		slaLegalIsByDay: False,
		slaInternalValue: 0,
		slaInternalIsByDay: False,
		requireAttachment: False,
		isUsingForm: False,
		description: String,
		createdBy: 0,
		updatedAt: "0001-01-01T00:00:00.0000000+07:06",
		defaultAttachedDocumentId: 0,
		departmentIds: 
		[
			0
		],
		mainAssigneeIds: 
		[
			0
		],
		coDepartmentIds: 
		[
			0
		],
		supportingAssigneeIds: 
		[
			0
		],
		stepBasisDocumentIds: 
		[
			0
		],
		attachedDocuments: 
		[
			{
				id: 0,
				documentCode: String,
				title: String,
				isSequentialSigning: False,
				pendingSignFile: 
				{
					id: 0,
					uploadedFile: String,
					subDocumentId: 0,
					stepId: 0,
					code: 0,
					fileName: String,
					filekey: String,
					fileUrl: String,
					checksum: String,
					eTag: String,
					fileSize: 0
				},
				originalFile: 
				{
					id: 0,
					uploadedFile: String,
					subDocumentId: 0,
					stepId: 0,
					code: 0,
					fileName: String,
					filekey: String,
					fileUrl: String,
					checksum: String,
					eTag: String,
					fileSize: 0
				},
				signerConfigs: 
				[
					{
						profile: 
						{
							id: 0,
							name: String,
							fullName: String,
							email: String,
							departmentId: 0,
							avatar: String,
							telephone: String,
							birthday: "0001-01-01T00:00:00.0000000+07:06",
							confirmStatus: 0,
							confirmStatusText: String,
							confirmAt: "0001-01-01T00:00:00.0000000+07:06",
							signAt: "0001-01-01T00:00:00.0000000+07:06",
							signedFileId: 0,
							originalFileId: 0,
							signedFileName: String,
							isSigned: False,
							signStatusText: String,
							comment: String
						},
						role: 
						{
							id: 0,
							name: String,
							createdAt: "0001-01-01T00:00:00.0000000+07:06",
							deletedAt: "0001-01-01T00:00:00.0000000+07:06",
							updatedAt: "0001-01-01T00:00:00.0000000+07:06",
							updatedBy: 0,
							deletedBy: 0,
							createdBy: 0,
							permission: 
							[
								String
							]
						},
						id: 0,
						documentId: 0,
						stepId: 0,
						subDocumentId: 0,
						departmentId: 0,
						signerType: 0,
						signerRefId: 0,
						signerRefText: String,
						actionType: 0,
						orderIndex: 0
					}
				]
			}
		],
		attachedFiles: 
		[
			{
				id: 0,
				uploadedFile: String,
				subDocumentId: 0,
				stepId: 0,
				code: 0,
				fileName: String,
				filekey: String,
				fileUrl: String,
				checksum: String,
				eTag: String,
				fileSize: 0
			}
		]
	}
}