import { Const, TCore } from ".."; import { IPathResponse } from "../core"; import { TFlowDataResponse } from "../flow"; import { ICardMainResponse } from "./ICardMainResponse"; import _ from "lodash"; export interface IZcdbResponse { whoBuild: number; userIndx: number; zcdbIndx: 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; sqyhText: string; sqbmText: string; /** 调入单位.标识 */ unitFrom: number; /** 调入单位使用部门.标识(待定) */ deptFrom: number; /** 调入单位存放地点.标识(待定) */ laidFrom: number; /** 调入单位.名称 系统内;根据unitFrom获取;系统外:自行填写 */ unitFromText: string; /** 调入单位使用部门.名称(待定) */ deptFromText: string; /** 调入单位存放地点.名称(待定) */ laidFromText: string; flowUndo: number; flowText: string; flowUser: string; /** 申请日期 */ zcdbDate: number; /** 流程状态:(0:制单;1:送审;2:终审) */ zcdbStat: number; /** 单据类型:0:系统内;1:系统外 */ zcdbType: number; /** 单据编号 */ zcdbCode: string; /** 待定 */ zcdbName: string; /** 申请用途 */ zcdbUses: string; /** 备注说明 */ zcdbMemo: string; /** 资产数量 */ zcdbSize: number; /** 资产原值 */ zcdbZcyz: number; /** 累计折旧 */ zcdbLjzj: number; /** 资产净值 */ zcdbZcjz: number; /** 1:已确认;0:未确认*/ mrokStat: number; /** 单位名称 */ unitText: string; /** 挂起状态 */ hideStat: number; lastDate: number; lastTime: number; flowMain: number; flowNode: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; listBeforeBill: ICardMainResponse[]; listAfterBill: ICardMainResponse[]; listPath: IPathResponse[]; } export class TZcdbResponse implements IZcdbResponse { whoBuild: number = 0; userIndx: number = 0; zcdbIndx: 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; sqyhText: string = ""; sqbmText: string = ""; unitFrom: number = 0; deptFrom: number = 0; laidFrom: number = 0; unitFromText: string = ""; deptFromText: string = ""; laidFromText: string = ""; flowUndo: number = 0; flowText: string = ""; flowUser: string = ""; zcdbDate: number = 0; zcdbStat: number = 0; zcdbType: number = 0; zcdbCode: string = ""; zcdbName: string = ""; zcdbUses: string = ""; zcdbMemo: string = ""; zcdbSize: number = 0; zcdbZcyz: number = 0; zcdbLjzj: number = 0; zcdbZcjz: number = 0; unitText: string = ""; hideStat: number = 0; lastDate: number = 0; lastTime: number = 0; flowMain: number = 0; flowNode: number = 0; flowStat: number = 0; didFirst: number = 0; mrokStat: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; /** 调出卡片 */ listBeforeBill: ICardMainResponse[] = []; /** 调入卡片 */ listAfterBill: ICardMainResponse[] = []; listPath: IPathResponse[] = []; static toFlowData(zcdb: TZcdbResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = zcdb.whoBuild; result.userIndx = zcdb.userIndx; result.flowMain = zcdb.flowMain; result.flowNode = zcdb.flowNode; result.notified = Const.Todo.CONST_STR_TODO_TYPE_TO_ZCDB_WAIT; result.entityID = zcdb.entityID; result.billMain = zcdb.zcdbIndx; result.billCode = zcdb.zcdbCode; result.billMemo = zcdb.zcdbMemo; result.createAt = zcdb.createAt; result.mastName = zcdb.mastName; result.createBy = zcdb.createBy; result.unitMain = zcdb.unitMain; result.deptMain = zcdb.deptMain; result.menuUUID = zcdb.menuUUID; result.flowStat = zcdb.zcdbStat; return result; } constructor(zcdb: Partial = {}) { if (zcdb) { _.merge(this, _.pick(zcdb, Object.keys(this))); } } static toFlowDatas(zcdbs: TZcdbResponse[]): TFlowDataResponse[] { return zcdbs.map((u) => this.toFlowData(u)); } static toTravel(zcdb: TZcdbResponse): TCore.ISysTravelResponse { const travel = new TCore.TSysTravelResponse(); travel.whoBuild = zcdb.whoBuild; travel.flowMain = zcdb.flowMain; travel.flowNode = zcdb.flowNode; travel.billUUID = zcdb.entityID; travel.billMain = zcdb.zcdbIndx; travel.billCode = zcdb.zcdbCode; travel.mastName = zcdb.mastName; travel.createBy = zcdb.createBy; travel.menuUUID = zcdb.menuUUID; return travel; } /** 转换成记录日志需要的数据(第一层,不包含菜单) */ static toTravelData(data?: TZcdbResponse | TZcdbResponse[]): TCore.ISysTravelResponse[] { if (_.isNil(data)) { return []; } if (_.isArray(data)) { return data.map((u) => { return this.toTravel(u); }); } return [this.toTravel(data)]; } }