import _ from "lodash"; import type { IDictResponse } from "../core/IDictResponse"; import type { IGzjgBodyLockResponse, TGzjgBodyLockResponse } from "./IGzjgBodyLockResponse"; import type { IGzjgGzlmLandResponse } from "./IGzjgGzlmLandResponse"; import type { IGzjgGzlmResponse } from "./IGzjgGzlmResponse"; import { IGzjgMainResponseGzjgPara, TGzjgMainResponseGzjgPara } from "./IGzjgMainResponseGzjgPara"; import type { IGzjgQzgsResponse } from "./IGzjgQzgsResponse"; // #工资结构 export interface IGzjgMainResponse { whoBuild: number; //#PK userIndx: number; //#PK gzjgIndx: number; //#PK gzjgMain: 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; queuesBy: number; // 人员排序 queuesAt: number; entityID: string; gzjgCode: string; gzjgName: string; gzjgMemo: string; tablType: number; //#填报模式 gzjgType: number; //#发放周期 colLevel: number; colStart: number; colCount: number; rowLevel: number; rowStart: number; rowCount: number; inFormat: number; keepNull: number; colsCopy: number; rowsCopy: number; sysClasc: number; sysClasn: string; allowAdd: number; //#允许动态添加行 usesYzpz: number; //#启用预算账套 usesGrid: number; //#使用表格展示 inOnecol: number; //#一列显示行向栏目 useTotal: number; //#启用合计公式 usesYzcg: number; usrGroup: string; withBody: number; //#以json格式存储 data4URL: string; //转换路由 thHeight: number; gzjgPara: string; gzjgParaConv: IGzjgMainResponseGzjgPara; gzjgIcon: string; //相关图标 gzlmSize: number; jsScript: string; //#js运行脚本 sql4Load: string; //#sql运行脚本 sql4Para: string; //运行参数 usesGsqj: number; //#启用归属期间 unionCnt: number; unionTyp: number; //#人员集合 menuMain: number; menuUUID: string; usesHold: number; //#启用待扣管理 holdRate: number; antvView: number; //数字提取 asHolder: number; //#作为待扣栏目 qzgsSize: number; fixedCol: number; fixedRow: number; gzjgFrom: number; gzjgMode: number; //#结构模式 directAt: number; //#报表针对 usesPrevious: number; colsCopyText: string; rowsCopyText: string; userTypeText: string; //#用户类型.文本 unitTypeText: string; //#单位类型.文件 pathTypeText: string; //#附件类型.文本 usesItemWhenPzpt: number; //#启用辅助核算 useEqualWhenPzpt: number; //#启用平衡检查 usesFromCrossUnt: number; //#允许跨单位特殊人员 acnoType:number; acnoTypeText:string; pathType: IDictResponse[]; //#附件类型 userType: IDictResponse[]; //#人员类型 unitType: IDictResponse[]; //#单位类型 listCols: IGzjgGzlmResponse[]; listRows: IGzjgGzlmResponse[]; listGZLM: IGzjgGzlmResponse[]; listQZGS: IGzjgQzgsResponse[]; gzlmLock: IGzjgGzlmResponse[]; colsLand: IGzjgGzlmLandResponse[]; bodyLook: TGzjgBodyLockResponse[]; /** 表体对象,1:单位,2:部门,3:人员,4:字典 */ bodyFill: number; // 虚拟字段 bodyText: string; colIndex: number; // 报表工资栏目显示起始位置 antvData: number; } export class TGzjgMainResponse implements IGzjgMainResponse { whoBuild: number = 0; userIndx: number = 0; gzjgIndx: number = 0; gzjgMain: 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; queuesBy: number = 0; // 人员排序 queuesAt: number = 0; entityID: string = ""; gzjgCode: string = ""; gzjgName: string = ""; gzjgMemo: string = ""; tablType: number = 0; gzjgType: number = 0; colLevel: number = 0; colStart: number = 0; colCount: number = 0; rowLevel: number = 0; rowStart: number = 0; rowCount: number = 0; inFormat: number = 0; keepNull: number = 0; colsCopy: number = 0; rowsCopy: number = 0; sysClasc: number = 0; sysClasn: string = ""; allowAdd: number = 0; usesYzpz: number = 0; usesGrid: number = 0; inOnecol: number = 0; useTotal: number = 0; usesYzcg: number = 0; usrGroup: string = ""; acnoType:number = 0; acnoTypeText:string = ""; withBody: number = 0; data4URL: string = ""; thHeight: number = 0; gzjgPara: string = ""; gzjgParaConv: IGzjgMainResponseGzjgPara = new TGzjgMainResponseGzjgPara(); jsScript: string = ""; sql4Load: string = ""; sql4Para: string = ""; gzjgIcon: string = ""; gzlmSize: number = 0; usesGsqj: number = 0; //# unionCnt: number = 0; unionTyp: number = 0; menuMain: number = 0; menuUUID: string = ""; usesHold: number = 0; holdRate: number = 0; antvView: number = 0; asHolder: number = 0; qzgsSize: number = 0; fixedCol: number = 0; fixedRow: number = 0; gzjgFrom: number = 0; gzjgMode: number = 0; directAt: number = 0; bodyText: string = ""; usesPrevious: number = 0; colsCopyText: string = ""; rowsCopyText: string = ""; userTypeText: string = ""; //#用户类型.文本 unitTypeText: string = ""; //#单位类型.文件 pathTypeText: string = ""; //#附件类型.文本 usesItemWhenPzpt: number = 0; useEqualWhenPzpt: number = 0; usesFromCrossUnt: number = 0; userType: IDictResponse[] = []; pathType: IDictResponse[] = []; unitType: IDictResponse[] = []; listCols: IGzjgGzlmResponse[] = []; listGZLM: IGzjgGzlmResponse[] = []; listRows: IGzjgGzlmResponse[] = []; listQZGS: IGzjgQzgsResponse[] = []; gzlmLock: IGzjgGzlmResponse[] = []; colsLand: IGzjgGzlmLandResponse[] = []; bodyLook: IGzjgBodyLockResponse[] = []; bodyFill: number = 0; colIndex: number = 0; antvData: number = 0; static parseJson(gzjgPara: string) { const defaultGzjgPara = new TGzjgMainResponseGzjgPara(); if (_.isEmpty(gzjgPara)) { return defaultGzjgPara; } try { const obj = JSON.parse(gzjgPara) as IGzjgMainResponseGzjgPara; return _.merge(defaultGzjgPara, obj); } catch (e) {} return defaultGzjgPara; } }