protected void Submit_Click(object sender, EventArgs e)
    {
        string id = ViewState["FormID"].ToString();
        string SaveVerification = SaveWFParams();

        if (string.IsNullOrEmpty(SaveVerification))
        {
            return;
        }
        #region 工作流参数
        NameValueCollection dataFields = SetWFParams();
        if (dataFields == null)
        {
            return;
        }
        #endregion

        InstructionOfPKURGIInfo obj = SaveData(id, "02");
        if (obj != null)
        {
            //开启流程
            WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId;
            AppDict appInfo = new Pkurg.BPM.Services.AppDictService().GetByAppId("3001");
            if (appInfo == null)
            {
                Alert("提交失败");
                return;
            }
            int wfInstanceId = 0; //process instance id
            WorkflowHelper.StartProcess(@"K2Workflow\OA_InstructionOfPKURGI", id, dataFields, ref wfInstanceId);
            if (wfInstanceId > 0)
            {
                if (SaveWorkFlowInstance(obj, "1", DateTime.Now, wfInstanceId.ToString()))
                {
                    if (Eitems.UpdateStatus(id, "02"))
                    {
                        string           Opinion          = "";
                        string           ApproveResult    = "同意";
                        string           OpinionType      = "";
                        string           IsSign           = "0";
                        string           DelegateUserName = "";
                        string           DelegateUserCode = "";
                        WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID);

                        var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record()
                        {
                            ApprovalID = Guid.NewGuid().ToString(),

                            FormID            = id,
                            InstanceID        = workFlowInstance.InstanceId,
                            Opinion           = Opinion,
                            ApproveAtTime     = DateTime.Now,
                            ApproveByUserCode = CurrentEmployee.EmployeeCode,
                            ApproveByUserName = CurrentEmployee.EmployeeName,
                            ApproveResult     = ApproveResult,
                            OpinionType       = OpinionType,
                            CurrentActiveName = "拟稿",
                            ISSign            = IsSign,

                            DelegateUserName = DelegateUserName,
                            DelegateUserCode = DelegateUserCode,
                            CreateAtTime     = DateTime.Now,
                            CreateByUserCode = CurrentEmployee.EmployeeCode,
                            CreateByUserName = CurrentEmployee.EmployeeName,
                            UpdateAtTime     = DateTime.Now,
                            UpdateByUserCode = CurrentEmployee.EmployeeCode,
                            UpdateByUserName = CurrentEmployee.EmployeeName,
                            FinishedTime     = DateTime.Now
                        };
                        BFApprovalRecord bfApproval = new BFApprovalRecord();
                        bfApproval.AddApprovalRecord(appRecord);
                    }
                    ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功');", true);
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", " window.opener=null; window.open('', '_self', '');window.close();", true);
                }
            }
        }
        Alert("提交失败");
    }
