import { THznj, TCore, TStim } from ".."; import _ from "lodash"; import { TFlowDataResponse } from "../flow"; export interface IHznjMainResponse { whoBuild: number; userIndx: number; hznjIndx: number; sourceID: number; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; kjndKJQJ: number; dataStat: number; dataOrdr: number; dataDate: number; dataType: number; dataTime: number; dataHide: 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; flowUndo: number; flowUser: string; flowText: string; /**申请日期 */ hznjDate: number; /**流程状态:(0:制单;1:送审;2:终审) */ hznjStat: number; /**单据类型:检验类型 */ hznjType: number; /**单据编号 */ hznjCode: string; /**单据名称 */ hznjName: string; /**申请用途 */ hznjUses: string; /**备注说明 */ hznjMemo: string; /**检验结论 */ hznjText: string; /**实验环境要求,默认:符合检测要求 */ envrText: string; /**所有主要仪器(仪器编号) */ deviceBy: string; /**判定依据 */ k9kmKmmc: string; /**检验项目,默认:见检验结果报告书 */ itemText: string; /**联系人 */ wContact: string; /**联系方式 */ dContact: string; /**检测报告生成状态 (0:未生成;1:已生成) */ jcbgStat: number; /**检测报告编码 */ jcbgCode: string; /**检测地点 */ jcddText: string; /**抽样地点 */ cAddress: string; /**项目备注 */ baseMemo: string; /**样品编号 */ sampCode: string; /**样品名称 */ sampName: string; coverURL: string; touchURL: string; unitText: string; sourceDW: string; bgysMain: number; /**报告样式 */ bgysText: string; lastDate: number; lastTime: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; flowMain: number; flowNode: number; /**默认行高 */ rowHeigh: number; /**附件 */ listPath: TCore.IPathResponse[]; listBill: THznj.IHznjBillResponse[]; listFrom: THznj.IHznjXmjjItemResponse[]; } export class THznjMainResponse implements IHznjMainResponse { whoBuild: number = 0; userIndx: number = 0; hznjIndx: number = 0; sourceID: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataStat: number = 0; dataOrdr: number = 0; dataDate: number = 0; dataType: number = 0; dataTime: number = 0; dataHide: 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 = ""; flowUndo: number = 0; flowUser: string = ""; flowText: string = ""; hznjDate: number = 0; hznjStat: number = 0; hznjType: number = 0; hznjCode: string = ""; hznjName: string = ""; hznjUses: string = ""; hznjMemo: string = ""; hznjText: string = ""; envrText: string = ""; deviceBy: string = ""; k9kmKmmc: string = ""; itemText: string = ""; wContact: string = ""; dContact: string = ""; /**检测报告生成状态 (0:未生成;1:已生成) */ jcbgStat: number = 0; /**检测报告编码 */ jcbgCode: string = ""; jcddText: string = ""; /**抽样地点 */ cAddress: string = ""; /**项目备注 */ baseMemo: string = ""; /**样品编号 */ sampCode: string = ""; /**样品名称 */ sampName: string = ""; bgysMain: number = 0; bgysText: string = ""; coverURL: string = ""; touchURL: string = ""; unitText: string = ""; sourceDW: string = ""; lastDate: number = 0; lastTime: number = 0; flowStat: number = 0; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; flowMain: number = 0; flowNode: number = 0; /**默认行高 */ rowHeigh: number = 0; listPath: TCore.IPathResponse[] = []; listBill: THznj.IHznjBillResponse[] = []; listFrom: THznj.IHznjXmjjItemResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } static toFlowData(data: IHznjMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = data.whoBuild; result.userIndx = data.userIndx; result.flowMain = data.flowMain; result.flowNode = data.flowNode; result.notified = ""; result.entityID = data.entityID; result.billMain = data.hznjIndx; result.billCode = data.hznjCode; result.billMemo = data.hznjMemo; result.flowStat = data.hznjStat; result.createAt = data.createAt; result.mastName = data.mastName; result.createBy = data.createBy; result.unitMain = data.unitMain; result.deptMain = data.deptMain; result.menuUUID = data.menuUUID; return result; } static toFlowDatas(list: IHznjMainResponse[]): TFlowDataResponse[] { return list.map((data) => this.toFlowData(data)); } static toWldyPrintData(noti: IHznjMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(noti.hznjIndx); data.menuUUID = noti.menuUUID; return data; } static toWldyPrintDatas(listNoti: IHznjMainResponse[]) { return listNoti.map((u) => this.toWldyPrintData(u)); } }