/// <summary>
    /// 加载表单
    /// </summary>
    private bool InitFormData(string formId)
    {
        try
        {
            ContractApprovalInfo info = ContractApproval.GetModel(formId);
            if (info != null)
            {
                //if (Pkurg.PWorldBPM.Business.BIZ.ERP.ERP_Common.IsExsitRunFlow(info.ErpFormId, ERP_WF_T_Name.ERP_ContractApproval))
                //{

                //    ERP_CallbackResultType resultType = new ContractApproval_Service().NotifyStartAdvance(Request["erpFormId"], true);
                //    new WF_WorkFlowInstance().DeleteWorkFlowInstance(_BPMContext.ProcID);
                //    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", "alert('BPM已存在正在审批的该单据!'); window.opener=null;window.open('', '_self', '');window.close();", true);
                //    return false;
                //}

                ListItem selectedItem = ddlDepartName.Items.FindByValue(info.StartDeptId);
                if (selectedItem != null)
                {
                    selectedItem.Selected = true;
                }

                cblisoverCotract.Checked   = info.IsOverContract.Value == 1;
                cbIsReportResource.Checked = info.IsReportToResource.Value == 1;
                cbIsReportFounder.Checked  = info.IsReportToFounder.Value == 1;
                StartDeptId = info.StartDeptId;
            }
            ///加载业务数据
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return(true);
    }
    /// <summary>
    /// 二次验证:提交完成之后通知并验证
    /// </summary>
    /// <returns></returns>
    private bool AfterWorkflowStart(int wfInstanceId)
    {
        ContractApprovalInfo   info       = ContractApproval.GetModel(FormId);
        ERP_CallbackResultType resultType = new ContractApproval_Service().NotifyStartAdvance(info.ErpFormId, true);

        if (resultType != ERP_CallbackResultType.调用成功)
        {
            //删除流程实例
            new WF_WorkFlowInstance().DeleteWorkFlowInstance(_BPMContext.ProcID);

            //撤销已发起的流程
            WorkflowManage.StopWorkflow(wfInstanceId);
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", "alert('" + ConstString.RepeatAlertTip + "'); window.opener=null;window.open('', '_self', '');window.close();", true);
            return(false);
        }
        return(true);
    }
    /// <summary>
    /// 一次验证:提交流程之前验证
    /// </summary>
    /// <returns></returns>
    private bool BeforeSubmit()
    {
        string erpFormCode = Request["erpFormId"];

        if (!string.IsNullOrEmpty(_BPMContext.ProcID))
        {
            erpFormCode = ContractApproval.GetModelByInstId(_BPMContext.ProcID).ErpFormId;
        }
        ERP_CallbackResultType resultType = new ContractApproval_Service().NotifyStartAdvance(erpFormCode, false);

        if (resultType != ERP_CallbackResultType.调用成功)
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", "alert('" + ConstString.RepeatAlertTip + "'); window.opener=null;window.open('', '_self', '');window.close();", true);
            return(false);
        }
        return(true);
    }
    /// <summary>
    /// 0次验证
    /// </summary>
    /// <returns></returns>
    private bool VertifyOverTime()
    {
        string erpFormCode = Request["erpFormId"];

        if (!string.IsNullOrEmpty(_BPMContext.ProcID))
        {
            erpFormCode = ContractApproval.GetModelByInstId(_BPMContext.ProcID).ErpFormId;
        }
        ERP_CallbackResultType resultType = new ContractApproval_Service().VerifyERPWFStatus(erpFormCode);

        if (resultType != ERP_CallbackResultType.调用成功)
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", "alert('流程已超时,请重新发起流程!'); window.opener=null;window.open('', '_self', '');window.close();", true);
            return(false);
        }
        return(true);
    }
    /// <summary>
    /// 保存表单
    /// </summary>
    /// <returns></returns>
    private ContractApprovalInfo SaveFormData()
    {
        //FormId
        ContractApprovalInfo info = null;

        try
        {
            info = ContractApproval.GetModel(FormId);
            if (info == null)
            {
                info = new ContractApprovalInfo()
                {
                    CreateTime         = DateTime.Now.ToString(),
                    IsOverContract     = cblisoverCotract.Checked ? 1 : 0,
                    IsReportToResource = cbIsReportResource.Checked ? 1 : 0,
                    IsReportToFounder  = cbIsReportFounder.Checked ? 1 : 0,
                    StartDeptId        = ddlDepartName.SelectedItem.Value,
                    FormID             = FormId,
                    ErpFormId          = Request["erpFormId"],
                    ErpFormType        = "PO",
                    ApproveResult      = ""
                };
                ContractApproval.Add(info);
                //必须首次调用
                cbIsReportResource.SaveToDB(FormId, "10109");
            }
            else
            {
                info.IsOverContract     = cblisoverCotract.Checked ? 1 : 0;
                info.IsReportToResource = cbIsReportResource.Checked ? 1 : 0;
                info.IsReportToFounder  = cbIsReportFounder.Checked ? 1 : 0;
                info.StartDeptId        = ddlDepartName.SelectedItem.Value;

                ContractApproval.Update(info);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }

        return(info);
    }
示例#6
0
    public static string GetErpUrl()
    {
        string erpFormId   = HttpContext.Current.Request["erpFormId"];
        string erpFormType = HttpContext.Current.Request["erpFormType"];
        string startDeptId = HttpContext.Current.Request["startDeptId"];
        string id          = HttpContext.Current.Request["Id"];

        if (string.IsNullOrEmpty(id))
        {//新建页面
            if (string.IsNullOrEmpty(erpFormId) ||
                string.IsNullOrEmpty(erpFormType)
                )
            {
                //参数错误
                ExceptionHander.GoToErrorPage();
                return(null);
            }
        }
        else
        {
            ContractApprovalInfo info = ContractApproval.GetModelByInstId(id);
            if (info == null)
            {
                ExceptionHander.GoToErrorPage();
                return(null);
            }
            erpFormId   = info.ErpFormId;
            erpFormType = info.ErpFormType;
        }

        Dictionary <string, string> pageNames = IFrameHelper.GetUrlDatas();

        if (!pageNames.Keys.Contains(erpFormType))
        {
            ExceptionHander.GoToErrorPage();
            return(null);
        }
        string pageName = pageNames[erpFormType];

        return(string.Format("{0}{1}", pageName, erpFormId));
    }
    /// <summary>
    /// 加载表单
    /// </summary>
    private void InitFormData()
    {
        try
        {
            ContractApprovalInfo info = ContractApproval.GetModel(FormId);
            if (info != null)
            {
                Department deptInfo = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(info.StartDeptId);
                ddlDepartName.Text = deptInfo.Remark;

                cblisoverCotract.Checked   = info.IsOverContract.Value == 1;
                cbIsReportResource.Checked = info.IsReportToResource.Value == 1;
                cbIsReportFounder.Checked  = info.IsReportToFounder.Value == 1;
            }
            ///加载业务数据
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }