| Required permission: | view_workflow_statistics |
| GET | /workflow/statistics-instances |
|---|
import Foundation
import ServiceStack
public class WorkflowInstanceStatisticsRequest : PagingRequest
{
public var title:String
public var typeId:Int?
public var statusId:Int?
public var filterAccountId:Int?
public var filterDepartmentId:Int?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case title
case typeId
case statusId
case filterAccountId
case filterDepartmentId
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
title = try container.decodeIfPresent(String.self, forKey: .title)
typeId = try container.decodeIfPresent(Int.self, forKey: .typeId)
statusId = try container.decodeIfPresent(Int.self, forKey: .statusId)
filterAccountId = try container.decodeIfPresent(Int.self, forKey: .filterAccountId)
filterDepartmentId = try container.decodeIfPresent(Int.self, forKey: .filterDepartmentId)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if title != nil { try container.encode(title, forKey: .title) }
if typeId != nil { try container.encode(typeId, forKey: .typeId) }
if statusId != nil { try container.encode(statusId, forKey: .statusId) }
if filterAccountId != nil { try container.encode(filterAccountId, forKey: .filterAccountId) }
if filterDepartmentId != nil { try container.encode(filterDepartmentId, forKey: .filterDepartmentId) }
}
}
public class PagingRequest : Codable
{
public var page:Int
public var limit:Int
required public init(){}
}
public class SearchResponse : IResponseRequest, Codable
{
public var totalCount:Int
public var code:Int
public var data:[DocumentSearchResultItem] = []
public var message:String
required public init(){}
}
public class DocumentSearchResultItem : Codable
{
public var title:String
public var Description:String
public var owner:String
public var documentPolicyId:Int?
public var updateDocumentId:Int?
public var effectBeginDate:Date?
public var effectEndDate:Date?
public var issuingAgencyId:Int?
public var signBy:String
public var signDate:Date?
public var updatedAt:Date?
public var statusId:Int?
public var statusKey:String
public var isInternal:Bool
public var documentNumber:String
public var documentCode:String
public var isUrgent:Bool?
public var id:Int
public var reasonReturn:String
public var accountId:Int?
public var approverId:Int?
// @StringLength(500)
public var updatedBy:String
// @StringLength(500)
public var createdBy:String
public var isParty:Bool?
public var isRevisionRequested:Bool?
public var isPrivate:Bool?
public var departmentId:Int?
public var publicationDate:Date?
public var processStatusId:Int
public var documentTypeId:Int?
public var documentGroupId:Int?
public var accountName:String
public var acceptAccountName:String
public var documentGroupText:String
public var processStatusText:String
public var documentTypeText:String
public var departmentText:String
public var statusText:String
public var issuingAgencyText:String
public var comment:String
public var submitComment:String
public var fullFile:String
public var parthFile:String
public var isActive:Bool?
public var stepOrder:Int?
public var stepCount:Int?
public var completedStepCount:Int?
required public init(){}
}
Swift WorkflowInstanceStatisticsRequest 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 /workflow/statistics-instances HTTP/1.1 Host: etc-api.vsmlab.vn Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
totalCount: 0,
code: 0,
data:
[
{
title: String,
description: String,
owner: String,
documentPolicyId: 0,
updateDocumentId: 0,
effectBeginDate: "0001-01-01T00:00:00.0000000+07:06",
effectEndDate: "0001-01-01T00:00:00.0000000+07:06",
issuingAgencyId: 0,
signBy: String,
signDate: "0001-01-01T00:00:00.0000000+07:06",
updatedAt: "0001-01-01T00:00:00.0000000+07:06",
statusId: 0,
statusKey: String,
isInternal: False,
documentNumber: String,
documentCode: String,
isUrgent: False,
id: 0,
reasonReturn: String,
accountId: 0,
approverId: 0,
updatedBy: String,
createdBy: String,
isParty: False,
isRevisionRequested: False,
isPrivate: False,
departmentId: 0,
publicationDate: "0001-01-01T00:00:00.0000000+07:06",
processStatusId: 0,
documentTypeId: 0,
documentGroupId: 0,
accountName: String,
acceptAccountName: String,
documentGroupText: String,
processStatusText: String,
documentTypeText: String,
departmentText: String,
statusText: String,
issuingAgencyText: String,
comment: String,
submitComment: String,
fullFile: String,
parthFile: String,
isActive: False,
stepOrder: 0,
stepCount: 0,
completedStepCount: 0
}
],
message: String
}