import _ from "lodash"; import { TStim } from ".."; import { TFlowDataResponse } from "../flow"; export interface IBillMainResponse { whoBuild: number; userIndx: number; billIndx: number; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; kjndKJQJ: number; dataStat: number; dataOrdr: number; dataHide: number; /** 费用类型:0:租金;1:保证金;2:保险费;3:物业费;4:违约金;5:其他 */ dataType: number; dataDate: number; dataTime: number; dataGUID: string; mastName: string; mastGUID: string; userMain: number; 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; billStat: number; /** 票据号码 */ billCode: string; /** 开票日期 */ billDate: number; /** 开票用途 */ billUses: string; /** 备注信息 */ billMemo: string; yzhtCode: string; yzhtMain: number; hzcbName: string; jfdwMain: number; jfdwText: string; outMoney: number; finalOut: number; payMoney: number; nowMoney: number; /** 票据配置 */ billCnfg: number; /** 票据类型 */ billType: number; billRate: number; imokSize: number; comeSize: number; p2pzTxt1: string; p2pzTxt2: string; statusID: number; statusBy: string; checkCnt: number; printCnt: number; billFrom: number; flowMain: number; flowNode: number; flowStat: number; /** 银行类型 */ bankType: number; /** 开票账号 */ aczfMain: number; aczfZhmc: string; lastTime: number; aczfKhyh: string; aczfYhzh: string; /** 收款单位 */ acnoMain: number; acnoZhmc: string; acnoKhyh: string; acnoYhzh: string; /** 票据密码 */ billPswd: string; /** 附言一 */ memoTxt1: string; /** 附言二 */ memoTxt2: string; /** 附言三 */ memoTxt3: string; /** 单位主管 */ unitMast: string; /** 会计主管 */ finaMast: string; yzhtLock: number; /** 开始日期 */ startDay: number; /** 结束日期 */ endedDay: number; /** 收支方向:0:收入;1:支出 */ isExpend: number; /** 关闭类型:0:手工;1:系统 */ closeType: number; /** 关闭状态:0:未关闭;1:已关闭 */ canClose: number; /** 关闭人 */ closeBy: string; /** 关闭时间 */ closeAt: number; /** 关闭备注 */ reasonBy: string; /** 支付方式(字典) */ billZffs: number; /** 支付方式(文本) */ billZffsText: string; /** 付款方式(字典) */ billFkfs: number; /** 付款方式(文本) */ billFkfsText: string; /** 房产名称 */ cardName: string; /** 房间编号 */ roomCode: string; /** 房间地址 */ roomAddr: string; /** 旧系统房源编号 */ code4Old: string; /** 结清标志:0:未关闭;1:已关闭 */ hasEnded: number; /** 打印人 */ exportBy: string; /** 打印时间 */ exportAt: number; thirdApp: string; /** 合同编号 */ yzhtHtbh: string; /**合同结束状态 */ yzhtHasEnded: number; /** 异常类型.标识 */ errorTyp: number; /** 异常类型.名称 */ errorTypText: string; /** 票据类型.名称 */ typeText: string; /** 银行类型.名称 */ bankText: string; /** 本次 */ fromOutMoney: number; fromFinalOut: number; fromNowMoney: number; didFirst: number; listLock: IBillMainResponse[]; listLit2: IBillMainResponse[]; } export class TBillMainResponse implements IBillMainResponse { whoBuild: number = 0; userIndx: number = 0; billIndx: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataStat: number = 0; dataOrdr: number = 0; dataHide: number = 0; /** 费用类型:0:租金;1:保证金;2:保险费;3:物业费 */ dataType: number = 0; dataDate: number = 0; dataTime: number = 0; dataGUID: string = ""; mastName: string = ""; mastGUID: string = ""; userMain: number = 0; 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 = ""; billStat: number = 0; /** 票据号码 */ billCode: string = ""; /** 开票日期 */ billDate: number = 0; /** 开票用途 */ billUses: string = ""; /** 备注信息 */ billMemo: string = ""; yzhtCode: string = ""; yzhtMain: number = 0; hzcbName: string = ""; jfdwMain: number = 0; jfdwText: string = ""; outMoney: number = 0; finalOut: number = 0; payMoney: number = 0; nowMoney: number = 0; /** 票据配置 */ billCnfg: number = 0; /** 票据类型 */ billType: number = 0; billRate: number = 0; imokSize: number = 0; comeSize: number = 0; p2pzTxt1: string = ""; p2pzTxt2: string = ""; statusID: number = 0; statusBy: string = ""; checkCnt: number = 0; printCnt: number = 0; billFrom: number = 0; flowMain: number = 0; flowNode: number = 0; flowStat: number = 0; /** 银行类型 */ bankType: number = 0; /** 开票账号 */ aczfMain: number = 0; aczfZhmc: string = ""; lastTime: number = 0; aczfKhyh: string = ""; aczfYhzh: string = ""; /** 收款单位 */ acnoMain: number = 0; acnoZhmc: string = ""; acnoKhyh: string = ""; acnoYhzh: string = ""; /** 票据密码 */ billPswd: string = ""; /** 附言一 */ memoTxt1: string = ""; /** 附言二 */ memoTxt2: string = ""; /** 附言三 */ memoTxt3: string = ""; /** 单位主管 */ unitMast: string = ""; /** 会计主管 */ finaMast: string = ""; yzhtLock: number = 0; /** 开始日期 */ startDay: number = 0; /** 结束日期 */ endedDay: number = 0; /** 收支方向:0:收入;1:支出 */ isExpend: number = 0; /** 关闭类型:0:手工;1:系统 */ closeType: number = 0; /** 关闭状态:0:未关闭;1:已关闭 */ canClose: number = 0; /** 关闭人 */ closeBy: string = ""; /** 关闭时间 */ closeAt: number = 0; /** 关闭备注 */ reasonBy: string = ""; /** 支付方式(字典) */ billZffs: number = 0; /** 支付方式(文本) */ billZffsText: string = ""; /** 付款方式(字典) */ billFkfs: number = 0; /** 付款方式(文本) */ billFkfsText: string = ""; /** 房产名称 */ cardName: string = ""; /** 房间编号 */ roomCode: string = ""; /** 房间地址 */ roomAddr: string = ""; /** 旧系统房源编号 */ code4Old: string = ""; /** 结清标志:0:未关闭;1:已关闭 */ hasEnded: number = 0; /** 打印人 */ exportBy: string = ""; /** 打印时间 */ exportAt: number = 0; thirdApp: string = ""; /** 合同编号 */ yzhtHtbh: string = ""; /** 合同结束状态 */ yzhtHasEnded: number = -1; /** 异常类型.标识 */ errorTyp: number = -1; /** 异常类型.名称 */ errorTypText: string = ""; /** 票据类型.名称 */ typeText: string = ""; /** 银行类型.名称 */ bankText: string = ""; /** 本次 */ fromOutMoney: number = 0; fromFinalOut: number = 0; fromNowMoney: number = 0; didFirst: number = 0; listLock: IBillMainResponse[] = []; listLit2: IBillMainResponse[] = []; constructor(response: any = {}) { if (response) { _.merge(this, _.pick(response, Object.keys(this))); } } static toFlowDatas(notis: TBillMainResponse[]): TFlowDataResponse[] { return notis.map((u) => this.toFlowData(u)); } static toFlowData(bill: TBillMainResponse): 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.billMain = bill.billIndx; result.billCode = bill.billCode; result.billMemo = bill.billMemo; 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.deptMain = bill.deptMain; result.flowStat = bill.billStat; return result; } static toWldyPrintData(bill: IBillMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(bill.billIndx); data.menuUUID = bill.menuUUID; return data; } static toWldyPrintDatas(listBill: IBillMainResponse[]) { return listBill.map((u) => this.toWldyPrintData(u)); } }