tvpl.api

<back to all web services

ReportSearch

Requires Authentication
The following routes are available for this service:
POST/report/search

export class PagingRequest
{
    public page: number;
    public limit: number;

    public constructor(init?: Partial<PagingRequest>) { (Object as any).assign(this, init); }
}

export class DocumentSearchResultItem
{
    public title?: string;
    public description: string;
    public owner?: string;
    public documentPolicyId?: number;
    public updateDocumentId?: number;
    public effectBeginDate?: string;
    public effectEndDate?: string;
    public issuingAgencyId?: number;
    public subjectId?: number;
    public signBy?: string;
    public signDate?: string;
    public updatedAt?: string;
    public statusId?: number;
    public isInternal: boolean;
    public documentNumber?: string;
    public documentCode?: string;
    public isUrgent?: boolean;
    public id: number;
    public reasonReturn?: string;
    public accountId?: number;
    public approverId?: number;
    // @StringLength(500)
    public updatedBy?: string;

    // @StringLength(500)
    public createdBy?: string;

    public isParty?: boolean;
    public isRevisionRequested?: boolean;
    public isPrivate?: boolean;
    public departmentId?: number;
    public publicationDate?: string;
    public processStatusId: number;
    public documentTypeId?: number;
    public documentGroupId?: number;
    public accountName?: string;
    public acceptAccountName?: string;
    public documentGroupText?: string;
    public processStatusText?: string;
    public documentTypeText?: string;
    public departmentText?: string;
    public statusText?: string;
    public issuingAgencyText?: string;
    public subjectText?: string;
    public comment?: string;
    public submitComment?: string;
    public fullFile?: string;
    public parthFile?: string;
    public isActive?: boolean;
    public stepOrder?: number;
    public stepCount?: number;

    public constructor(init?: Partial<DocumentSearchResultItem>) { (Object as any).assign(this, init); }
}

export class SearchResponse implements IResponseRequest
{
    public totalCount: number;
    public code: number;
    public data: DocumentSearchResultItem[];
    public message: string;

    public constructor(init?: Partial<SearchResponse>) { (Object as any).assign(this, init); }
}

export enum DocumentSearchStage
{
    All = 'All',
    AllProcessing = 'AllProcessing',
    Draft = 'Draft',
    PendingApproval = 'PendingApproval',
    IsRevisionRequested = 'IsRevisionRequested',
    PendingCompilation = 'PendingCompilation',
    PendingReport = 'PendingReport',
    Published = 'Published',
    Active = 'Active',
    InActive = 'InActive',
}

export enum SearchOrderBy
{
    UpdatedDateDesc = 'UpdatedDateDesc',
    PublishDateDesc = 'PublishDateDesc',
}

export class ReportSearch extends PagingRequest
{
    public columns?: string[];
    public title?: string;
    public typeId?: number;
    public groupId?: number;
    public subjectId?: number;
    public isUrgent?: boolean;
    public documentSearchStage: DocumentSearchStage;
    public isInternal?: boolean;
    public fromDate?: string;
    public toDate?: string;
    public statusId?: number;
    public issuingAgencyId?: number;
    public orderBy: SearchOrderBy;
    public isParty?: boolean;

    public constructor(init?: Partial<ReportSearch>) { super(init); (Object as any).assign(this, init); }
}

TypeScript ReportSearch DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /report/search HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ReportSearch xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Limit>10</Limit>
  <Page>1</Page>
  <Columns xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Columns>
  <DocumentSearchStage>All</DocumentSearchStage>
  <FromDate>0001-01-01T00:00:00</FromDate>
  <GroupId>0</GroupId>
  <IsInternal>false</IsInternal>
  <IsParty>false</IsParty>
  <IsUrgent>false</IsUrgent>
  <IssuingAgencyId>0</IssuingAgencyId>
  <OrderBy>UpdatedDateDesc</OrderBy>
  <StatusId>0</StatusId>
  <SubjectId>0</SubjectId>
  <Title>String</Title>
  <ToDate>0001-01-01T00:00:00</ToDate>
  <TypeId>0</TypeId>
</ReportSearch>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SearchResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Code>0</Code>
  <Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/tvpl.data.Models">
    <d2p1:DocumentSearchResultItem>
      <d2p1:AcceptAccountName>String</d2p1:AcceptAccountName>
      <d2p1:AccountId>0</d2p1:AccountId>
      <d2p1:AccountName>String</d2p1:AccountName>
      <d2p1:ApproverId>0</d2p1:ApproverId>
      <d2p1:Comment>String</d2p1:Comment>
      <d2p1:CreatedBy>String</d2p1:CreatedBy>
      <d2p1:DepartmentId>0</d2p1:DepartmentId>
      <d2p1:DepartmentText>String</d2p1:DepartmentText>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:DocumentCode>String</d2p1:DocumentCode>
      <d2p1:DocumentGroupId>0</d2p1:DocumentGroupId>
      <d2p1:DocumentGroupText>String</d2p1:DocumentGroupText>
      <d2p1:DocumentNumber>String</d2p1:DocumentNumber>
      <d2p1:DocumentPolicyId>0</d2p1:DocumentPolicyId>
      <d2p1:DocumentTypeId>0</d2p1:DocumentTypeId>
      <d2p1:DocumentTypeText>String</d2p1:DocumentTypeText>
      <d2p1:EffectBeginDate>0001-01-01T00:00:00</d2p1:EffectBeginDate>
      <d2p1:EffectEndDate>0001-01-01T00:00:00</d2p1:EffectEndDate>
      <d2p1:FullFile>String</d2p1:FullFile>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsActive>false</d2p1:IsActive>
      <d2p1:IsInternal>false</d2p1:IsInternal>
      <d2p1:IsParty>false</d2p1:IsParty>
      <d2p1:IsPrivate>false</d2p1:IsPrivate>
      <d2p1:IsRevisionRequested>false</d2p1:IsRevisionRequested>
      <d2p1:IsUrgent>false</d2p1:IsUrgent>
      <d2p1:IssuingAgencyId>0</d2p1:IssuingAgencyId>
      <d2p1:IssuingAgencyText>String</d2p1:IssuingAgencyText>
      <d2p1:Owner>String</d2p1:Owner>
      <d2p1:ParthFile>String</d2p1:ParthFile>
      <d2p1:ProcessStatusId>0</d2p1:ProcessStatusId>
      <d2p1:ProcessStatusText>String</d2p1:ProcessStatusText>
      <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
      <d2p1:ReasonReturn>String</d2p1:ReasonReturn>
      <d2p1:SignBy>String</d2p1:SignBy>
      <d2p1:SignDate>0001-01-01T00:00:00</d2p1:SignDate>
      <d2p1:StatusId>0</d2p1:StatusId>
      <d2p1:StatusText>String</d2p1:StatusText>
      <d2p1:StepCount>0</d2p1:StepCount>
      <d2p1:StepOrder>0</d2p1:StepOrder>
      <d2p1:SubjectId>0</d2p1:SubjectId>
      <d2p1:SubjectText>String</d2p1:SubjectText>
      <d2p1:SubmitComment>String</d2p1:SubmitComment>
      <d2p1:Title>String</d2p1:Title>
      <d2p1:UpdateDocumentId>0</d2p1:UpdateDocumentId>
      <d2p1:UpdatedAt>0001-01-01T00:00:00</d2p1:UpdatedAt>
      <d2p1:UpdatedBy>String</d2p1:UpdatedBy>
    </d2p1:DocumentSearchResultItem>
  </Data>
  <Message>String</Message>
  <TotalCount>0</TotalCount>
</SearchResponse>