import _ from "lodash"; import { ICardFwczResponse, ICardHyhbResponse, ICardMainResponse, ICardRoomResponse } from "../card"; import { IPathResponse, IUserResponse } from "../core"; import { TFlowDataResponse } from "../flow"; import { IHzcbMainResponse } from "../hzcb"; import { IYzhtBillResponse } from "./IYzhtBillResponse"; import { IYzhtDzmxResponse } from "./IYzhtDzmxResponse"; import { IYzhtFymxResponse } from "./IYzhtFymxResponse"; import { TStim } from ".."; export interface IYzhtMainResponse { whoBuild: number; userIndx: number; yzhtIndx: number; billIndx: number; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; kjndKJQJ: number; dataStat: number; dataOrdr: number; dataHide: number; dataType: number; dataDate: number; dataTime: number; dataGUID: string; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; unitText: string; deleteAt: number; queuesBy: number; entityID: string; sourceND: number; unitMain: number; deptMain: number; yzhtStat: number; flowUndo: number; flowText: string; /** 合同编号 */ yzhtHtbh: string; /** 单据编码 */ yzhtCode: string; /** 申请部门 */ sqbmText: string; /** 申请用户 */ sqyhText: string; /** 中标单位/履约方 */ zbdwText: string; /** 申请日期 */ yzhtSqrq: number; /** 项目名称 */ yzhtXmmc: string; /** 合同名称 */ yzhtName: string; /** 合同分类 */ yzhtHtfl: number; /** 采购方式 */ yzhtCgfs: number; /** 业务类别 */ yzhtYwlb: number; /** 合同金额 */ outMoney: number; /** 发起日期 */ yzhtFqrq: number; /** 是否跨年:0:否;1:是 */ yzhtSfkn: number; /** 是否格式合同:0:否;1:是 */ yzhtSfgs: number; /** 合同份数 */ yzhtSize: number; /** 签订日期 */ yzhtQdrq: number; /** 验收日期 */ yzhtYsrq: number; /** 开始日期 */ startDay: number; /** 结束日期 */ endedDay: number; /** 情况说明/订立情况 */ yzhtQksm: string; /** 备注信息 */ yzhtMemo: string; /** 用印状态:1:己用印;0:未用印 */ markStat: number; /** 用印时间 */ markedAt: number; /** 操作用户 */ markedBy: string; /** 归档状态:1:已归档;0:未归档} */ diskStat: number; /** 归档时间 */ diskedAt: number; /** 归档用户 */ diskedBy: string; /** 验收状态:0:否;1:是) */ finishEd: number; /** 验收用户,用户标识 */ finishBy: string; /** 验收时间(格式:YYYYMMDDHHMMSS) */ finishAt: number; /** 决算金额 */ yzhtJsje: number; /** 录入类型 */ yzhtLrlx: number; /** 是否含按实支付 */ ynField1: number; printCnt: number; /** 对方单位 */ dddwText: string; menuUUID: string; /** 合同类型的名称 JSON类型 */ menuName: string; /** 合同性质(字典) */ yzhtHtxz: number; /** 合同性质(文本) */ yzhtHtxzText: string; /** 合同时长(月) */ totalMon: number; /** 合同日期 */ yzhtDate: number; /** 支付方式(字典) */ yzhtZflx: number; /** 支付方式(文本) */ yzhtZflxText: string; /** 预留 */ jfdwMain: number; /** 甲方单位 */ jfdwText: string; /** 联系人 */ jfField1: string; /** 联系方式 */ jfField2: string; /** 预留 */ jfField3: string; /** 预留 */ yfdwMain: number; /** 乙方单位 */ yfdwText: string; /** 联系人 */ yfField1: string; /** 联系方式 */ yfField2: string; /** 预留 */ yfField3: string; /** 预留 */ pgdwMain: number; /** 评估单位//监理方 */ pgdwText: string; /** 评估日期 */ pgdwDate: number; /** 预留 */ pgField1: string; /** 预留 */ pgField2: string; /** 预留 */ pgField3: string; /** 联系人 */ wContact: string; /** 联系方式 */ dContact: string; /** 手机号 */ mobileID: string; /** 到期提醒 */ yzhtDqtx: number; /** 年租金 */ fyField1: number; /** 押金 */ fyField2: number; /** 物业费 */ fyField3: number; /** 保险费 */ fyField4: number; /** 装修期 */ fyField5: number; /** 合同类别(字典) */ yzhtType: number; /** 合同类别(文本) */ yzhtTypeText: string; /** 合同标的(字典) */ yzhtHtbd: number; /** 是否敞口 */ yzhtOpen: number; /** 是否已结算 */ hasEnded: number; /** 事前单(主键) */ expdMain: number; gamsMain: number; /** 使用部门数量 */ sybmSize: number; /** 品目分类 */ yzhtCgml: number; /** 验收备注 */ yzhtYsbz: string; /** 业务标识 */ yzhtYwbz: number; yzhtYsdw: string; yzhtYszz: string; yzhtYscy: string; aplMoney: number; yesIknow: number; /** 工作内容 */ yzhtGznr: string; /** 是否公开招租 */ usesDDDW: number; /** 代理单位(主键) */ dldwMain: number; /** 代理单位(文本) */ dldwText: string; /** 招标方式 */ yzhtZbfs: number; /** 是否预招标:0:否;1:是} */ yzhtZbtq: number; /** 含税合同金额 */ htMoney0: number; /** 不含税合同金额 */ htMoney1: number; /** 追加含税合同金额 */ zjMoney0: number; /** 追加不含税合同金额 */ zjMoney1: number; /** 含税开票金额 */ kpMoney1: number; /** 含税到账金额 */ dzMoney1: number; /** 是否政采云格式 */ uses4Zcy: number; /** 是否按期控制支付 */ periodOn: number; /** 支付方式(字典) */ yzhtZffs: number; /** 支付方式(文本) */ yzhtZffsText: string; /** 租赁用途(字典) */ yzhtClyt: number; /** 租赁用途(文本) */ yzhtClytText: string; /** 租赁方式(字典) */ yzhtClfs: number; /** 租赁方式(文本) */ yzhtClfsText: string; /** 出租时长 */ duraTion: number; duration: number; /** 出租时长类型 */ shchMode: number; /** 装修时长类型 */ zxscMode: number; userMain: number; coverURL: string; touchURL: string; deptName: string; sourceBm: string; unitNamf: string; sourceDw: string; lastDate: number; lastTime: number; flowMain: number; flowNode: number; flowStat: number; flowUser: string; didFirst: number; lastMemo: string; userName: string; userGUID: string; ywlbText: string; cgfsText: string; cgmlText: string; htflText: string; expdCode: string; cashYjdq: number; yzhtFrom: number; wbField1: string; wbField2: string; wbField3: string; /** 进档编号 */ diskFlno: string; /** 项目管理 */ hzcbMain: number; /** 项目名称 */ hzcbText: string; /** 项目类型 */ hzcbType: number; hzcbTypeText: string; /** 乙方合同追加款类型 */ addiText: string; metaData: string; /** 应用账款凭证号 */ p2pzTxt1: string; /** 收款凭证号 */ p2pzTxt2: string; /** 室务会议审定/部务会议审定 */ hysdText: string; fromMyoaMain: number; useBatch: number; allBatch: number; iniBatch: number; getBatch: number; nowBatch: number; outBatch: number; /** 合同中的班次是否已经支出完毕 */ pqStatus: number; usesGams: number; listType: string; pathSize: number; /** 是否预付款:0:不是;1:是 */ expectEd: number; yzhtLock: number; fromCardMain: number; fromCardExid: number; fromRoomMain: number; /** 一体化项目名称 */ hzcbTxt1: string; /** 项目名称 */ hzcbName: string; /** 房产名称 */ cardName: string; /** 房间编号 */ roomCode: string; /** 房间地址 */ roomAddr: string; /** 旧系统房源编号 */ code4Old: string; /** 客户名称 */ d2dwText: string; /** 应收时间 */ shouldAt: number; /** 移出原因 */ reasonBy: string; /** 安置类型/补偿类型.标识 */ azcqType: number; /** 安置类型/补偿类型.名称 */ azcqTypeText: string; /** 拆迁补偿金额 */ azMoney1: number; /** 其他补偿金额 */ azMoney2: number; /** 安置面积 */ azValue1: number; /** 安置地点 */ ddwzText: string; /** 安置房产价值 */ azValue2: number; /** 异常类型.标识 */ errorTyp: number; /** 异常类型.名称 */ errorTypText: string; /** 异常原因 */ errorMsg: string; /** 退租类型.标识 */ httzType: number; /** 退租类型.名称 */ httzTypeText: string; /** 退租生效日期 */ httzDate: number; /** 退租原因 */ httzTzyy: string; thirdApp: string; /** 支付期数 */ billSize: number; billStat?: number | undefined; billRate?: number | undefined; listLock: IYzhtMainResponse[]; listDZMX: IYzhtDzmxResponse[]; listFYMX: IYzhtFymxResponse[]; listBill: IYzhtBillResponse[]; listHZCB: IHzcbMainResponse[]; listD2DW: IUserResponse[]; listHyhb: ICardHyhbResponse[]; listFwcz: ICardFwczResponse[]; listCard: ICardMainResponse[]; listRoom: ICardRoomResponse[]; listPath: IPathResponse[]; listLockLite: IYzhtMainResponse[]; listDZMXLite: IYzhtDzmxResponse[]; listFYMXLite: IYzhtFymxResponse[]; listD2DWLite: IUserResponse[]; listHyhbLite: ICardHyhbResponse[]; listFwczLite: ICardFwczResponse[]; listRoomLite: ICardRoomResponse[]; } export class TYzhtMainResponse implements IYzhtMainResponse { whoBuild: number = 0; userIndx: number = 0; yzhtIndx: number = 0; billIndx: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataStat: number = 1; dataOrdr: number = 0; dataHide: number = 0; dataType: number = 0; dataDate: number = 0; dataTime: number = 0; dataGUID: string = ""; mastName: string = ""; mastGUID: string = ""; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; unitText: string = ""; deleteAt: number = 0; queuesBy: number = 0; entityID: string = ""; yzhtFrom: number = 0; sourceND: number = 0; unitMain: number = 0; deptMain: number = 0; yzhtStat: number = 0; flowUndo: number = 0; flowText: string = ""; /** 合同编号 */ yzhtHtbh: string = ""; /** 单据编码 */ yzhtCode: string = ""; /** 申请部门 */ sqbmText: string = ""; /** 申请用户 */ sqyhText: string = ""; /** 中标单位/履约方 */ zbdwText: string = ""; /** 申请日期 */ yzhtSqrq: number = 0; /** 项目名称 */ yzhtXmmc: string = ""; /** 合同名称 */ yzhtName: string = ""; /** 合同分类 */ yzhtHtfl: number = 0; /** 采购方式 */ yzhtCgfs: number = 0; /** 业务类别 */ yzhtYwlb: number = 0; /** 合同金额 */ outMoney: number = 0; /** 发起日期 */ yzhtFqrq: number = 0; /** 是否跨年:0:否;1:是) */ yzhtSfkn: number = 0; /** 是否格式合同:0:否;1:是) */ yzhtSfgs: number = 0; /** 合同份数 */ yzhtSize: number = 0; /** 签订日期 */ yzhtQdrq: number = 0; /** 验收日期 */ yzhtYsrq: number = 0; /** 开始日期 */ startDay: number = 0; /** 结束日期 */ endedDay: number = 0; /** 情况说明/订立情况 */ yzhtQksm: string = ""; /** 备注信息 */ yzhtMemo: string = ""; /** 用印状态:1:己用印;0:未用印} */ markStat: number = 0; /** 用印时间 */ markedAt: number = 0; /** 操作用户 */ markedBy: string = ""; /** 归档状态:1:已归档;0:未归档} */ diskStat: number = 0; /** 归档时间 */ diskedAt: number = 0; /** 归档用户 */ diskedBy: string = ""; /** 验收状态:0:否;1:是) */ finishEd: number = 0; /** 验收用户,用户标识 */ finishBy: string = ""; /** 验收时间(格式:YYYYMMDDHHMMSS) */ finishAt: number = 0; /** 决算金额 */ yzhtJsje: number = 0; /** 录入类型 */ yzhtLrlx: number = 0; /** 是否含按实支付 */ ynField1: number = 0; printCnt: number = 0; /** 对方单位 */ dddwText: string = ""; menuUUID: string = ""; /** 合同类型的名称 JSON类型 */ menuName: string = ""; /** 合同性质(字典) */ yzhtHtxz: number = 0; /** 合同性质(文本) */ yzhtHtxzText: string = ""; /** 合同时长(月) */ totalMon: number = 0; /** 合同日期 */ yzhtDate: number = 0; /** 支付方式 */ yzhtZflx: number = 0; yzhtZflxText: string = ""; /** 预留 */ jfdwMain: number = 0; /** 甲方单位 */ jfdwText: string = ""; /** 联系人 */ jfField1: string = ""; /** 联系方式 */ jfField2: string = ""; /** 预留 */ jfField3: string = ""; /** 预留 */ yfdwMain: number = 0; /** 乙方单位 */ yfdwText: string = ""; /** 联系人 */ yfField1: string = ""; /** 联系方式 */ yfField2: string = ""; /** 预留 */ yfField3: string = ""; /** 预留 */ pgdwMain: number = 0; /** 评估单位//监理方 */ pgdwText: string = ""; /** 评估日期 */ pgdwDate: number = 0; /** 预留 */ pgField1: string = ""; /** 预留 */ pgField2: string = ""; /** 预留 */ pgField3: string = ""; /** 联系人 */ wContact: string = ""; /** 联系方式 */ dContact: string = ""; /** 手机号 */ mobileID: string = ""; /** 到期提醒 */ yzhtDqtx: number = 0; /** 年租金 */ fyField1: number = 0; /** 押金 */ fyField2: number = 0; /** 物业费 */ fyField3: number = 0; /** 保险费 */ fyField4: number = 0; /** 装修期 */ fyField5: number = 0; /** 合同类别(字典) */ yzhtType: number = 0; /** 合同类别(文本) */ yzhtTypeText: string = ""; /** 合同标的(字典) */ yzhtHtbd: number = 0; /** 是否敞口 */ yzhtOpen: number = 0; /** 是否已结算 */ hasEnded: number = 0; /** 事前单id */ expdMain: number = 0; gamsMain: number = 0; /** 使用部门数量 */ sybmSize: number = 0; /** 品目分类 */ yzhtCgml: number = 0; /** 验收备注 */ yzhtYsbz: string = ""; /** 业务标识 */ yzhtYwbz: number = 0; yzhtYsdw: string = ""; yzhtYszz: string = ""; yzhtYscy: string = ""; aplMoney: number = 0; yesIknow: number = 0; /** 工作内容 */ yzhtGznr: string = ""; /** 是否公开招租 */ usesDDDW: number = 0; /** 代理单位(主键) */ dldwMain: number = 0; /** 代理单位(文本) */ dldwText: string = ""; /** 招标方式 */ yzhtZbfs: number = 0; /** 是否预招标:0:否;1:是} */ yzhtZbtq: number = 0; /** 含税合同金额 */ htMoney0: number = 0; /** 不含税合同金额 */ htMoney1: number = 0; /** 追加含税合同金额 */ zjMoney0: number = 0; /** 追加不含税合同金额 */ zjMoney1: number = 0; /** 含税开票金额 */ kpMoney1: number = 0; /** 含税到账金额 */ dzMoney1: number = 0; /** 是否政采云格式 */ uses4Zcy: number = 0; /** 是否按期控制支付 */ periodOn: number = 0; /** 支付方式(字典) */ yzhtZffs: number = 0; /** 支付方式(文本) */ yzhtZffsText: string = ""; /** 租赁用途(字典) */ yzhtClyt: number = 0; /** 租赁用途(文本) */ yzhtClytText: string = ""; /** 租赁方式(字典) */ yzhtClfs: number = 0; /** 租赁方式(文本) */ yzhtClfsText: string = ""; /** 出租时长 */ duraTion: number = 0; duration: number = 0; /** 出租时长类型 */ shchMode: number = 0; /** 装修时长类型 */ zxscMode: number = 0; userMain: number = 0; coverURL: string = ""; touchURL: string = ""; deptName: string = ""; sourceBm: string = ""; unitNamf: string = ""; sourceDw: string = ""; lastDate: number = 0; lastTime: number = 0; flowMain: number = 0; flowNode: number = 0; flowStat: number = 0; flowUser: string = ""; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; ywlbText: string = ""; cgfsText: string = ""; cgmlText: string = ""; htflText: string = ""; expdCode: string = ""; cashYjdq: number = 0; wbField1: string = ""; wbField2: string = ""; wbField3: string = ""; /** 进档编号 */ diskFlno: string = ""; /** 项目管理 */ hzcbMain: number = 0; /** 项目名称 */ hzcbText: string = ""; /** 项目类型 */ hzcbType: number = 0; hzcbTypeText: string = ""; /** 乙方合同追加款类型 */ addiText: string = ""; metaData: string = ""; /** 应用账款凭证号 */ p2pzTxt1: string = ""; /** 收款凭证号 */ p2pzTxt2: string = ""; /** 室务会议审定/部务会议审定 */ hysdText: string = ""; fromMyoaMain: number = 0; useBatch: number = 0; allBatch: number = 0; iniBatch: number = 0; getBatch: number = 0; nowBatch: number = 0; outBatch: number = 0; /** 合同中的班次是否已经支出完毕 */ pqStatus: number = 0; usesGams: number = 1; listType: string = ""; pathSize = 0; /** 是否预付款:0:不是;1:是 */ expectEd = 0; yzhtLock: number = 0; fromCardMain: number = 0; fromCardExid: number = 0; fromRoomMain: number = 0; /** 一体化项目名称 */ hzcbTxt1: string = ""; /** 项目名称 */ hzcbName: string = ""; /** 房产名称 */ cardName: string = ""; /** 房间编号 */ roomCode: string = ""; /** 房间地址 */ roomAddr: string = ""; /** 旧系统房源编号 */ code4Old: string = ""; /** 客户名称 */ d2dwText: string = ""; /** 应收时间 */ shouldAt: number = 0; /** 移出原因 */ reasonBy: string = ""; /** 安置类型/补偿类型.标识 */ azcqType: number = 0; /** 安置类型/补偿类型.名称 */ azcqTypeText: string = ""; /** 拆迁补偿金额 */ azMoney1: number = 0; /** 其他补偿金额 */ azMoney2: number = 0; /** 安置面积 */ azValue1: number = 0; /** 安置地点 */ ddwzText: string = ""; /** 安置房产价值 */ azValue2: number = 0; /** 异常类型.标识 */ errorTyp: number = 0; /** 异常类型.名称 */ errorTypText: string = ""; /** 异常原因 */ errorMsg: string = ""; /** 退租类型.标识 */ httzType: number = 0; /** 退租类型.名称 */ httzTypeText: string = ""; /** 退租生效日期 */ httzDate: number = 0; /** 退租原因 */ httzTzyy: string = ""; thirdApp: string = ""; /** 支付期数 */ billSize: number = 0; billStat?: number | undefined = undefined; billRate?: number | undefined = undefined; listLock: IYzhtMainResponse[] = []; listDZMX: IYzhtDzmxResponse[] = []; listFYMX: IYzhtFymxResponse[] = []; listBill: IYzhtBillResponse[] = []; listHZCB: IHzcbMainResponse[] = []; listD2DW: IUserResponse[] = []; listHyhb: ICardHyhbResponse[] = []; listFwcz: ICardFwczResponse[] = []; listCard: ICardMainResponse[] = []; listRoom: ICardRoomResponse[] = []; listPath: IPathResponse[] = []; listLockLite: IYzhtMainResponse[] = []; listDZMXLite: IYzhtDzmxResponse[] = []; listFYMXLite: IYzhtFymxResponse[] = []; listD2DWLite: IUserResponse[] = []; listHyhbLite: ICardHyhbResponse[] = []; listFwczLite: ICardFwczResponse[] = []; listRoomLite: ICardRoomResponse[] = []; constructor(card: any = {}) { if (card) { _.merge(this, _.pick(card, Object.keys(this))); } } static toFlowDatas(notis: IYzhtMainResponse[]): TFlowDataResponse[] { return notis.map((u) => this.toFlowData(u)); } static toFlowData(bill: IYzhtMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = bill.whoBuild; result.userIndx = bill.userIndx; result.flowMain = bill.flowMain; result.flowNode = bill.flowNode; result.notified = ""; result.entityID = bill.entityID; result.billCode = bill.yzhtCode; result.billMemo = bill.yzhtMemo; result.billUses = ""; result.ysxmText = ""; result.outMoney = bill.outMoney; result.createAt = bill.createAt; result.mastName = bill.mastName; result.createBy = bill.createBy; result.unitMain = bill.unitMain; result.menuUUID = bill.menuUUID; result.billMain = bill.yzhtIndx; result.deptMain = bill.deptMain; result.flowStat = bill.yzhtStat; return result; } static toWldyPrintData(yzht: IYzhtMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(yzht.yzhtIndx); data.menuUUID = yzht.menuUUID; return data; } static toWldyPrintDatas(listYzht: IYzhtMainResponse[]) { return listYzht.map((u) => this.toWldyPrintData(u)); } }