/* Options: Date: 2025-12-06 13:06:47 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: StatDocByGroupRequest.* //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="/document/stat-search-by-group", Verbs="POST") open class StatDocByGroupRequest : SimpleSearchFilter(), IReturn, IPost { companion object { private val responseType = SearchResponse::class.java } override fun getResponseType(): Any? = StatDocByGroupRequest.responseType } open class SearchResponse : IResponseRequest { var totalCount:Long? = null var code:Int? = null @SerializedName("data") var Data:ArrayList = ArrayList() var message:String? = null } enum class DocumentSearchStage { All, AllProcessing, Draft, PendingApproval, IsRevisionRequested, PendingCompilation, PendingReport, Published, Active, InActive, } open class SimpleSearchFilter { var title:String? = null var groupId:Int? = null var subjectId:Int? = null var isUrgent:Boolean? = null var documentSearchStage:DocumentSearchStage? = null var isInternal:Boolean? = null var fromDate:Date? = null var toDate:Date? = null var typeId:Int? = null var statusId:Int? = null var issuingAgencyId:Int? = null var isParty:Boolean? = null } open interface IResponseRequest { var code:Int? var message:String? } open class DocumentSearchResultItem { var title:String? = null var description:String? = null 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 subjectId:Int? = null var signBy:String? = null var signDate:Date? = null var updatedAt:Date? = null var statusId:Int? = null var isInternal:Boolean? = null var documentNumber:String? = null var documentCode:String? = null var isUrgent:Boolean? = null var id:Int? = null var reasonReturn:String? = null var accountId:Int? = null var approverId:Int? = null @StringLength(500) var updatedBy:String? = null @StringLength(500) var createdBy:String? = null var isParty:Boolean? = null var isRevisionRequested:Boolean? = null var isPrivate:Boolean? = null var departmentId:Int? = null var publicationDate:Date? = null var processStatusId:Int? = null var documentTypeId:Int? = null var documentGroupId:Int? = null var accountName:String? = null var acceptAccountName:String? = null var documentGroupText:String? = null var processStatusText:String? = null var documentTypeText:String? = null var departmentText:String? = null var statusText:String? = null var issuingAgencyText:String? = null var subjectText:String? = null var comment:String? = null var submitComment:String? = null var fullFile:String? = null var parthFile:String? = null var isActive:Boolean? = null var stepOrder:Int? = null var stepCount:Int? = null }