import { TCore, THznk, TStim, TVary } from ".."; import { TFlowDataResponse } from "../flow"; import _ from "lodash"; export interface IVaryMainResponse { whoBuild: number; userIndx: number; varyIndx: number; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; kjndKJQJ: number; dataStat: number; dataOrdr: number; dataHide: number; dataType: number; dataDate: number; dataTime: number; dataGUID: string; userMain: number; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; queuesBy: number; entityID: string; sourceND: number; menuMain: number; menuUUID: string; unitMain: number; deptMain: number; sqbmText: string; sqyhText: string; flowUndo: number; flowText: string; flowUser: string; varyType: number; varyDate: number; varyStat: number; varyCode: string; varyName: string; varyUses: string; varyText: string; varyMemo: string; dContact: string; valueOld: number; valueNew: number; coverURL: string; touchURL: string; deptName: string; sourceBM: string; unitText: string; sourceDW: string; lastDate: number; lastTime: number; flowMain: number; flowNode: number; flowStat: number; didFirst: number; sysClasc: number; lastMemo: string; userName: string; userGUID: string; cloneOld: number; itemCode: string; itemName: string; listPath: TCore.IPathResponse[]; listSQBM: TCore.IDeptResponse[]; listSQYH: TCore.IUserResponse[]; listBill: TVary.IVaryBillResponse[]; listFrom: THznk.IHznkMainResponse[]; } export class TVaryMainResponse implements IVaryMainResponse { whoBuild: number = 0; userIndx: number = 0; varyIndx: number = 0; parentID: number = 0; dContact: string = ""; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataStat: number = 0; dataOrdr: number = 0; dataHide: number = 0; dataType: number = 0; dataDate: number = 0; dataTime: number = 0; dataGUID: string = ""; userMain: number = 0; mastName: string = ""; mastGUID: string = ""; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; deleteAt: number = 0; queuesBy: number = 0; entityID: string = ""; sourceND: number = 0; menuMain: number = 0; menuUUID: string = ""; unitMain: number = 0; deptMain: number = 0; sqbmText: string = ""; sqyhText: string = ""; flowUndo: number = 0; flowText: string = ""; flowUser: string = ""; varyType: number = 0; varyDate: number = 0; varyStat: number = 0; varyCode: string = ""; varyName: string = ""; varyUses: string = ""; varyText: string = ""; varyMemo: string = ""; valueOld: number = 0; valueNew: number = 0; coverURL: string = ""; touchURL: string = ""; deptName: string = ""; sourceBM: string = ""; unitText: string = ""; sourceDW: string = ""; lastDate: number = 0; lastTime: number = 0; flowMain: number = 0; flowNode: number = 0; flowStat: number = 0; didFirst: number = 0; sysClasc: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; cloneOld: number = 0; itemCode: string = ""; itemName: string = ""; listPath: TCore.IPathResponse[] = []; listSQBM: TCore.IDeptResponse[] = []; listSQYH: TCore.IUserResponse[] = []; listBill: TVary.IVaryBillResponse[] = []; listFrom: THznk.IHznkMainResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } static toFlowData(data: IVaryMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = data.whoBuild; result.flowMain = data.flowMain; result.flowNode = data.flowNode; result.notified = ""; result.entityID = data.entityID; result.billMain = data.varyIndx; result.billCode = data.varyCode; result.billMemo = data.varyMemo; result.createAt = data.createAt; result.mastName = data.mastName; result.createBy = data.createBy; result.unitMain = data.unitMain; result.deptMain = data.deptMain; result.menuUUID = data.menuUUID; result.flowStat = data.varyStat; return result; } static toFlowDatas(data: IVaryMainResponse[]): TFlowDataResponse[] { return data.map((u) => this.toFlowData(u)); } static toWldyPrintData(noti: IVaryMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(noti.varyIndx); data.menuUUID = noti.menuUUID; return data; } static toWldyPrintDatas(listNoti: IVaryMainResponse[]) { return listNoti.map((u) => this.toWldyPrintData(u)); } }