import _ from "lodash"; import { Const, TCore, TStim } from ".."; import { IDeptResponse, IDictResponse, ILaidResponse, IPathResponse, IUnitResponse, IUserLiteResponse } from "../core"; import { TFlowDataResponse } from "../flow"; import { IHzcbMainResponse } from "../hzcb"; import { ICardBookResponse } from "./ICardBookResponse"; import { ICardDataResponse } from "./ICardDataResponse"; import { ICardFromResponse } from "./ICardFromResponse"; import { ICardRoomResponse } from "./ICardRoomResponse"; export interface ICardMainResponse { whoBuild: number; /** 卡片索引 */ cardIndx: number; cardExid: number; parentID: number; hashCode: number; dataLevl: number; dataStat: number; dataOrdr: number; dataDate: number; dataTime: number; dataHide: number; dataFrom: number; dataType: number; kjndKJQJ: 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; unitMain: number; deptMain: number; cardStat: number; flowUndo: number; flowText: string; menuUUID: string; coverURL: string; cardKJND: number; cardKJQJ: number; /** 会议室间歇时间 */ interval: number; /** 入账日期 */ cardRzrq: number; cardGmrq: number; /** 业务标识 0:正常新增;1:拆分作废;2:处置作废:3:调拨作废;4:删除作废;5:拆分新增;6:调拨新增 */ cardYwbz: number; /** 资产类型 */ cardType: number; /** 资金来源 */ cardZjly: number; /** 使用部门 */ cardDept: number; /** 存放地点 */ cardLaid: number; /** 公务仓 */ laidMino: number; /** 公务仓文本 */ laidMinoText: string; /** 分类用途 */ cardUses: number; /** 计量单位 */ cardJldw: number; /** 国标类别 */ cardGblb: number; /** 资产状态 */ cardZczt: number; /** 资产状态文本 */ cardZcztText: string; /** 资产数量 */ cardSize: number; /** 资产单价 */ cardZcdj: number; /** 资产成本 */ cardCost: number; /** 资产原值 */ cardZcyz: number; /** 累计折旧 */ cardLjzj: number; /** 固定资产-累计折旧 */ fromCardLjzj: number; /** 资产净值 */ cardZcjz: number; /** 初始折旧 */ cardCszj: number; /** 资产编码 */ cardCode: string; /** 资产名称 */ cardName: string; /** 规格型号 */ cardGgxh: string; /** 出厂编号 */ cardCcbh: string; /** 生产厂商 */ cardSccs: string; /** 资产条码 */ cardZctm: string; /** 资产备注 */ cardMemo: string; /** 有多少层(楼宇租赁) */ floorCnt: number; /** 购入日期 */ cardGrrq: number; /** 折旧状态 */ cardZjzt: number; /** 入库单号 */ takeText: string; /** 凭证单号 */ pzptText: string; /** 产权形式 */ cardCqxs: number; /** 使用方向 */ cardSyfx: number; /** 发证时间 */ cardFzsj: number; /** 证书号码 */ cardZshm: string; /** 坐落位置 */ cardZlwz: string; /** 管理单位 */ cardGldw: string; /** 管理部门 */ cardGlbm: string; /** 自用面积 */ cardZymj: number; /** 后勤面积 */ cardHqmj: number; /** 出租面积 */ cardCzmj: number; /** 出借面积 */ cardCjmj: number; /** 闲置面积 */ cardXzmj: number; /** 其他面积 */ cardQtmj: number; /** 使用面积 */ cardSymj: number; /** 权属性质 */ landQsxz: number; /** 土地面积 */ landTdmj: number; /** 土地证载明面积 */ landZmmj: number; /** 竣工日期 */ buldJgrq: number; /** 使用日期 */ buldSyrq: number; /** 建筑结构 */ buldJzjg: number; /** 建筑面积 */ buldJzmj: number; /** 其中:单位负担费用面积 */ buldFymj: number; /** 允许拆分 */ canSplit: number; /** 所属品牌 */ cardSspp: string; /** 使用人.标识 */ cardUser: number; /** 保管人.标识 */ cardKeep: number; /** 保管人.文本 */ cardKeepText: string; /** 供应商 */ cardDddw: string; /** 使用年限 */ cardSynx: number; /** 预计残值 */ cardYjcz: number; /** 已补提折旧 */ cardYbzj: number; /** 资产类别.标识 */ cardZclb: number; /** 资产类别.文本 */ cardZclbText: string; /** 自定义编码 */ cardCodeTxt1: string; /** 资产云编码 */ cardCodeTxt2: string; /** 财政编码 */ cardCodeTxt3: string; /** 名称待见 */ cardCodeTxt4: string; /**单号 */ billCode: string; /** 保修截止日期 */ cardBxjz: number; /** 土地来源.标识 */ landTdly: number; /** 土地来源.文本 */ landTdlyText: string; /** 权属单位/个人 */ cardQsdw: string; /** 文物等级.标识 */ cardWwdj: number; /** 文物等级.文本 */ cardWwdjText: string; /** 车辆产地.标识 */ autoClcd: number; /** 车辆产地.文本 */ autoClcdText: string; /** 厂牌型号 */ autoCpxh: string; /** 编制情况.标识 */ cardBzqk: number; /** 编制情况.文本 */ cardBzqkText: string; /** 产权标志(0:无,1:有) */ cardCqbz: number; /** 汽车类型 */ autoType: number; /** 汽车车牌 */ autoCpbh: string; /** 保险日期 */ autoBxrq: number; /** 年检日期 */ autoNjrq: number; /** 报废日期 */ autoBfrq: number; /** 加油卡号 */ autoJykh: string; /** 单位名称 */ cardUnitText: string; /** 国标名称 */ cardGblbText: string; /** 资金来源名称 */ cardZjlyText: string; /** 部门名称 */ cardDeptText: string; /** 资产类型名称 */ cardTypeText: string; /** 产权形式名称 */ cardCqxsText: string; /** 使用方向名称 */ cardSyfxText: string; /** 分类用途名称 */ cardUsesText: string; /** 计量单位名称 */ cardJldwText: string; /** 存放地点名称 */ cardLaidText: string; /** 使用人.名称 */ cardUserText: string; /** 权属性质名称 */ landQsxzText: string; /** 建筑结构名称 */ buldJzjgText: string; /** 使用次数 */ knockCnt: number; /** 司乘人数 */ userSize: number; /** 车架编号 */ autoClno: string; /** 引擎编号 */ autoYqno: string; /** 对应钥匙 */ matchKey: string; /** 车辆里程 */ autoCllc: number; /** 车辆油耗 */ autoClyh: number; /** 最新油耗登记日期 */ autoYhrq: number; /** 最新里程登记日期 */ autoLcrq: number; /** 加油油号 */ autoJyyh: number; /** 所属单位 */ unitDict: number; /** 车辆性质 */ autoClxz: number; /** 投保单位 */ autoTbdw: number; /** 驾驶模式 */ autoMode: number; /** 座位数量 */ autoSeat: number; /** 车辆排量(字典) */ autoClpl: number; /** 车辆排量(文本) */ autoClplText: string; /** 动力类型 */ autoCldl: number; /** 取得方式 */ get4From: number; autoCode: string; /** 同步状态 */ syncStat: number; /** 卡片来源 */ cardFrom: number; /** 物品品牌 */ cardWppp: string; /** 物品状态 */ cardWpzt: string; /** 是否主机 */ cardSfzj: string; /** 设备序列 */ cardZcxl: string; /** 录入时间 */ cardTime: number; /** 使用状态 */ cardSyzt: number; /** 常用编码 */ cardCybm: string; /** 联系人 */ cardLxy: string; /** 月折旧额 */ cardYzje: number; /** 折旧年限 */ cardZjnx: number; /** 挂起状态 */ hideStat: number; /** 定点单位 */ dddwText: string; /** 电表号 */ readTxt1: string; /** 水表号 */ readTxt2: string; /** 燃气号 */ readTxt3: string; /** 所在经度 */ longTude: number; /** 所在纬度 */ latiTude: number; /** 是否抵押 */ cardYndy: number; /** 是否涉诉 */ cardYnss: number; /** 是否危房 */ cardYnwf: number; /** 土地性质(字典) */ landTdxz: number; /** 土地性质(文本) */ landTdxzText: string; /** 所属区域(镇街)(字典) */ cardSzjd: number; /** 所属区域(镇街)(文本) */ cardSzjdText: string; /** 所属社区(字典) */ cardSzsq: number; /** 所属社区(文本) */ cardSzsqText: string; /** 房产类型(字典) */ cardFclx: number; /** 房产类型(文本) */ cardFclxText: string; /** 房屋类别(字典) */ cardFclb: number; /** 房屋类别(文本) */ cardFclbText: string; /** 政府债券(字典) */ cardZfzq: number; /** 政府债券(文本) */ cardZfzqText: string; /** 权属人性质(字典) */ cardQsxz: number; /** 权属人性质(文本) */ cardQsxzText: string; /** 实际使用单位 */ cardSydw: string; /** 使用性质(字典) */ cardSyxz: number; /** 使用性质(文本) */ cardSyxzText: string; /** 入账形式(字典) */ cardRzxs: number; /** 入账形式(文本) */ cardRzxsText: string; /** 资产分类(字典) */ cardZcfl: number; /** 资产分类(文本) */ cardZcflText: string; /** 土地证号 */ landCode: string; /** 使用权面积 */ landSyqmj: number; /** 实际使用面积 */ landSymj: number; /** 出让终止日期 */ landZzrq: number; /** 土地等级(字典) */ landTddj: number; /** 土地等级(文本) */ landTddjText: string; /** 房产证号 */ buldCode: string; /** 计算机机房面积 */ buldJfmj: number; /** 车库面积 */ buldCkmj: number; /** 会议室面积 */ buldHysmj: number; /** 食堂用房面积 */ buldStmj: number; /** 地下建筑面积 */ buldDxjzmj: number; /** 配电房面积 */ buldPdfmj: number; /** 地下使用面积 */ buldDxsymj: number; /** 有无地下室 */ buldDxs: number; /** 交工验收日期 */ buldYsrq: number; /** 开工日期 */ buldKgrq: number; /** 已行驶里程(公里) */ autoYxslc: number; /** 公路编码 */ baseCode: string; /** 起始点 */ baseStart: string; /** 终止点 */ baseEnded: string; /** 公路技术等级(字典) */ baseJsdj: number; /** 公路技术等级(文本) */ baseJsdjText: string; /** 公路行政等级(字典) */ baseXzdj: number; /** 公路行政等级(文本) */ baseXzdjText: string; /** 公路资产状态(字典) */ baseZczt: number; /** 公路资产状态(文本) */ baseZcztText: string; /** 管理状态(1:在管;0:历史) */ cardGlzt: number; /** 项目编码 */ hzcbCode: string; /** 项目名称 */ hzcbName: string; fromBillIndx: number; /** 单据状态 */ fromCardStat: number; /** 变动前cardExid */ fromCardExid: number; /** 变动后cardExid */ fromValueNew: number; /** 调拨后使用部门.标识 */ fromCardDept: number; /** 调拨后存放地点.标识 */ fromCardLaid: number; /** 调拨后使用部门.名称 */ fromDeptText: string; /** 调拨后存放地点.名称 */ fromLaidText: string; /** 结账折旧后,资产净值 */ fromCardZcjz: number; /** 开始时间 */ startOut: number; /** 结束时间 */ endedOut: number; /** 使用id */ cardMain: number; /** 单号id */ myoaCode: string; /** 收入单号 */ expdMain: number; /** 收入明细单号 */ gamsBill: number; /** 单据状态 */ myoaStat: number; /** 借入房产分类 */ cardFcfl: number; /** 借入房产分类 */ cardFcflText: string; wContact: string; // 联系人 dContact: string; // 联系电话 lastDate: number; lastTime: number; flowMain: number; flowNode: number; flowStat: number; didFirst: number; lastMemo: string; userName: string; userGUID: string; // 小区 roomCode: string; // 地址 roomAddr: string; thirdApp: string; /** * 前端字段 */ /** 二维码 */ cardQrde: string; listUnit: IUnitResponse[]; listDept: IDeptResponse[]; listLaid: ILaidResponse[]; listHzcb: IHzcbMainResponse[]; /** 相关附件 */ listPath: IPathResponse[]; /** 定点单位(司机)*/ listDDDW: IUserLiteResponse[]; /** 房产房源 */ listRoom: ICardRoomResponse[]; /** 房产房源附件 */ listRoomPath: IPathResponse[]; /** 产权信息 */ listBook: ICardBookResponse[]; /** 产权信息附件 */ listBookPath: IPathResponse[]; /** 接收记录 */ listFrom: ICardFromResponse[]; /** 接收记录附件 */ listFromPath: IPathResponse[]; listPropDict: IDictResponse[]; listPropDept: IDeptResponse[]; listData: ICardDataResponse[]; listType: IDictResponse[]; // 虚拟字段 cardZjff: string; tablFrom: string; //路由 ywdjIndx: number; // 驾驶员用户indx dddwMain: number; // 关联最新用户联系方式 fromDContact: string; dataUses: string; } export class TCardMainResponse implements ICardMainResponse { whoBuild: number = 0; cardIndx: number = 0; interval: number = 0; cardExid: 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; dataType: number = 0; kjndKJQJ: 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; unitMain: number = 0; deptMain: number = 0; cardStat: number = 0; flowUndo: number = 0; flowText: string = ""; menuUUID: string = ""; coverURL: string = ""; cardKJND: number = 0; cardKJQJ: number = 0; cardRzrq: number = 0; cardGmrq: number = 0; /** 业务标识 0:正常新增;1:拆分作废;2:处置作废:3:调拨作废;4:删除作废;5:拆分新增;6:调拨新增 */ cardYwbz: number = 0; cardType: number = 0; cardZjly: number = 0; cardDept: number = 0; cardLaid: number = 0; cardUses: number = 0; cardJldw: number = 0; cardGblb: number = 0; cardZczt: number = 0; cardZcztText: string = ""; cardSize: number = 0; cardZcdj: number = 0; cardCost: number = 0; cardZcyz: number = 0; cardLjzj: number = 0; fromCardLjzj: number = 0; cardZcjz: number = 0; cardCszj: number = 0; cardCode: string = ""; cardName: string = ""; cardGgxh: string = ""; cardCcbh: string = ""; cardSccs: string = ""; cardZctm: string = ""; cardMemo: string = ""; floorCnt: number = 0; cardGrrq: number = 0; cardZjzt: number = 0; takeText: string = ""; pzptText: string = ""; cardCqxs: number = 0; cardSyfx: number = 0; cardFzsj: number = 0; cardZshm: string = ""; cardZlwz: string = ""; cardGldw: string = ""; cardGlbm: string = ""; cardZymj: number = 0; cardHqmj: number = 0; cardCzmj: number = 0; cardCjmj: number = 0; cardXzmj: number = 0; cardQtmj: number = 0; cardSymj: number = 0; landQsxz: number = 0; landTdmj: number = 0; landZmmj: number = 0; buldJgrq: number = 0; buldSyrq: number = 0; buldJzjg: number = 0; buldJzmj: number = 0; buldFymj: number = 0; canSplit: number = 0; cardSspp: string = ""; cardUser: number = 0; cardKeep: number = 0; cardKeepText: string = ""; cardDddw: string = ""; cardSynx: number = 0; cardYjcz: number = 0; cardYbzj: number = 0; cardZclb: number = 0; cardZclbText: string = ""; cardCodeTxt1: string = ""; cardCodeTxt2: string = ""; cardCodeTxt3: string = ""; cardCodeTxt4: string = ""; billCode: string = ""; cardBxjz: number = 0; landTdly: number = 0; landTdlyText: string = ""; cardQsdw: string = ""; cardWwdj: number = 0; cardWwdjText: string = ""; autoClcd: number = 0; autoClcdText: string = ""; autoCpxh: string = ""; cardBzqk: number = 0; cardBzqkText: string = ""; cardCqbz: number = 0; /** 借入房产分类 */ cardFcfl: number = 0; /** 借入房产分类 */ cardFcflText: string = ""; autoType: number = 0; autoCpbh: string = ""; autoBxrq: number = 0; autoNjrq: number = 0; autoBfrq: number = 0; autoJykh: string = ""; cardUnitText: string = ""; cardGblbText: string = ""; cardZjlyText: string = ""; cardDeptText: string = ""; cardTypeText: string = ""; cardCqxsText: string = ""; cardSyfxText: string = ""; cardUsesText: string = ""; cardJldwText: string = ""; cardLaidText: string = ""; cardUserText: string = ""; landQsxzText: string = ""; buldJzjgText: string = ""; laidMinoText: string = ""; knockCnt: number = 0; userSize: number = 0; autoClno: string = ""; autoYqno: string = ""; matchKey: string = ""; autoCllc: number = 0; autoClyh: number = 0; autoYhrq: number = 0; autoLcrq: number = 0; autoJyyh: number = 0; unitDict: number = 0; autoClxz: number = 0; autoTbdw: number = 0; autoMode: number = 0; autoSeat: number = 0; autoClpl: number = 0; autoClplText: string = ""; autoCldl: number = 0; get4From: number = 0; autoCode: string = ""; syncStat: number = 0; cardFrom: number = 0; cardWppp: string = ""; cardWpzt: string = ""; cardSfzj: string = ""; cardZcxl: string = ""; cardTime: number = 0; cardSyzt: number = 0; cardCybm: string = ""; cardLxy: string = ""; cardYzje: number = 0; cardZjnx: number = 0; hideStat: number = 0; dddwText: string = ""; readTxt1: string = ""; readTxt2: string = ""; readTxt3: string = ""; longTude: number = 0; latiTude: number = 0; cardYndy: number = 0; cardYnss: number = 0; cardYnwf: number = 0; landTdxz: number = 0; landTdxzText: string = ""; cardSzjd: number = 0; cardSzjdText: string = ""; cardSzsq: number = 0; cardSzsqText: string = ""; cardFclx: number = 0; cardFclxText: string = ""; cardFclb: number = 0; cardFclbText: string = ""; cardZfzq: number = 0; cardZfzqText: string = ""; cardQsxz: number = 0; cardQsxzText: string = ""; cardSydw: string = ""; cardSyxz: number = 0; cardSyxzText: string = ""; cardRzxs: number = 0; cardRzxsText: string = ""; cardZcfl: number = 0; cardZcflText: string = ""; landCode: string = ""; landSyqmj: number = 0; landSymj: number = 0; landZzrq: number = 0; landTddj: number = 0; landTddjText: string = ""; buldCode: string = ""; buldJfmj: number = 0; buldCkmj: number = 0; buldHysmj: number = 0; buldStmj: number = 0; buldDxjzmj: number = 0; buldPdfmj: number = 0; buldDxsymj: number = 0; buldDxs: number = 0; buldYsrq: number = 0; buldKgrq: number = 0; autoYxslc: number = 0; baseCode: string = ""; baseStart: string = ""; baseEnded: string = ""; baseJsdj: number = 0; baseJsdjText: string = ""; baseXzdj: number = 0; baseXzdjText: string = ""; baseZczt: number = 0; baseZcztText: string = ""; cardGlzt: number = 1; hzcbCode: string = ""; hzcbName: string = ""; lastDate: number = 0; lastTime: number = 0; flowMain: number = 0; flowNode: number = 0; flowStat: number = 0; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; fromBillIndx: number = 0; fromCardStat: number = 0; fromCardExid: number = 0; fromValueNew: number = 0; fromCardDept: number = 0; fromCardLaid: number = 0; fromDeptText: string = ""; fromLaidText: string = ""; fromCardZcjz: number = 0; startOut: number = 0; endedOut: number = 0; cardMain: number = 0; laidMino: number = 0; myoaCode: string = ""; wContact: string = ""; // 联系人 dContact: string = ""; // 联系电话 roomCode: string = ""; roomAddr: string = ""; thirdApp: string = ""; /** 二维码 */ cardQrde: string = ""; listUnit: IUnitResponse[] = []; listDept: IDeptResponse[] = []; listLaid: ILaidResponse[] = []; listHzcb: IHzcbMainResponse[] = []; listPath: IPathResponse[] = []; listDDDW: IUserLiteResponse[] = []; listBook: ICardBookResponse[] = []; listBookPath: IPathResponse[] = []; listRoom: ICardRoomResponse[] = []; listRoomPath: IPathResponse[] = []; listFrom: ICardFromResponse[] = []; listFromPath: IPathResponse[] = []; listPropDict: IDictResponse[] = []; listPropDept: IDeptResponse[] = []; listType: IDictResponse[] = []; listData: ICardDataResponse[] = []; // 虚拟字段 cardZjff: string = ""; tablFrom: string = ""; ywdjIndx: number = 0; expdMain: number = 0; gamsBill: number = 0; dddwMain: number = 0; myoaStat: number = 0; // 关联最新用户联系方式 fromDContact: string = ""; /** * 用车判断审核人角色 */ dataUses: string = ""; constructor(card: Partial = {}) { if (card) { _.merge(this, _.pick(card, Object.keys(this))); } } static toFlowData(card: ICardMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = card.whoBuild; result.flowMain = card.flowMain; result.flowNode = card.flowNode; result.notified = Const.Todo.CONST_STR_TODO_TYPE_TO_CARD_WAIT; result.entityID = card.entityID; result.billMain = card.cardIndx; result.billCode = card.billCode; result.billMemo = card.cardMemo; result.createAt = card.createAt; result.mastName = card.mastName; result.createBy = card.createBy; result.unitMain = card.unitMain; result.deptMain = card.deptMain; result.menuUUID = card.menuUUID; result.flowStat = card.fromCardStat; return result; } static toFlowDatas(card: ICardMainResponse[]): TFlowDataResponse[] { return card.map((u) => this.toFlowData(u)); } static toTravel(card: ICardMainResponse): TCore.ISysTravelResponse { const travel = new TCore.TSysTravelResponse(); travel.whoBuild = card.whoBuild; travel.flowMain = card.flowMain; travel.flowNode = card.flowNode; travel.billUUID = card.entityID; travel.billMain = card.cardIndx; travel.billCode = card.billCode; travel.mastName = card.mastName; travel.createBy = card.createBy; travel.menuUUID = card.menuUUID; return travel; } /** 转换成记录日志需要的数据(第一层,不包含菜单) */ static toTravelData(card?: ICardMainResponse | ICardMainResponse[]): TCore.ISysTravelResponse[] { if (_.isNil(card)) { return []; } if (_.isArray(card)) { return card.map((u) => { return this.toTravel(u); }); } return [this.toTravel(card)]; } static toWldyPrintData(noti: ICardMainResponse) { const data = new TStim.TStimulsoftPrintData(); data.billMain = String(noti.cardIndx); data.menuUUID = noti.menuUUID; return data; } static toWldyPrintDatas(listNoti: ICardMainResponse[]) { return listNoti.map((u) => this.toWldyPrintData(u)); } }