| GET | /WorkflowStep/by-workflow |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class GetWorkflowStepRequest
{
var workflowId:Int? = null
}
open class GetWorkflowStepResponse : IResponseRequest
{
var code:Int? = null
var message:String? = null
@SerializedName("data") var Data:ArrayList<WorkflowStepDetail> = ArrayList<WorkflowStepDetail>()
}
open class WorkflowStepDetail : WorkflowStep()
{
var departments:ArrayList<Category> = ArrayList<Category>()
var basisDocuments:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
var attachedDocuments:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
var referenceDocuments:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
var mainAssignees:ArrayList<WorkFlowProfile> = ArrayList<WorkFlowProfile>()
var attachFiles:ArrayList<UploadedFileAttach> = ArrayList<UploadedFileAttach>()
}
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<Int> = ArrayList<Int>()
@Ignore()
var stepBasisDocumentIds:ArrayList<Int> = ArrayList<Int>()
@Ignore()
var stepAttachedIds:ArrayList<Int> = ArrayList<Int>()
@Ignore()
var mainAssigneeIds:ArrayList<Int> = ArrayList<Int>()
}
open class Category : CreateCategoryModel()
{
var id:Int? = null
var level:Int? = null
var sortOrder:Int? = null
var lastUpdate:Date? = null
@Ignore()
var children:ArrayList<Category> = ArrayList<Category>()
}
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<Int> = ArrayList<Int>()
}
enum class CategoryTypes
{
Department,
PartyGroup,
DocGroup,
DocType,
IssuingAgency,
Status,
Subjects,
Workflow,
}
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 UploadedFileAttach : UploadedFileModel()
{
var fileType:String? = null
var subDocumentId:Int? = null
var stepId:Int? = null
}
open class UploadedFileModel : BasicUploadedFile()
{
var id:Long? = null
var accessType:AccessType? = null
var createdBy:Int? = null
var createdDate: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
}
enum class AccessType
{
Public,
Restricted,
}
Kotlin GetWorkflowStepRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /WorkflowStep/by-workflow 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,
sortOrder: 0,
lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
children:
[
{
id: 0,
level: 0,
sortOrder: 0,
lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
children:
[
{
id: 0,
level: 0,
sortOrder: 0,
lastUpdate: "0001-01-01T00:00:00.0000000+07:06",
name: String,
description: String,
type: Department,
isParty: False,
childList:
[
0
]
}
],
name: String,
description: String,
type: Department,
isParty: False,
childList:
[
0
]
}
],
name: 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"
}
],
attachedDocuments:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
referenceDocuments:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
mainAssignees:
[
{
id: 0,
fullName: String,
email: String,
departmentId: 0,
avatar: String,
telephone: String,
birthday: "0001-01-01T00:00:00.0000000+07:06",
confirmStatus: 0
}
],
attachFiles:
[
{
fileType: String,
subDocumentId: 0,
stepId: 0,
id: 0,
accessType: Public,
createdBy: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
}
],
id: 0,
workflowId: 0,
stepOrder: 0,
stepName: String,
isRequired: False,
slaLegalValue: 0,
slaLegalIsByDay: False,
slaInternalValue: 0,
slaInternalIsByDay: False,
requireAttachment: False,
description: String,
createdBy: 0,
departmentIds:
[
0
],
stepBasisDocumentIds:
[
0
],
stepAttachedIds:
[
0
],
mainAssigneeIds:
[
0
]
}
]
}