Example #2
0
    public bool CreateNewFormByInstanceIDAndEmployeeCodeWithStoredProcedure(string InstanceID, string EmployeeCode, string sp)
    {
        DataProvider dataProvider = new DataProvider();

        dataProvider.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["BPMConnectionString"].ConnectionString;


        BFEmployee          bfEmployee       = new BFEmployee();
        Employee            employeeInfo     = new Employee();
        WF_WorkFlowInstance wFlowInst        = new WF_WorkFlowInstance();
        BFApprovalRecord    bFApprovalRecord = new BFApprovalRecord();
        EmployeeAdditional  employeeAddition = bfEmployee.GetEmployeeAdditionalById(EmployeeCode);

        employeeInfo = bfEmployee.GetEmployeeByEmployeeCode(EmployeeCode);
        string EmployeeName = bfEmployee.GetEmployeeNameByEmployeeCode(EmployeeCode);

        WorkFlowInstance wFlowInstanceBefore = new WorkFlowInstance();

        wFlowInstanceBefore = wFlowInst.GetWorkFlowInstanceById(InstanceID);
        WorkFlowInstance newWorkFlowInstance = new WorkFlowInstance();

        {
            newWorkFlowInstance.InstanceId       = Guid.NewGuid().ToString();
            newWorkFlowInstance.AppId            = wFlowInstanceBefore.AppId;
            newWorkFlowInstance.FormId           = BPMHelp.GetSerialNumber("SQ_");
            newWorkFlowInstance.WfInstanceId     = wFlowInstanceBefore.WfInstanceId;
            newWorkFlowInstance.OrderNo          = wFlowInstanceBefore.OrderNo;
            newWorkFlowInstance.IsDel            = 0;
            newWorkFlowInstance.CreateByUserCode = EmployeeCode;
            newWorkFlowInstance.CreateByUserName = EmployeeName;
            newWorkFlowInstance.CreateAtTime     = System.DateTime.Now;
            newWorkFlowInstance.UpdateByUserCode = EmployeeCode;
            newWorkFlowInstance.UpdateByUserName = EmployeeName;
            newWorkFlowInstance.UpdateAtTime     = wFlowInstanceBefore.UpdateAtTime;
            newWorkFlowInstance.CreateDeptCode   = employeeInfo.DepartCode;
            newWorkFlowInstance.CreateDeptName   = employeeInfo.DepartName;
            newWorkFlowInstance.WorkItemCode     = wFlowInstanceBefore.WorkItemCode;
            newWorkFlowInstance.WorkItemName     = wFlowInstanceBefore.WorkItemName;
            newWorkFlowInstance.WfTaskId         = wFlowInstanceBefore.WfTaskId;
            newWorkFlowInstance.FinishedTime     = null;
            newWorkFlowInstance.Remark           = wFlowInstanceBefore.Remark;
            newWorkFlowInstance.FormTitle        = wFlowInstanceBefore.FormTitle;
            newWorkFlowInstance.WfStatus         = "0";
            newWorkFlowInstance.SumitTime        = null;
            newWorkFlowInstance.FormData         = wFlowInstanceBefore.FormData;
        }

        var newApprovalRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record();

        newApprovalRecord.ApprovalID        = Guid.NewGuid().ToString();
        newApprovalRecord.FormID            = newWorkFlowInstance.FormId;
        newApprovalRecord.InstanceID        = newWorkFlowInstance.InstanceId;
        newApprovalRecord.CreateByUserCode  = employeeInfo.EmployeeCode;
        newApprovalRecord.CreateByUserName  = employeeInfo.EmployeeName;
        newApprovalRecord.CreateAtTime      = System.DateTime.Now;
        newApprovalRecord.ApproveByUserCode = employeeInfo.EmployeeCode;
        newApprovalRecord.ApproveByUserName = employeeInfo.EmployeeName;
        newApprovalRecord.UpdateByUserCode  = employeeInfo.EmployeeCode;
        newApprovalRecord.UpdateByUserName  = employeeInfo.EmployeeName;
        newApprovalRecord.UpdateAtTime      = wFlowInstanceBefore.UpdateAtTime;
        newApprovalRecord.CurrentActiveName = "拟稿";



        Pkurg.BPM.Entities.FlowRelated relationInfo = new FlowRelated()
        {
            FlowId             = newWorkFlowInstance.InstanceId,
            CreatorName        = employeeInfo.EmployeeName,
            CreateTime         = System.DateTime.Now,
            CreatorId          = employeeInfo.EmployeeCode,
            RelatedFlowId      = wFlowInstanceBefore.InstanceId,
            RelatedFlowCreator = wFlowInstanceBefore.CreateByUserName,
            RelatedFlowEndTime = wFlowInstanceBefore.FinishedTime,
            RelatedFlowName    = wFlowInstanceBefore.FormTitle,
        };

        WF_Relation.AddRelatedFlowInfo(relationInfo);

        SqlParameter[] parameters = new SqlParameter[] {
            new SqlParameter("@FormID_Before", System.Data.SqlDbType.NVarChar, 100),
            new SqlParameter("@FormID_New", System.Data.SqlDbType.NVarChar, 100)
        };
        parameters[0].Value = wFlowInstanceBefore.FormId;
        parameters[1].Value = newWorkFlowInstance.FormId;
        dataProvider.ExecutedProcedure(sp, parameters);

        bool isSuccessForInstance       = wFlowInst.AddWorkFlowInstance(newWorkFlowInstance);
        bool isSuccessForApprovalRecord = bFApprovalRecord.AddApprovalRecord(newApprovalRecord);

        if (isSuccessForInstance && isSuccessForApprovalRecord)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Example #3
0
    protected void Submit_Click(object sender, EventArgs e)
    {
        #region 工作流参数
        NameValueCollection dataFields = SetWFParams();
        if (dataFields == null)
        {
            return;
        }
        #endregion
        int    wfInstanceId = 0; //process instance id
        string id           = ViewState["FormID"].ToString();

        BP_LeaseContractInfo obj = SaveData(id, "02");
        if (obj != null)
        {
            //开启流程
            WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId;
            WorkflowHelper.StartProcess(@"K2Workflow\BP_LeaseContract", id, dataFields, ref wfInstanceId);
            if (wfInstanceId > 0)
            {
                if (SaveWorkFlowInstance(obj, "1", DateTime.Now, wfInstanceId.ToString()))
                {
                    if (lc.UpdateStatus(id, "02"))
                    {
                        string           Opinion          = "";
                        string           ApproveResult    = "同意";
                        string           OpinionType      = "";
                        string           IsSign           = "0";
                        string           DelegateUserName = "";
                        string           DelegateUserCode = "";
                        WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID);
                        //通知系统
                        string instanceID = workFlowInstance.InstanceId;
                        string url        = "http://" + Request.Url.Authority + "/Workflow/ViewPage/V_BP_LeaseContract.aspx?ID=" + instanceID;

                        try
                        {
                            ContractClass.SubmitWorkFlow(url, Convert.ToInt16(tbBizType.Text.ToString()), Convert.ToInt16(tbBizID.Text.ToString()));
                        }
                        catch
                        {
                        }

                        var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record()
                        {
                            ApprovalID = Guid.NewGuid().ToString(),

                            FormID            = id,
                            InstanceID        = workFlowInstance.InstanceId,
                            Opinion           = Opinion,
                            ApproveAtTime     = DateTime.Now,
                            ApproveByUserCode = CurrentEmployee.EmployeeCode,
                            ApproveByUserName = CurrentEmployee.EmployeeName,
                            ApproveResult     = ApproveResult,
                            OpinionType       = OpinionType,
                            CurrentActiveName = "拟稿",
                            ISSign            = IsSign,

                            DelegateUserName = DelegateUserName,
                            DelegateUserCode = DelegateUserCode,
                            CreateAtTime     = DateTime.Now,
                            CreateByUserCode = CurrentEmployee.EmployeeCode,
                            CreateByUserName = CurrentEmployee.EmployeeName,
                            UpdateAtTime     = DateTime.Now,
                            UpdateByUserCode = CurrentEmployee.EmployeeCode,
                            UpdateByUserName = CurrentEmployee.EmployeeName,
                            FinishedTime     = DateTime.Now
                        };
                        BFApprovalRecord bfApproval = new BFApprovalRecord();
                        bfApproval.AddApprovalRecord(appRecord);
                    }
                }
            }
        }
        ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功');", true);
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", " window.opener=null; window.open('', '_self', '');window.close();", true);
    }
