import { THznk, TCore, TStim } from ".."; import _ from "lodash"; import { TFlowDataResponse } from "../flow"; export interface IHznkMainResponse { whoBuild: number; userIndx: number; hznkIndx: 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; flowNode: number; flowMain: 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; sqyhMain: number; sqyhText: string; sqbmText: string; flowUndo: number; flowUser: string; flowText: string; hznkDate: number; hznkStat: number; /**项目标识 */ hznkBase: number; /**项目名称 */ baseName: string; /**单据编号*/ baseCode: string; /**项目编码 */ hznkXmbh: string; /**申请理由 */ baseUses: string; /**备注信息 */ baseMemo: string; /**项目类型 */ baseType: number; typeText: string; /**项目层级 */ baseMode: number; levlText: string; baseFrom: number; /**项目来源 */ fromText: string; /**实施开始日期 */ startDay: number; /**实施结束日期 */ endedDay: number; /**项目负责人 */ chargeBy: string; /**项目成员(内部) */ nbyhText: string; /**项目成员(外部) */ wbyhText: string; /**总经费 */ totalVal: number; /**内部总经费 */ innerVal: number; /**外部总经费 */ outerVal: number; /**内部激励费 */ innerFy1: number; /**内部管理费 */ innerFy2: number; /**已提取激励费 */ innerTq1: number; /**已提取管理费 */ innerTq2: number; /**联系人 */ wContact: string; /**联系方式 */ dContact: string; coverURL: string; touchURL: string; unitText: string; sourceDW: string; lastDate: number; lastTime: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; /**负责人ID */ chargeID: number; /**附件 */ listPath: TCore.IPathResponse[]; /**内部用户 */ listNBYH: TCore.IUserLiteResponse[]; /**外部用户 */ listWBYH: TCore.IUserLiteResponse[]; /**外部单位 */ listWBDW: THznk.IHznkMainWbdwResponse[]; /**任务指标 */ listRWZB: THznk.IHznkMainRwzbResponse[]; /** 项目下关联的业务 */ listData: THznk.IHznkDataResponse[]; } export class THznkMainResponse implements IHznkMainResponse { whoBuild: number = 0; userIndx: number = 0; hznkIndx: number = 0; parentID: number = 0; 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; flowNode: number = 0; flowMain: 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; sqyhMain: number = 0; sqyhText: string = ""; sqbmText: string = ""; flowUndo: number = 0; flowUser: string = ""; flowText: string = ""; hznkDate: number = 0; hznkStat: number = 0; hznkBase: number = 0; baseName: string = ""; baseCode: string = ""; hznkXmbh: string = ""; baseUses: string = ""; baseMemo: string = ""; baseType: number = 0; baseMode: number = 0; baseFrom: number = 0; fromText: string = ""; startDay: number = 0; endedDay: number = 0; chargeBy: string = ""; nbyhText: string = ""; wbyhText: string = ""; totalVal: number = 0; innerVal: number = 0; outerVal: number = 0; innerFy1: number = 0; innerFy2: number = 0; innerTq1: number = 0; innerTq2: number = 0; chargeID: number = 0; wContact: string = ""; dContact: string = ""; coverURL: string = ""; touchURL: string = ""; unitText: string = ""; sourceDW: string = ""; lastDate: number = 0; lastTime: number = 0; flowStat: number = 0; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; typeText: string = ""; levlText: string = ""; listPath: TCore.IPathResponse[] = []; listNBYH: TCore.IUserLiteResponse[] = []; listWBYH: TCore.IUserLiteResponse[] = []; listWBDW: THznk.IHznkMainWbdwResponse[] = []; listRWZB: THznk.IHznkMainRwzbResponse[] = []; /** 项目下关联的业务 */ listData: THznk.IHznkDataResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } static toFlowData(data: IHznkMainResponse): 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.hznkIndx; result.billCode = data.baseCode; result.billMemo = data.baseMemo; 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.hznkStat; return result; } static toFlowDatas(data: IHznkMainResponse[]): TFlowDataResponse[] { return data.map((u) => this.toFlowData(u)); } static toWldyPrintData(noti: IHznkMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(noti.hznkIndx); data.menuUUID = noti.menuUUID; return data; } static toWldyPrintDatas(listNoti: IHznkMainResponse[]) { return listNoti.map((u) => this.toWldyPrintData(u)); } }