import { Const, TStim } from ".."; import { IPathResponse } from "../core"; import { TFlowDataResponse } from "../flow"; import { IYzhtMainResponse } from "../yzht"; import { IHzcbXmtzBillResponse } from "./IHzcbXmtzBillResponse"; import _ from "lodash"; export interface IHzcbXmtzResponse { whoBuild: number; userIndx: number; xmtzIndx: 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; mastName: string; mastGUID: string; userMain: number; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; queuesBy: number; entityID: string; sourceND: number; unitMain: number; deptMain: number; flowUndo: number; flowUser: string; flowText: string; menuMain: number; menuUUID: string; sqbmText: string; sqyhText: string; xmtzCode: string; xmtzName: string; xmtzDate: number; xmtzStat: number; xmtzUses: string; xmtzMemo: string; sourceDW: string; /** 合同金额 */ totalVal: number; /** 预算金额 */ billYsje: number; /** 合同计划支付金额 */ payMoney: number; /** 计划申请金额 */ aplMoney: number; /** 计划审核金额 */ finalApl: 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; lastMemo: string; userName: string; userGUID: string; /** 一级项目名称 */ hzcbTxt1: string; /** 项目名称 */ hzcbName: string; /** 项目总投 */ outMoney: number; /** 起始时间 */ startDay: number; /** 项目期限 */ hzcbXmqx: number; listBill: IHzcbXmtzBillResponse[]; listYZHT: IYzhtMainResponse[]; listPath: IPathResponse[]; } export class THzcbXmtzResponse implements IHzcbXmtzResponse { whoBuild: number = 0; userIndx: number = 0; xmtzIndx: 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; dataGUID: string = ""; mastName: string = ""; mastGUID: string = ""; userMain: number = 0; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; deleteAt: number = 0; queuesBy: number = 0; entityID: string = ""; sourceND: number = 0; unitMain: number = 0; deptMain: number = 0; flowUndo: number = 0; flowUser: string = ""; flowText: string = ""; menuMain: number = 0; menuUUID: string = ""; sqbmText: string = ""; sqyhText: string = ""; xmtzCode: string = ""; xmtzName: string = ""; xmtzDate: number = 0; xmtzStat: number = 0; xmtzUses: string = ""; xmtzMemo: string = ""; sourceDW: string = ""; /** 合同金额 */ totalVal: number = 0; /** 预算金额 */ billYsje: number = 0; /** 合同计划支付金额 */ payMoney: number = 0; /** 计划申请金额 */ aplMoney: number = 0; /** 计划审核金额 */ finalApl: 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; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; /** 一级项目名称 */ hzcbTxt1: string = ""; /** 项目名称 */ hzcbName: string = ""; /** 项目总投 */ outMoney: number = 0; /** 起始时间 */ startDay: number = 0; /** 项目期限 */ hzcbXmqx: number = 0; listBill: IHzcbXmtzBillResponse[] = []; listYZHT: IYzhtMainResponse[] = []; listPath: IPathResponse[] = []; constructor(xmtz: any = {}) { if (xmtz) { _.merge(this, _.pick(xmtz, Object.keys(this))); } } static toFlowDatas(xmtzs: THzcbXmtzResponse[]): TFlowDataResponse[] { return xmtzs.map((u) => this.toFlowData(u)); } static toFlowData(xmtz: THzcbXmtzResponse): TFlowDataResponse { let result = new TFlowDataResponse(); result.whoBuild = xmtz.whoBuild; result.userIndx = xmtz.userIndx; result.flowMain = xmtz.flowMain; result.flowNode = xmtz.flowNode; result.flowStat = xmtz.xmtzStat; result.notified = Const.Todo.CONST_STR_TODO_TYPE_TO_HZCB_XMTZ_WAIT; result.entityID = xmtz.entityID; result.billMain = xmtz.xmtzIndx; result.billCode = xmtz.xmtzCode; result.billMemo = xmtz.xmtzMemo; result.outMoney = 0; result.createAt = xmtz.createAt; result.mastName = xmtz.mastName; result.createBy = xmtz.createBy; result.unitMain = xmtz.unitMain; result.deptMain = xmtz.deptMain; result.menuUUID = xmtz.menuUUID; return result; } static toWldyPrintData(xmtz: IHzcbXmtzResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(xmtz.xmtzIndx); data.menuUUID = xmtz.menuUUID; return data; } static toWldyPrintDatas(listXmtz: IHzcbXmtzResponse[]) { return listXmtz.map((u) => this.toWldyPrintData(u)); } }