public static Pkurg.PWorldBPM.Common.Info.ContextProcInst ToContextInfo(this Pkurg.BPM.Entities.WorkFlowInstance instance) { return(new Pkurg.PWorldBPM.Common.Info.ContextProcInst() { ProcId = instance.InstanceId, ProcName = instance.FormTitle, AppCode = instance.AppId, WorkflowId = instance.WfInstanceId, FormData = instance.FormData, Status = instance.WfStatus, EndTime = instance.FinishedTime, StartTime = instance.SumitTime, FormId = instance.FormId, StartDeptCode = instance.CreateDeptCode }); }
private static string GetERPPageUrlByInstId(string id) { WF_WorkFlowInstance wf_WorkFlowInstance = new WF_WorkFlowInstance(); Pkurg.BPM.Entities.WorkFlowInstance inst = wf_WorkFlowInstance.GetWorkFlowInstanceById(id); if (inst == null) { throw new ArgumentException("id参数不正确"); } string erpFormId = ""; string erpFormType = ""; switch (inst.AppId) { //补充协议 case "2004": var supplementalAgreementinfo = Pkurg.PWorldBPM.Business.BIZ.ERP.SupplementalAgreement.GetModelByInstId(id); if (supplementalAgreementinfo == null) { ExceptionHander.GoToErrorPage("IFrameHelper GetERPPageUrlByInstId"); return(null); } erpFormId = supplementalAgreementinfo.ErpFormId; erpFormType = supplementalAgreementinfo.ErpFormType; break; //ERP付款申请单 case "10105": var paymentApplication = Pkurg.PWorldBPM.Business.BIZ.ERP.PaymentApplication.GetPaymentApplicationInfoByInstanceId(id); if (paymentApplication == null) { ExceptionHander.GoToErrorPage("IFrameHelper GetERPPageUrlByInstId"); return(null); } erpFormId = paymentApplication.ErpFormId; erpFormType = paymentApplication.ErpFormType; break; //ERP请示单 case "10107": var instruction = Pkurg.PWorldBPM.Business.BIZ.ERP.Instruction.GetInstructionInfoByInstanceId(id); if (instruction == null) { ExceptionHander.GoToErrorPage("IFrameHelper GetERPPageUrlByInstId"); return(null); } erpFormId = instruction.ErpFormId; erpFormType = instruction.ErpFormType; break; //合同审批 case "10109": var info = Pkurg.PWorldBPM.Business.BIZ.ERP.ContractApproval.GetModelByInstId(id); if (info == null) { ExceptionHander.GoToErrorPage("IFrameHelper GetERPPageUrlByInstId"); return(null); } erpFormId = info.ErpFormId; erpFormType = info.ErpFormType; break; //合同结算 case "10111": //通过instanceid得到formid,再得到实体 var contractfinalaccountinfo = DBContext.GetBizContext().ERP_ContractFinalAccount.FirstOrDefault(x => x.FormID == inst.FormId); if (contractfinalaccountinfo == null) { ExceptionHander.GoToErrorPage("IFrameHelper GetERPPageUrlByInstId"); return(null); } //相关参数 erpFormId = contractfinalaccountinfo.ErpFormId; erpFormType = contractfinalaccountinfo.ErpFormType; break; // case "3027": //通过instanceid得到formid,再得到实体 var contractbinfo = DBContext.GetBizContext().ERP_ContractPlanningBalance.FirstOrDefault(x => x.FormID == inst.FormId); if (contractbinfo == null) { ExceptionHander.GoToErrorPage("IFrameHelper GetERPPageUrlByInstId"); return(null); } //相关参数 erpFormId = contractbinfo.ErpFormId; erpFormType = contractbinfo.ErpFormType; break; default: break; } return(GetERPPageUrl(erpFormId, erpFormType)); }