/* Options: Date: 2025-12-06 13:03:52 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, } 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() } enum class AccessType { Public, Restricted, } open class WorkflowStep { var id:Int? = null @References(Document.class) var workflowId:Int? = null var stepOrder: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 @Required() var description:String? = null var createdBy:Int? = null @Ignore() var departmentIds:ArrayList = ArrayList() @Ignore() var stepBasisDocumentIds:ArrayList = ArrayList() @Ignore() var stepAttachedIds:ArrayList = ArrayList() @Ignore() var mainAssigneeIds:ArrayList = ArrayList() } open interface IResponseRequest { var code:Int? var message:String? } open class Category : CreateCategoryModel() { var id:Int? = null var level:Int? = null var sortOrder:Int? = null var lastUpdate:Date? = null @Ignore() var children:ArrayList = ArrayList() } open class WorkflowStepDetail : WorkflowStep() { var departments:ArrayList = ArrayList() var basisDocuments:ArrayList = ArrayList() var attachedDocuments:ArrayList = ArrayList() var referenceDocuments:ArrayList = ArrayList() var mainAssignees:ArrayList = ArrayList() var attachFiles:ArrayList = ArrayList() } 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 UploadedFileAttach : UploadedFileModel() { var fileType:String? = null var subDocumentId:Int? = null var stepId:Int? = null } open class SimpleDocumentRelation { var id:Int? = null var title:String? = null var documentCode:String? = null var publicationDate:Date? = null } open class WorkFlowProfile { var id:Int? = 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 } open class UploadedFileModel : BasicUploadedFile() { var id:Long? = null var accessType:AccessType? = null var createdBy:Int? = null var createdDate:Date? = null }