import { TGblbResponse } from "./IGblbResponse"; import _ from "lodash"; import { TCore } from "../index.ts"; export interface IZclbResponse { whoBuild: number; userIndx: number; zclbIndx: number; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; dataType: number; kjndKJQJ: number; isLasted: number; dataStat: number; dataOrdr: number; dataHide: number; dataDate: number; dataTime: number; dataGUID: string; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; queuesBy: number; sourceND: number; entityID: string; children: IZclbResponse[]; /** 类别编码 */ zclbCode: string; /** 类别名称 */ zclbName: string; /** 类别编码链 */ codeFull: string; /** 类别名称链 */ nameFull: string; /** 类别备注 */ zclbMemo: string; /** 折旧状态 */ usesZczj: number; /** 折旧年限 */ cardZjnx: number; /**单位类型 */ zclbType: number; /** 单位类型文本 */ zclbTypeText: string; listGblb: TGblbResponse[]; /**资金来源 */ cardZjlyText: string; } export class TZclbResponse implements IZclbResponse { children: IZclbResponse[] = []; whoBuild: number = 0; userIndx: number = 0; zclbIndx: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; dataType: number = 0; kjndKJQJ: number = 0; isLasted: number = 0; dataStat: number = 0; dataOrdr: number = 0; dataHide: number = 0; dataDate: number = 0; dataTime: number = 0; dataGUID: string = ""; mastName: string = ""; mastGUID: string = ""; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; deleteAt: number = 0; queuesBy: number = 0; sourceND: number = 0; entityID: string = ""; zclbCode: string = ""; zclbName: string = ""; codeFull: string = ""; nameFull: string = ""; zclbMemo: string = ""; usesZczj: number = 0; cardZjnx: number = 0; zclbType: number = 0; zclbTypeText: string = ""; /**资金来源 */ cardZjlyText: string = ""; listGblb: TGblbResponse[] = []; constructor(form?: any) { if (form) { _.merge(this, _.pick(form, Object.keys(this))); if (form.listGblb) { this.listGblb = form.listGblb.map((item: any) => new TGblbResponse(item)); } } } static toTravel(zclb: IZclbResponse, whatDone: string): TCore.ISysTravelResponse { const travel = new TCore.TSysTravelResponse(); travel.whoBuild = zclb.whoBuild; travel.flowMain = 0; travel.flowNode = 0; travel.billUUID = zclb.entityID; travel.billMain = zclb.zclbIndx; travel.billCode = zclb.zclbCode; travel.mastName = zclb.mastName; travel.createBy = zclb.createBy; travel.whatDone = whatDone; return travel; } /** 转换成记录日志需要的数据(第一层,不包含菜单) */ static toTravelData(card?: IZclbResponse | IZclbResponse[], whatDone: string = ""): TCore.ISysTravelResponse[] { if (_.isNil(card)) { return []; } if (_.isArray(card)) { return card.map((u) => { return this.toTravel(u, whatDone); }); } return [this.toTravel(card, whatDone)]; } }