/* Options: Date: 2026-02-04 10:29:14 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetWorkflowStepRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/WorkflowStep/by-workflow", Verbs="Get") open class GetWorkflowStepRequest : IReturn { var workflowId:Int? = null companion object { private val responseType = GetWorkflowStepResponse::class.java } override fun getResponseType(): Any? = GetWorkflowStepRequest.responseType } open class GetWorkflowStepResponse : IResponseRequest { var code:Int? = null var message:String? = null @SerializedName("data") var Data:ArrayList = ArrayList() } enum class CategoryTypes { Department, PartyGroup, DocGroup, DocType, IssuingAgency, Status, Subjects, Workflow, WorkStatus, StepStatus, SignStatus, } open class CreateCategoryModel { var name:String? = null var description:String? = null @SerializedName("type") var Type:CategoryTypes? = null var isParty:Boolean? = null @Ignore() var childList:ArrayList = ArrayList() } open class UploadedFiles : BasicUploadedFile() { var id:Long? = null var uploadedFile:String? = null var subDocumentId:Int? = null var stepId:Int? = null var code:Int? = null } open class SimpleDocumentRelation { var id:Int? = null var title:String? = null var documentCode:String? = null var publicationDate:Date? = null var isSequentialSigning:Boolean? = null var statusText:String? = null var documentTypeId:Int? = null } open class BasicDocument { @Required() var title:String? = null @StringLength(4000) var description:String? = null @StringLength(500) var owner:String? = null var documentPolicyId:Int? = null var updateDocumentId:Int? = null var effectBeginDate:Date? = null var effectEndDate:Date? = null var issuingAgencyId:Int? = null var documentTypeId:Int? = null var documentGroupId:Int? = null var subjectId:Int? = null @StringLength(500) var signBy:String? = null var signDate:Date? = null var statusId:Int? = null var isInternal:Boolean? = null var documentNumber:String? = null var documentCode:String? = null var isUrgent:Boolean? = null var scopeType:Int? = null var isActive:Boolean? = null } open class StepAttached { var id:Int? = null var documentCode:String? = null var title:String? = null var isSequentialSigning:Boolean? = null var pendingSignFile:UploadedFiles? = null var originalFile:UploadedFiles? = null var signerConfigs:ArrayList = ArrayList() } open class WorkflowStep { var id:Int? = null @References(Document.class) var workflowId:Int? = null var stepOrder:Int? = null var statusId:Int? = null @Required() @StringLength(255) var stepName:String? = null @Required() var isRequired:Boolean? = null var slaLegalValue:Int? = null var slaLegalIsByDay:Boolean? = null var slaInternalValue:Int? = null var slaInternalIsByDay:Boolean? = null var requireAttachment:Boolean? = null var isUsingForm:Boolean? = null @Required() var description:String? = null var createdBy:Int? = null @Ignore() var departmentIds:ArrayList = ArrayList() @Ignore() var mainAssigneeIds:ArrayList = ArrayList() @Ignore() var coDepartmentIds:ArrayList = ArrayList() @Ignore() var supportingAssigneeIds:ArrayList = ArrayList() @Ignore() var stepBasisDocumentIds:ArrayList = ArrayList() @Ignore() var attachedDocuments:ArrayList = ArrayList() } open interface IResponseRequest { var code:Int? var message:String? } open class Category : CreateCategoryModel() { var id:Int? = null var level:Int? = null var key:String? = null var sortOrder:Int? = null var lastUpdate:Date? = null @Ignore() var children:ArrayList = ArrayList() } open class Roles { var id:Int? = null @StringLength(50) var name:String? = null var createdAt:Date? = null var deletedAt:Date? = null var updatedAt:Date? = null var updatedBy:Int? = null var deletedBy:Int? = null var createdBy:Int? = null @Ignore() var permission:ArrayList = ArrayList() } open class WorkflowStepDetail : WorkflowStep() { var departments:ArrayList = ArrayList() var coDepartments:ArrayList = ArrayList() var basisDocuments:ArrayList = ArrayList() var referenceDocuments:ArrayList = ArrayList() var mainAssignees:ArrayList = ArrayList() var supportingAssignees:ArrayList = ArrayList() var statusKey:String? = null var statusText:String? = null @Ignore() var canRead:Boolean? = null @Ignore() var canWrite:Boolean? = null @Ignore() var canUpload:Boolean? = null var reasonReturn:String? = null var returnDate:Date? = null } open class BasicUploadedFile { var fileName:String? = null var filekey:String? = null var fileUrl:String? = null var checksum:String? = null var eTag:String? = null var fileSize:Long? = null } open class SignerConfigDetail : SignerConfig() { var profile:WorkFlowProfile? = null var role:Roles? = null } open class Document : BasicDocument() { var id:Int? = null @StringLength(500) var reasonReturn:String? = null var accountId:Int? = null var deletedAt:Date? = null @StringLength(500) var deletedBy:String? = null @StringLength(500) var updatedBy:String? = null var createdAt:Date? = null @StringLength(500) var createdBy:String? = null var isParty:Boolean? = null var isRevisionRequested:Boolean? = null var lastUpdatedAt:Date? = null var isPrivate:Boolean? = null var departmentId:Int? = null var publicationDate:Date? = null var processStatusId:Int? = null var fullTextSearchContent:String? = null } open class WorkFlowProfile { var id:Int? = null var name:String? = null var fullName:String? = null var email:String? = null var departmentId:Int? = null var avatar:String? = null var telephone:String? = null var birthday:Date? = null var confirmStatus:Int? = null var confirmStatusText:String? = null var signAt:Date? = null var signedFileId:Long? = null var originalFileId:Int? = null var signedFileName:String? = null var isSigned:Boolean? = null var signStatusText:String? = null } open class SignerConfig : BasicSignerConfig() { var id:Int? = null var documentId:Int? = null var stepId:Int? = null } open class BasicSignerConfig { var subDocumentId:Int? = null var departmentId:Int? = null var signerType:Short? = null var signerRefId:Int? = null @Ignore() var signerRefText:String? = null var actionType:Short? = null var orderIndex:Int? = null }