import _ from "lodash"; import { TCore, TStim } from ".."; import { IDictResponse, IPartResponse, IUnitResponse, IUserLiteResponse } from "../core"; import { IPathResponse } from "../core/IPathResponse"; import { TFlowDataResponse } from "../flow/IFlowDataResponse"; /** *后端已校验 */ export interface INotiMainResponse { whoBuild: number; //#pk userIndx: number; //#pk notiIndx: number; //#pk shareday: 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; publicEd: number; publicAt: number; publicBy: string; //发布单位 publicTo: string; entityID: string; notiStat: number; notiDate: number; notiCode: string; pathSize: number; userSize: number; readSize: number; printCnt: number; fetchCnt: number; partText: string; typeText: string; notiName: string; notiMemo: string; deadLine: number; deadDate: number; deadTime: number; canClose: number; sysClasc: number; sysClasn: string; everyOne: number; menuUUID: string; sysPartc: number; sourceND: number; unitMain: number; deptMain: number; flowUndo: number; flowText: string; notiBody: string; replyTxt: string; notiPara: string; notiKJND: number; notiKJQJ: number; menuName: string; /** * 是否归档:0:未归档;1:已归档 */ diskStat: number; diskDate: number; diskTime: number; /** 流程节点判断 */ flowVal1: number; /** 流程节点判断 */ flowVal2: number; /** 流程节点判断 */ flowVal3: number; /** 流程节点判断 */ flowVal4: number; /** 流程节点判断 */ flowVal5: number; /** 科室类型:0:主办科室;1:协办科室 */ deptType: number; /** 业务科室.标识 */ deptFrom: number; /** 业务科室.名称 */ deptFromText: string; /** 主要领导.标识 */ userFrom1: number; /** 主要领导.名称 */ userFrom1Text: string; /** 分管领导.标识 */ userFrom2: number; /** 分管领导.名称 */ userFrom2Text: string; /** 主办科室承办人.标识 */ userFrom3: number; /** 主办科室承办人.名称 */ userFrom3Text: string; //from Flow flowMain: number; flowNode: number; sourceDW: string; unitText: string; deptText: string; userMain: number; touchURL: string; coverURL: string; lastDate: number; lastTime: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; notified: string; fileName: string; //文件名称 fileType: number; //文件分类 fileArea: number; //发布层级 fileCode: string; //文号 didValid: number; //是否现行有效 dxField0: string; wbField0: string; wbField1: string; wbField2: string; wbField3: string; wbField4: string; wbField5: string; wbField6: string; lockText: string; //对应法规,文件名称 lockPara: string; //对应法规,跳转参数 listLock: INotiMainResponse[]; fromSysPartc: number; dictQueuesBy: number; notiTypeText: string; fileTypeText: string; fileAreaText: string; starType: number; //(评分等级,字典) starTypeText: string; //(视图) starSize: number; //(评分) listUnit: IUnitResponse[]; usrPartn: IPartResponse[]; listType: IDictResponse[]; listPath: IPathResponse[]; listUser: IUserLiteResponse[]; //虚拟字段 typeArray?: number[]; unitArray?: number[]; diskArray?: number[]; /** * 栏目名称 */ columnBy: string; /** * 编辑排版 */ editedBy: string; /** * 服务对象 */ directAt: number; /** * 截止日期 */ endedDay: number; /** * 撰稿人 */ sqyhText: string; /** * 印发份数 */ issueCnt: number; /** * 行政规范性文件 */ zdField1: number; /** * 党的规范性文件 */ zdField2: number; /** * 市场公平竞争审查意见 */ zdField3: number; /** * 信息公开审查意见 */ zdField4: number; /** * 密级 */ secretID: number; /** * 密级文本 */ secretText: string; /** * 保密期限 */ secretAt: number; /** * 紧急程度 */ urgentID: number; /** * 紧急程度文本 */ urgentText: string; /** * 是否督办 */ deadLock: number; /** * 来文日期 */ fileDate: number; /** * 纸质分送 */ usePaper: string; /** * 办理提醒 */ usesNoti: string; /** * 申请科室 */ deptName: string; /** * 文件条码 */ scanCode: string; /** * 来文单位 */ fileFrom: number; notiUses: string; listDept: TCore.IDeptResponse[]; } export class TNotiMainResponse implements INotiMainResponse { fileName: string = ""; fileType: number = 0; fileArea: number = 0; whoBuild: number = 0; userIndx: number = 0; notiIndx: number = 0; shareday: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataStat: number = 0; 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; publicEd: number = 0; publicAt: number = 0; publicBy: string = ""; publicTo: string = ""; entityID: string = ""; notiStat: number = 0; notiDate: number = 0; notiCode: string = ""; pathSize: number = 0; userSize: number = 0; readSize: number = 0; printCnt: number = 0; fetchCnt: number = 0; partText: string = ""; typeText: string = ""; notiName: string = ""; notiMemo: string = ""; deadLine: number = 0; deadDate: number = 0; //项目完成时间 deadTime: number = 0; canClose: number = 0; sysClasc: number = 0; sysClasn: string = ""; everyOne: number = 0; menuUUID: string = ""; sysPartc: number = 0; sourceND: number = 0; sourceDW: string = ""; unitText: string = ""; unitMain: number = 0; deptText: string = ""; deptMain: number = 0; flowUndo: number = 0; flowText: string = ""; notiBody: string = ""; replyTxt: string = ""; notiPara: string = ""; notiKJND: number = 0; notiKJQJ: number = 0; menuName: string = ""; /** * 是否归档:0:未归档;1:已归档 */ diskStat: number = 0; diskDate: number = 0; diskTime: number = 0; /** 流程节点判断 */ flowVal1: number = -1; /** 流程节点判断 */ flowVal2: number = -1; /** 流程节点判断 */ flowVal3: number = -1; /** 流程节点判断 */ flowVal4: number = -1; /** 流程节点判断 */ flowVal5: number = -1; /** 科室类型:0:主办科室;1:协办科室 */ deptType: number = -1; /** 业务科室.标识 */ deptFrom: number = 0; /** 业务科室.名称 */ deptFromText: string = ""; /** 主要领导.标识 */ userFrom1: number = 0; /** 主要领导.名称 */ userFrom1Text: string = ""; /** 分管领导.标识 */ userFrom2: number = 0; /** 分管领导.名称 */ userFrom2Text: string = ""; /** 主办科室承办人.标识 */ userFrom3: number = 0; /** 主办科室承办人.名称 */ userFrom3Text: string = ""; //from Flow flowMain: number = 0; flowNode: number = 0; userMain: number = 0; touchURL: string = ""; coverURL: string = ""; lastDate: number = 0; lastTime: number = 0; flowStat: number = 0; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; notified: string = ""; fileCode: string = ""; didValid: number = 0; dxField0: string = ""; wbField0: string = ""; wbField1: string = ""; wbField2: string = ""; wbField3: string = ""; wbField4: string = ""; wbField5: string = ""; wbField6: string = ""; lockText: string = ""; //对应法规,文件名称 lockPara: string = ""; //对应法规,跳转参数 listLock: INotiMainResponse[] = []; fromSysPartc: number = 0; dictQueuesBy: number = 0; notiTypeText: string = ""; fileTypeText: string = ""; fileAreaText: string = ""; starType: number = 0; //(评分等级,字典) starTypeText: string = ""; //(视图) starSize: number = 0; //(评分) listUnit: IUnitResponse[] = []; usrPartn: IPartResponse[] = []; listType: IDictResponse[] = []; listPath: IPathResponse[] = []; listUser: IUserLiteResponse[] = []; typeArray?: number[] = []; unitArray?: number[] = []; diskArray?: number[] = []; columnBy: string = ""; editedBy: string = ""; directAt: number = 0; endedDay: number = 0; sqyhText: string = ""; issueCnt: number = 0; zdField1: number = 0; zdField2: number = 0; zdField3: number = 0; zdField4: number = 0; secretID: number = 0; secretText: string = ""; secretAt: number = 0; urgentID: number = 0; urgentText: string = ""; deadLock: number = 0; fileDate: number = 0; usePaper: string = ""; usesNoti: string = ""; deptName: string = ""; scanCode: string = ""; fileFrom: number = 0; notiUses: string = ""; listDept: TCore.IDeptResponse[] = []; constructor(ntio: any = {}) { if (ntio) { _.merge(this, _.pick(ntio, Object.keys(this))); } } static toWldyPrintData(noti: INotiMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(noti.notiIndx); data.menuUUID = noti.menuUUID; return data; } static toWldyPrintDatas(listNoti: INotiMainResponse[]) { return listNoti.map((u) => this.toWldyPrintData(u)); } static toFlowDatas(notis: TNotiMainResponse[]): TFlowDataResponse[] { return notis.map((u) => this.toFlowData(u)); } static toFlowData(aNoti: TNotiMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = aNoti.whoBuild; result.userIndx = aNoti.userIndx; result.flowMain = aNoti.flowMain; //#flowmain=0 result.flowNode = aNoti.flowNode; //#flownode=0 result.entityID = aNoti.entityID; result.billMain = aNoti.notiIndx; result.billCode = aNoti.notiCode; result.billMemo = ""; result.billUses = ""; result.ysxmText = ""; result.outMoney = 0; result.notified = aNoti.notified; result.createAt = aNoti.createAt; result.mastName = aNoti.mastName; result.createBy = aNoti.createBy; result.unitMain = aNoti.unitMain; result.deptMain = aNoti.deptMain; result.flowStat = aNoti.notiStat; result.menuUUID = aNoti.menuUUID; //#result.touchURL = store.getState().userReducer!.touchURL;//TODO:XF-DEV return result; } }