import _ from "lodash"; import type { IFlowNodeResponse } from "./IFlowNodeResponse"; import type { IFlowDutyNodeParaConv } from "./IFlowDutyNodeParaConv"; import { TFlowDutyNodeParaConv } from "./IFlowDutyNodeParaConv"; export interface IFlowDutyResponse { whoBuild: number; userIndx: number; dutyIndx: number; flowNode: number; flowMain: number; flowIndx: number; flowName: string; nodeName: string; createAt: number; createBy: string; dataDate: number; dataFrom: number; dataHide: number; dataOrdr: number; dataStat: number; dataTime: number; deleteAt: number; deleteBy: string; updateAt: number; updateBy: string; mastGUID: string; mastName: string; dutyText: string; queuesBy: number; selectEd: number; dutyPara: string; dutyParaConv: IFlowDutyNodeParaConv; listNode: IFlowNodeResponse[]; } export class TFlowDutyResponse implements IFlowDutyResponse { whoBuild: number = 0; userIndx: number = 0; dutyIndx: number = 0; flowNode: number = 0; flowMain: number = 0; flowIndx: number = 0; flowName: string = ""; nodeName: string = ""; createAt: number = 0; createBy: string = ""; dataDate: number = 0; dataFrom: number = 0; dataHide: number = 0; dataOrdr: number = 0; dataStat: number = 0; dataTime: number = 0; deleteAt: number = 0; deleteBy: string = ""; dutyText: string = ""; mastGUID: string = ""; mastName: string = ""; queuesBy: number = 0; selectEd: number = 0; updateAt: number = 0; updateBy: string = ""; dutyPara: string = ""; listNode: IFlowNodeResponse[] = []; dutyParaConv: IFlowDutyNodeParaConv = new TFlowDutyNodeParaConv(); static parseJson(nodePara: string) { const defaultNodePara = new TFlowDutyNodeParaConv(); if (_.isEmpty(nodePara)) { return defaultNodePara; } try { const obj = JSON.parse(nodePara) as IFlowDutyNodeParaConv; return _.merge(defaultNodePara, obj); } catch (e) {} return defaultNodePara; } }