import { THznk, TCore, TStim } from ".."; import { TFlowDataResponse } from "../flow"; import _ from "lodash"; export interface IHznkXmysResponse { whoBuild: number; userIndx: number; xmysIndx: 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; sqyhMain: number; sqyhText: string; sqbmText: string; flowUndo: number; flowUser: string; flowText: string; xmysDate: number; xmysStat: number; /**项目名称 */ baseName: string; /**单据编号 */ baseCode: string; /**项目编码 */ hznkXmbh: string; /**申请理由 */ baseUses: string; /**备注信息 */ baseMemo: string; /**是否已提交档案 */ diskStat: number; /**项目层级 */ levlText: string; /**组织单位 */ zzdwText: string; /**验收时间 */ ysxqDate: number; /**验收结果 */ typeText: string; /**项目层级ID */ baseLevl: number; /**验收结果ID */ ysxqType: number; coverURL: string; touchURL: string; unitText: string; sourceDW: string; lastDate: number; lastTime: number; flowMain: number; flowNode: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; fromHznkIndx: number; /** 关联的项目indx */ fromHznkMain: number; /**附件 */ listPath: TCore.IPathResponse[]; /** 关联项目 */ listFrom: THznk.IHznkYssqResponse[]; listItem: THznk.IHznkXmysItemResponse[]; listYSXQ: THznk.IHznkXmysYsxqResponse[]; listDept: THznk.IHznkXmysDeptResponse[]; } export class THznkXmysResponse implements IHznkXmysResponse { whoBuild: number = 0; userIndx: number = 0; xmysIndx: 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 = ""; 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 = ""; xmysDate: number = 0; xmysStat: number = 0; baseName: string = ""; baseCode: string = ""; hznkXmbh: string = ""; baseUses: string = ""; baseMemo: string = ""; diskStat: number = 0; coverURL: string = ""; touchURL: string = ""; unitText: string = ""; sourceDW: string = ""; /**项目层级 */ levlText: string = ""; /**组织单位 */ zzdwText: string = ""; /**验收时间 */ ysxqDate: number = 0; /**验收结果 */ typeText: string = ""; /**项目层级ID */ baseLevl: number = 0; /**验收结果ID */ ysxqType: number = 0; lastDate: number = 0; lastTime: number = 0; flowMain: number = 0; flowNode: number = 0; flowStat: number = 0; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; /** 关联的项目indx */ fromHznkIndx: number = 0; fromHznkMain: number = 0; listPath: TCore.IPathResponse[] = []; listFrom: THznk.IHznkYssqResponse[] = []; listItem: THznk.IHznkXmysItemResponse[] = []; listYSXQ: THznk.IHznkXmysYsxqResponse[] = []; listDept: THznk.IHznkXmysDeptResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } static toFlowDatas(card: IHznkXmysResponse[]): TFlowDataResponse[] { return card.map((u) => this.toFlowData(u)); } static toFlowData(xmys: IHznkXmysResponse): TFlowDataResponse { let result = new TFlowDataResponse(); result.whoBuild = xmys.whoBuild; result.userIndx = xmys.userIndx; result.flowMain = xmys.flowMain; result.flowNode = xmys.flowNode; result.flowStat = xmys.xmysStat; result.entityID = xmys.entityID; result.billMain = xmys.xmysIndx; result.billCode = xmys.baseCode; result.billMemo = xmys.baseMemo; result.outMoney = 0; result.createAt = xmys.createAt; result.mastName = xmys.mastName; result.createBy = xmys.createBy; result.unitMain = xmys.unitMain; result.deptMain = xmys.deptMain; result.menuUUID = xmys.menuUUID; return result; } static toWldyPrintData(noti: IHznkXmysResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(noti.xmysIndx); data.menuUUID = noti.menuUUID; return data; } static toWldyPrintDatas(listNoti: IHznkXmysResponse[]) { return listNoti.map((u) => this.toWldyPrintData(u)); } }