예제 #1
0
파일: Extend.cs 프로젝트: zhangwxyc/BPM
 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
     });
 }
예제 #2
0
    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));
    }