import { TCore, TStim } from ".."; import { TFlowDataResponse } from "../flow"; import type { ITablDataResponse } from "./ITablDataResponse"; import _ from "lodash"; import { ITablWzk8Response } from "./ITablWzk8Response"; export interface ITablMainResponse { whoBuild: number; userIndx: number; tablIndx: number; gzjgMain: number; tablType: number; sourceND: number; sourceQJ: number; sourceDh: number; onStatus: number; modifyID: number; parentID: number; hashCode: number; dataLevl: number; dataStat: number; dataOrdr: number; dataDate: number; dataTime: number; dataHide: number; dataFrom: number; kjndKJQJ: number; dataGUID: string; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; tablStat: number; queuesBy: number; entityID: string; tablMemo: string; flowText: string; menuUUID: string; flowUndo: number; handleBy: string; handleAt: number; sourceDW: string; unitMain: number; unitNamf: string; sourceBM: string; deptMain: number; deptName: string; usesYzcg: number; gzjgName: string; sysClasc: number; gztbMain: number; directAt: number; taskType: number; lastDate: number; lastTime: number; flowMain: number; flowNode: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; bodyText: string; withBody: number; gzjgIcon: string; notified: string; unitLike: string; unitType: number; taskMain: number; unitTypeText: string; ERORMEMO: string; userMain: number; usesAuto?: number; tablMode: number; tablCode: string; // 计划名称 tablName: string; // 用户标识 commitID: number; // 用户名称 commitBy: string; asNormal: number; listData: Array; listPath: TCore.IPathResponse[]; listWZK8: ITablWzk8Response[]; } export class TTablMainResponse implements ITablMainResponse { whoBuild: number = 0; userIndx: number = 0; tablIndx: number = 0; gzjgMain: number = 0; tablType: number = 0; sourceND: number = 0; sourceQJ: number = 0; sourceDh: number = 0; onStatus: number = 0; modifyID: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataStat: number = 1; dataOrdr: number = 0; dataDate: number = 0; dataTime: number = 0; dataHide: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataGUID: string = ""; mastName: string = ""; mastGUID: string = ""; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; deleteAt: number = 0; tablStat: number = 0; queuesBy: number = 0; entityID: string = ""; tablMemo: string = ""; flowText: string = ""; menuUUID: string = ""; flowUndo: number = 0; handleBy: string = ""; handleAt: number = 0; tablCode: string = ""; sourceDW: string = ""; unitMain: number = 0; unitNamf: string = ""; sourceBM: string = ""; deptMain: number = 0; deptName: string = ""; usesYzcg: number = 0; gzjgName: string = ""; sysClasc: number = 0; gztbMain: number = 0; directAt: number = 0; taskType: 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 = ""; bodyText: string = ""; withBody: number = 0; gzjgIcon: string = ""; ERORMEMO: string = ""; notified: string = ""; unitLike: string = ""; unitType: number = 0; unitTypeText: string = ""; taskMain: number = 0; userMain: number = 0; tablMode: number = 0; tablName: string = ""; commitID: number = 0; commitBy: string = ""; asNormal: number = 0; listData: Array = []; listPath: TCore.IPathResponse[] = []; listWZK8: ITablWzk8Response[] = []; constructor(data: keyof ITablMainResponse | object) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } static merge = (slef: ITablMainResponse, tabl: TTablMainResponse | object) => { _.merge(slef, _.pick(tabl, Object.keys(slef))); }; static toFlowDatas(list: ITablMainResponse[]): TFlowDataResponse[] { return list.map((u) => this.toFlowData(u)); } //#进入流程 static toFlowData(myoa: ITablMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.billCode = myoa.tablCode; result.whoBuild = myoa.whoBuild; result.userIndx = myoa.userIndx; result.flowMain = myoa.flowMain; result.flowNode = myoa.flowNode; // result.notified = Const.Todo.CONST_STR_TODO_TYPE_TO_HTQD_WAIT; result.entityID = myoa.entityID; result.billMain = myoa.tablIndx; result.billMemo = myoa.tablMemo; result.billUses = ""; result.ysxmText = ""; result.outMoney = 0; result.createAt = myoa.createAt; result.mastName = myoa.mastName; result.createBy = myoa.createBy; result.unitMain = myoa.unitMain; result.menuUUID = myoa.menuUUID; result.deptMain = myoa.deptMain; result.flowStat = myoa.tablStat; return result; } static toWldyPrintData(tabl: ITablMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(tabl.tablIndx); data.menuUUID = tabl.menuUUID; return data; } static toWldyPrintDatas(listTabl: ITablMainResponse[]) { return listTabl.map((u) => this.toWldyPrintData(u)); } }