import _ from "lodash"; import { IUnitResponse } from "../core"; import { TFlowDataResponse } from "../flow/IFlowDataResponse"; import { ICellEditResponse } from "./ICellEditResponse"; import { IGzzdBillResponse } from "./IGzzdBillResponse"; import { IUserEditResponse } from "./IUserEditResponse"; export interface IGzzdMainResponse { whoBuild: number; userIndx: number; gzzdIndx: number; gzjgMain: number; gzzdGzbh: number; kjndKJQJ: number; holdType: number; gzzdKJND: number; gzzdKJQJ: number; gzzdGsnd: number; gzzdGsqj: number; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; dataType: number; isLasted: number; dataStat: number; dataOrdr: number; dataHide: number; dataDate: number; dataTime: number; dataGUID: string; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; queuesBy: number; entityID: string; sourceND: number; sourceDW: string; unitMain: number; deptMain: number; gzzdStat: number; flowUndo: number; flowText: string; gzzdMemo: string; /** 表体对象,1:单位,2:部门,3:人员,4:字典 */ bodyFill: number; menuUUID: string; gzzdCode: string; //#工资单号 userSize: number; //#发放人次 beShould: number; //#应发合计 beDeduct: number; //#应扣合计 beActual: number; //#实发合计 gsndGsqj: number; //#归属期间 wlzfStat: number; //#支付标志 wlzfMain: number; menuName: string; gzjgName: string; taskIndx: number; taskMain: number; taskName: string; directAt: 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; didFirst: number; lastMemo: string; userName: string; userGUID: string; wlzfCode: string; wlzfDone: number; // 判断是否含有特殊人员 fromUserSize: number; // 银行卡类型 acnoType: number; gzzdFrom: number; fromGzjgQueuesBy: number; // 工资结构按照Y中的顺序进行排序 taskPara: string; listBill: IGzzdBillResponse[]; readUnit: IUnitResponse[]; cellEdit: ICellEditResponse[]; userEdit: IUserEditResponse[]; } export class TGzzdMainResponse implements IGzzdMainResponse { whoBuild: number = 0; userIndx: number = 0; gzzdIndx: number = 0; gzjgMain: number = 0; gzzdGzbh: number = 0; kjndKJQJ: number = 0; holdType: number = 0; gzzdKJND: number = 0; gzzdKJQJ: number = 0; gzzdGsnd: number = 0; gzzdGsqj: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; dataType: number = 0; isLasted: number = 0; dataStat: number = 1; dataOrdr: number = 0; dataHide: 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 = ""; deleteAt: number = 0; queuesBy: number = 0; entityID: string = ""; sourceND: number = 0; sourceDW: string = ""; unitMain: number = 0; deptMain: number = 0; gzzdStat: number = 0; flowUndo: number = 0; flowText: string = ""; gzzdMemo: string = ""; bodyFill: number = 0; menuUUID: string = ""; gzzdCode: string = ""; userSize: number = 0; beShould: number = 0; beDeduct: number = 0; beActual: number = 0; gsndGsqj: number = 0; wlzfStat: number = 0; wlzfMain: number = 0; menuName: string = ""; gzjgName: string = ""; taskIndx: number = 0; taskMain: number = 0; taskName: string = ""; directAt: 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; didFirst: number = 0; lastMemo: string = ""; userName: string = ""; userGUID: string = ""; wlzfCode: string = ""; wlzfDone: number = 0; gzzdFrom: number = 0; fromUserSize: number = 0; acnoType: number = 0; fromGzjgQueuesBy: number = 0; // 工资结构按照Y中的顺序进行排序 taskPara: string = ""; listBill: IGzzdBillResponse[] = []; readUnit: IUnitResponse[] = []; cellEdit: ICellEditResponse[] = []; userEdit: IUserEditResponse[] = []; constructor(gzzd: keyof IGzzdMainResponse | object) { if (gzzd) { _.merge(this, _.pick(gzzd, Object.keys(this))); } } static toFlowDatas(gzzds: IGzzdMainResponse[]): TFlowDataResponse[] { return gzzds.map((u) => this.toFlowData(u)); } //#进入流程 static toFlowData(gzzd: IGzzdMainResponse): TFlowDataResponse { const result = new TFlowDataResponse(); result.whoBuild = gzzd.whoBuild; result.userIndx = gzzd.userIndx; result.flowMain = gzzd.flowMain; result.flowNode = gzzd.flowNode; // result.notified = Const.Todo.CONST_STR_TODO_TYPE_TO_HTQD_WAIT; result.entityID = gzzd.entityID; result.billMain = gzzd.gzzdIndx; result.billCode = String(gzzd.gzzdIndx); result.billMemo = gzzd.gzzdMemo; result.billUses = ""; result.ysxmText = ""; result.outMoney = 0; result.createAt = gzzd.createAt; result.mastName = gzzd.mastName; result.createBy = gzzd.createBy; result.unitMain = gzzd.unitMain; result.menuUUID = gzzd.menuUUID; result.deptMain = gzzd.deptMain; result.flowStat = gzzd.gzzdStat; return result; } }