Example #4
0
    protected void Submit_Click(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(txtMaxCost.Text.Trim()))
        {
            txtMaxCost.Focus();
            Alert(Page, "目标成本限额 不能为空!");
            return;
        }
        decimal val = 0;
        bool    f   = decimal.TryParse(txtMaxCost.Text.Trim(), out val);

        if (!f)
        {
            txtMaxCost.Focus();
            Alert(Page, "目标成本限额 不是有效的数值!");
            return;
        }

        //合同总额已超目标成本限额
        if (!string.IsNullOrEmpty(txtTotalPrice.Text.Trim()))
        {
            if (Convert.ToDecimal(txtMaxCost.Text.Trim()) < Convert.ToDecimal(txtTotalPrice.Text))
            {
                if (string.IsNullOrEmpty(tbNote.Text.Trim()))
                {
                    tbNote.Focus();
                    Alert(Page, "订单合同总额已超目标成本限额,请在“备注”中写明理由!");
                    return;
                }
            }
        }

        #region 工作流参数
        NameValueCollection dataFields = SetWFParams();
        if (dataFields == null)
        {
            return;
        }
        #endregion
        int    wfInstanceId = 0; //process instance id
        string id           = ViewState["FormID"].ToString();

        //会签数据保存 yanghechun
        //Countersign1.SaveData(true);

        JC_ElevatorOrderInfo jcInfo = SaveJCElevatorOrder(id, "02");
        if (jcInfo != null)
        {
            //Countersign1.SaveAndSubmit();//会签数据保存
            //开启流程
            WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId;

            WorkflowHelper.StartProcess(@"K2Workflow\JC_Lift", id, dataFields, ref wfInstanceId);
            if (wfInstanceId > 0)
            {
                if (SaveWorkFlowInstance(jcInfo, "1", DateTime.Now, wfInstanceId.ToString()))
                {
                    if (jc.UpdateStatus(id, "02"))
                    {
                        string           Opinion          = "";
                        string           ApproveResult    = "同意";
                        string           OpinionType      = "";
                        string           IsSign           = "0";
                        string           DelegateUserName = "";
                        string           DelegateUserCode = "";
                        WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(jcInfo.FormID);
                        //通知集采系统
                        string instanceID = workFlowInstance.InstanceId;
                        string url        = "http://" + Request.Url.Authority + "/Workflow/ViewPage/V_JCElevatorOrder.aspx?ID=" + instanceID;

                        try
                        {
                            //和集采的接口
                            order.SubmitWorkFlow(url, Convert.ToInt16(tbOrderType.Text.ToString()), Convert.ToInt16(tbOrderID.Text.ToString()));
                        }
                        catch
                        {
                        }

                        var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record()
                        {
                            ApprovalID = Guid.NewGuid().ToString(),

                            FormID            = id,
                            InstanceID        = workFlowInstance.InstanceId,
                            Opinion           = Opinion,
                            ApproveAtTime     = DateTime.Now,
                            ApproveByUserCode = CurrentEmployee.EmployeeCode,
                            ApproveByUserName = CurrentEmployee.EmployeeName,
                            ApproveResult     = ApproveResult,
                            OpinionType       = OpinionType,
                            CurrentActiveName = "拟稿",
                            ISSign            = IsSign,

                            DelegateUserName = DelegateUserName,
                            DelegateUserCode = DelegateUserCode,
                            CreateAtTime     = DateTime.Now,
                            CreateByUserCode = CurrentEmployee.EmployeeCode,
                            CreateByUserName = CurrentEmployee.EmployeeName,
                            UpdateAtTime     = DateTime.Now,
                            UpdateByUserCode = CurrentEmployee.EmployeeCode,
                            UpdateByUserName = CurrentEmployee.EmployeeName,
                            FinishedTime     = DateTime.Now
                        };
                        BFApprovalRecord bfApproval = new BFApprovalRecord();
                        bfApproval.AddApprovalRecord(appRecord);
                    }
                }
            }
        }
        ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功');", true);
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", " window.opener=null; window.open('', '_self', '');window.close();", true);
    }
    protected void Submit_Click(object sender, EventArgs e)
    {
        #region 工作流参数
        //get users by role
        BFEmployee         employee    = new BFEmployee();
        EmployeeAdditional employeeadd = employee.GetEmployeeAdditionalByLoginName("xupc");

        Employee em = employee.GetEmployeeByEmployeeCode(employeeadd.EmployeeCode);//get user info

        //get activity destination users
        BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment();
        DataTable dtDept  = bfurd.GetSelectRoleUser(em.DepartCode, "部门负责人");
        DataTable dtCheck = bfurd.GetSelectRoleUser(em.CompanyCode, "流程审核人");
        //BFCountersignRoleDepartment CountersignRole= new BFCountersignRoleDepartment();
        //DataTable dtContri = CountersignRole.GetSelectCountersignDepartment(em.CompanyCode);
        DataTable dtlead = bfurd.GetSelectRoleUser(em.DepartCode, "主管总裁");
        DataTable dtCEO  = bfurd.GetSelectRoleUser(em.CompanyCode, "CEO");

        //add datafields
        NameValueCollection dataFields = new NameValueCollection();
        //部门负责人
        if (chkDeptManager.Checked)
        {
            dataFields.Add("DeptManager", "K2:Founder\\" + dtDept.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("DeptManager", "noapprovers");
        }
        //流程审核人
        dataFields.Add("WFM", "K2:Founder\\" + dtCheck.Rows[0]["LoginName"].ToString());
        //会签
        //dataFields.Add("CounterSignUsers", "K2:Founder\\" + dtContri.Rows[0]["LoginName"].ToString());
        //部门主管领导
        dataFields.Add("leaders", "K2:Founder\\" + dtlead.Rows[0]["LoginName"].ToString());
        //CEO
        dataFields.Add("CEO", "K2:Founder\\" + dtCEO.Rows[0]["LoginName"].ToString());
        //触发新流程
        if (cbIsReport.Checked)
        {
            dataFields.Add("NewFlow_SP", "wf_usp_CreateNewForm");
        }
        #endregion

        int    wfInstanceId = 0; //process instance id
        string id           = ViewState["FormID"].ToString();

        Countersign1.SaveData();//会签数据保存

        InstructionOfPkurg instructionOfPkurg = SaveInstructionOfPkurg(id, "02");
        if (instructionOfPkurg != null)
        {
            UploadAttachments1.SaveAttachment(id);
            Countersign1.SaveAndSubmit();//会签数据保存

            WorkflowHelper.StartProcess(@"K2Workflow\InstructionOfPKURG", id, dataFields, ref wfInstanceId);
            if (wfInstanceId > 0)
            {
                if (SaveWorkFlowInstance(instructionOfPkurg, "1", DateTime.Now, wfInstanceId.ToString()))
                {
                    if (wf_Instruction.UpdateStatus(id, "02", wfInstanceId.ToString()))
                    {
                        string           Opinion          = "";
                        string           ApproveResult    = "同意";
                        string           OpinionType      = "";
                        string           IsSign           = "0";
                        string           DelegateUserName = "";
                        string           DelegateUserCode = "";
                        WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(instructionOfPkurg.FormId);

                        var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record()
                        {
                            ApprovalID = Guid.NewGuid().ToString(),

                            FormID            = id,
                            InstanceID        = workFlowInstance.InstanceId,
                            Opinion           = Opinion,
                            ApproveAtTime     = DateTime.Now,
                            ApproveByUserCode = CurrentEmployee.EmployeeCode,
                            ApproveByUserName = CurrentEmployee.EmployeeName,
                            ApproveResult     = ApproveResult,
                            OpinionType       = OpinionType,
                            CurrentActiveName = "拟稿",
                            ISSign            = IsSign,

                            DelegateUserName = DelegateUserName,
                            DelegateUserCode = DelegateUserCode,
                            CreateAtTime     = DateTime.Now,
                            CreateByUserCode = CurrentEmployee.EmployeeCode,
                            CreateByUserName = CurrentEmployee.EmployeeName,
                            UpdateAtTime     = DateTime.Now,
                            UpdateByUserCode = CurrentEmployee.EmployeeCode,
                            UpdateByUserName = CurrentEmployee.EmployeeName,
                            FinishedTime     = DateTime.Now
                        };
                        BFApprovalRecord bfApproval = new BFApprovalRecord();
                        bfApproval.AddApprovalRecord(appRecord);

                        //WebCommon.Show(this, Resources.Message.SubmitSucess);
                        //Response.Redirect("~/Workflow/ToDoWorkList.aspx", false);
                    }
                }
            }
        }
        ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功'); window.close();", true);

        //WorkflowHelper.ApproveProcess
        //insert data to business object
    }