Esempio n. 1
0
    private void BindFormData()
    {
        string methodName = "BindFormData";

        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN);
        try
        {
            JC_BidScalingInfo obj  = bs.GetBidScaling(ViewState["FormID"].ToString());
            ListItem          item = ddlDepartName.Items.FindByValue(obj.StartDeptCode);
            if (item != null)
            {
                ddlDepartName.SelectedIndex = ddlDepartName.Items.IndexOf(item);
            }
            tbTitle.Text         = obj.Title;
            tbDateTime.Text      = obj.DateTime;
            tbContent.Text       = obj.Content;
            UpdatedTextBox.Value = obj.EntranceTime;
            tbFirstUnit.Text     = obj.FirstUnit;
            tbSecondUnit.Text    = obj.SecondUnit;
            cblIsAccreditByGroup.SelectedValue = obj.IsAccreditByGroup != null?obj.IsAccreditByGroup.ToString() : "-1";

            cblFirstLevel.SelectedValue = obj.FirstLevel != null?obj.FirstLevel.ToString() : "-1";
        }
        catch (Exception ex)
        {
            Logger.Write(this.GetType(), EnumLogLevel.Fatal, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.Exception + ":" + string.Format("Exception={0}", ex));
            throw ex;
        }
        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT);
    }
Esempio n. 2
0
    /// <summary>
    /// 重写流程结束方法
    /// </summary>
    public override Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo DoServiceEvent(int k2_workflowId, SerializableDictionary <string, string> dataFields)
    {
        Logger.logger.DebugFormat("Params:{0},{1}", k2_workflowId, dataFields.Keys.Count);
        foreach (KeyValuePair <string, string> item in dataFields)
        {
            Logger.logger.DebugFormat("df:{0}-{1}", item.Key, item.Value);
        }
        Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo info = new ExecuteResultInfo();
        try
        {
            //根据流程ID获取FormId
            JC_BidScalingInfo companyInfo   = Pkurg.PWorldBPM.Business.BIZ.JC.JC_BidScaling.GetJC_BidScalingInfoByWfId(k2_workflowId.ToString());
            string            jcFormCode    = companyInfo.FormID;
            string            jcFormName    = companyInfo.Title;
            string            StartUserName = companyInfo.UserName;
            //判断是否审批通过,存储0,1表示通过与不通过
            string resultString = dataFields["IsPass"];


            //这部分是根据自己的流程来判定的,现在只是通过流程ID得到FormId来进行判断结束
            Logger.logger.DebugFormat("Proc:{0},{1}", jcFormCode, resultString);

            JC_BidScalingInfo model = new JC_BidScalingInfo();
            model.FormID     = jcFormCode;
            model.IsApproval = resultString;
            //两个文件名字最好不能起的一样,尤其是增删改查操作的时候文件名不能一样
            Pkurg.PWorldBPM.Business.BIZ.JC.JC_BidScaling.UpdateJC_BidScalingInfoInfoByModel(model);


            //流程结束之后授权给集团招采部门所有人
            //得到各参数的值:AuthorizedByUserCode:授权人编号;AuthorizedByUserName:授权人姓名;ProId:流程ID;ProcName:流程编号;AuthorizedUserCode:被授权部门编号;AuthorizedUserName:被授权部门名称
            DataTable dt      = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetWorkFlowInstanceByFormID(jcFormCode);
            DataRow   dataRow = dt.Rows[0];

            string AuthorizedByUserCode = dataRow["CreateByUserCode"].ToString();
            string AuthorizedByUserName = dataRow["CreateByUserName"].ToString();
            string ProId    = jcFormCode;
            string ProcName = jcFormName;

            InsertAuthorizationToJCGroup(AuthorizedByUserCode, AuthorizedByUserName, ProId, ProcName, CGDeptCode);



            info.IsSuccess = true;
        }
        catch (Exception ex)
        {
            info.ExecException = ex.StackTrace;
            info.IsSuccess     = false;
        }
        Logger.logger.DebugFormat("Result:{0}", info.IsSuccess);
        Logger.logger.DebugFormat("Result-e:{0}", info.ExecException);
        return(info);
    }
Esempio n. 3
0
    private void BindFormData()
    {
        string methodName = "BindFormData";

        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN);
        try
        {
            JC_BidScalingInfo obj = bs.GetBidScaling(ViewState["FormID"].ToString());
            if (obj != null)
            {
                tbDepartName.Text   = obj.DeptName;;
                tbTitle.Text        = obj.Title;
                tbDateTime.Text     = obj.DateTime;
                tbContent.Text      = obj.Content;
                tbEntranceTime.Text = obj.EntranceTime;
                cblIsAccreditByGroup.SelectedValue = obj.IsAccreditByGroup != null?obj.IsAccreditByGroup.ToString() : "-1";

                if (cblIsAccreditByGroup.SelectedValue == "1")
                {
                    if (nodeName.Value.Contains("招标委员会"))
                    {
                        tbCompany.Visible = false;
                        tbGroup.Visible   = true;
                        tbURL.Visible     = true;
                    }
                }
                if (obj.DeptName.Contains("开封"))
                {
                    cblFirstLevel.Visible       = true;
                    cblFirstLevel.SelectedValue = obj.FirstLevel != null?obj.FirstLevel.ToString() : "-1";
                }
                tbFirstUnit.Text  = obj.FirstUnit;
                tbSecondUnit.Text = obj.SecondUnit;
                string StartDeptId = obj.StartDeptCode;
                if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == PKURGICode)
                {
                    trCounterSign.Visible        = false;
                    lbIsImpowerProject.Visible   = false;
                    cblIsAccreditByGroup.Visible = false;
                }
            }
        }
        catch (Exception ex)
        {
            Logger.Write(this.GetType(), EnumLogLevel.Fatal, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.Exception + ":" + string.Format("Exception={0}", ex));
            throw ex;
        }
        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT);
    }
Esempio n. 4
0
    protected void Save_Click(object sender, EventArgs e)
    {
        string            id  = ViewState["FormID"].ToString();
        JC_BidScalingInfo obj = SaveData(id, "00");

        if (obj != null)
        {
            if (SaveWorkFlowInstance(obj, "0", null, ""))
            {
                Alert(Page, "保存成功!");
            }
        }
        else
        {
            Alert(Page, "保存失败");
        }
    }
Esempio n. 5
0
    // <summary>
    /// 插入授权表(授权给招采部门全部成员)  from  XX to XX 的格式
    /// 在该部分中的被授权人是一个部门的集合,所以需要获取部门的编号,遍历得到该部门的所有成员,并对每个成员进行授权
    /// </summary>
    /// <param name="AuthorizedByUserCode">授权人的编号</param>
    /// <param name="AuthorizedByUserName">授权人的姓名</param>
    /// <param name="ProId">流程ID,需要从dispose调用过程中就取到值</param>
    /// <param name="ProcName">流程名称,需要从dispose调用过程中就取到值</param>
    /// <param name="AuthorizedUserCode">被授权人编号(部门编号)</param>
    /// <param name="AuthorizedUserName">被授权人姓名(部门名称)</param>
    /// <returns></returns>
    public static void InsertAuthorizationToJCGroup(string AuthorizedByUserCode, string AuthorizedByUserName, string ProId, string ProcName, string AuthorizeDeptCode)
    {
        //发送邮件
        MailService mailService = new MailService();

        IList <VEmployeeAndAdditionalInfo> ds = GetUserListByDeptCode(AuthorizeDeptCode);

        foreach (var item in ds)
        {
            string AuthorizedUserCode = item.EmployeeCode;
            string AuthorizedUserName = item.EmployeeName;

            Pkurg.PWorldBPM.Business.Workflow.WF_Authorization.InsertAuthorization(AuthorizedByUserCode, AuthorizedByUserName, ProId, ProcName, AuthorizedUserCode, AuthorizedUserName);
            //发送邮件
            //定义两个变量,将title以及body使用字符串方式拼接出来
            JC_BidScalingInfo bidScalingInfo = Pkurg.PWorldBPM.Business.BIZ.JC.JC_BidScaling.GetJC_JC_BidScalingInfoByFormId(ProId);

            string emailTitle = bidScalingInfo.DeptName + bidScalingInfo.UserName + "于" + bidScalingInfo.DateTime + "发起的" + "【招标定标】" + bidScalingInfo.Title + "流程已审批结束!";
            //得到实例ID号
            DataTable dt      = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetWorkFlowInstanceByFormID(ProId);
            DataRow   dataRow = dt.Rows[0];

            string WorkFlowInstancesID = dataRow["InstanceID"].ToString();

            string ID = url + "/Workflow/ViewPage/V_JC_BidScaling.aspx?id=" + WorkFlowInstancesID;

            string emailFinallyTitleFormat = emailTitle;

            string emailFinallyBodyFormat = @"您好!
       <br/>
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + emailTitle + @"
       <br/>
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;若要查看审批意见点击此处:&nbsp;&nbsp;&nbsp;&nbsp;<a href='" + ID + @"'>查看</a>
         <br/>
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;谢谢
          <br/>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";



            bool eResult = mailService.SendEmailCustom(item.Email, emailTitle, emailFinallyBodyFormat);
        }
    }
Esempio n. 6
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();

        JC_BidScalingInfo obj = SaveData(id, "02");
        if (obj != null)
        {
            //开启流程
            WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId;
            WorkflowHelper.StartProcess(@"K2Workflow\JC_BidScaling", id, dataFields, ref wfInstanceId);
            if (wfInstanceId > 0)
            {
                if (SaveWorkFlowInstance(obj, "1", DateTime.Now, wfInstanceId.ToString()))
                {
                    if (bs.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);
    }
Esempio n. 7
0
    private bool SaveWorkFlowInstance(JC_BidScalingInfo obj, string WfStatus, DateTime?SumitTime, string WfInstanceId)
    {
        string methodName = "SaveWorkFlowInstance";

        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN);
        bool             result           = false;
        WorkFlowInstance workFlowInstance = null;

        try
        {
            workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID);
            bool isEdit = false;
            if (workFlowInstance == null)
            {
                workFlowInstance                  = new WorkFlowInstance();
                workFlowInstance.InstanceId       = Guid.NewGuid().ToString();
                workFlowInstance.CreateDeptCode   = ddlDepartName.SelectedItem.Value.ToString();
                workFlowInstance.CreateDeptName   = ddlDepartName.SelectedItem.Text;
                workFlowInstance.CreateAtTime     = DateTime.Now;
                workFlowInstance.CreateByUserCode = CurrentEmployee.EmployeeCode;
                workFlowInstance.CreateByUserName = CurrentEmployee.EmployeeName;
                workFlowInstance.AppId            = "1003";
            }
            else
            {
                workFlowInstance.CreateAtTime     = DateTime.Now;
                workFlowInstance.UpdateByUserCode = CurrentEmployee.EmployeeCode;
                workFlowInstance.UpdateByUserName = CurrentEmployee.EmployeeName;
                isEdit = true;
            }
            workFlowInstance.FormId    = obj.FormID;
            workFlowInstance.FormTitle = obj.Title;
            workFlowInstance.WfStatus  = WfStatus;
            if (SumitTime != null)
            {
                workFlowInstance.SumitTime = SumitTime;
            }

            if (WfInstanceId != "")
            {
                workFlowInstance.WfInstanceId = WfInstanceId;
            }

            if (!isEdit)
            {
                result = wf_WorkFlowInstance.AddWorkFlowInstance(workFlowInstance);
            }
            else
            {
                result = wf_WorkFlowInstance.UpdateWorkFlowInstance(workFlowInstance);
            }
            FlowRelated1.ProcId = workFlowInstance.InstanceId;
            string StartDeptId = ddlDepartName.SelectedItem.Value;
            if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) != PKURGICode)
            {
                Countersign1.ProcId = workFlowInstance.InstanceId;
                Countersign1.SaveData(true);
                Countersign_Group1.ProcId = workFlowInstance.InstanceId;
                Countersign_Group1.SaveData(true);
            }
            else
            {
                Countersign_Group1.ProcId = workFlowInstance.InstanceId;
                Countersign_Group1.SaveData(true);
            }
        }
        catch (Exception ex)
        {
            Logger.Write(this.GetType(), EnumLogLevel.Fatal, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.Exception + ":" + string.Format("Exception={0}", ex));
            throw ex;
        }

        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT);
        return(result);
    }
Esempio n. 8
0
    private JC_BidScalingInfo SaveData(string ID, string wfStatus)
    {
        string methodName = "SaveData";

        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN);

        JC_BidScalingInfo obj = null;

        try
        {
            UploadAttachments1.SaveAttachment(ViewState["FormID"].ToString());
            obj = bs.GetBidScaling(ID);
            bool isEdit = false;
            if (obj == null)
            {
                obj        = new JC_BidScalingInfo();
                obj.FormID = ViewState["FormID"].ToString();
            }
            else
            {
                isEdit     = true;
                obj.FormID = ViewState["FormID"].ToString();
                //obj.ApproveStatus = wfStatus;
            }

            obj.StartDeptCode = ddlDepartName.SelectedItem.Value.ToString();
            obj.DeptName      = ddlDepartName.SelectedItem.Text;
            obj.UserName      = _BPMContext.CurrentUser.Name;
            obj.Title         = tbTitle.Text;
            obj.DateTime      = tbDateTime.Text;
            obj.Content       = tbContent.Text;
            obj.EntranceTime  = UpdatedTextBox.Value;
            obj.FirstUnit     = tbFirstUnit.Text;
            obj.SecondUnit    = tbSecondUnit.Text;

            if (cblIsAccreditByGroup.SelectedIndex != -1)
            {
                obj.IsAccreditByGroup = cblIsAccreditByGroup.SelectedValue.ToString();
            }
            if (cblFirstLevel.SelectedIndex != -1)
            {
                obj.FirstLevel = cblFirstLevel.SelectedValue.ToString();
            }
            if (!isEdit)
            {
                bs.InsertBidScaling(obj);
            }
            else
            {
                bs.UpdateBidScaling(obj);
            }
        }
        catch (Exception ex)
        {
            Logger.Write(this.GetType(), EnumLogLevel.Fatal, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.Exception + ":" + string.Format("Exception={0}", ex));
            throw ex;
        }

        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT);
        return(obj);
    }
Esempio n. 9
0
    private void BindFormData()
    {
        string methodName = "BindFormData";

        try
        {
            WorkFlowInstance Instance = wf_WorkFlowInstance.GetWorkFlowInstanceById(ViewState["InstanceID"].ToString());
            if (Instance == null)
            {
                ExceptionHander.GoToErrorPage("记录不存在");
            }
            JC_BidScalingInfo obj = bs.GetBidScaling(Instance.FormId.ToString());
            if (obj == null)
            {
                ExceptionHander.GoToErrorPage("记录不存在");
            }
            if (obj != null)
            {
                tbDepartName.Text   = obj.DeptName;;
                tbTitle.Text        = obj.Title;
                tbDateTime.Text     = obj.DateTime;
                tbContent.Text      = obj.Content.Replace(" ", "&nbsp;").Replace("\n", "<br/>");
                tbEntranceTime.Text = obj.EntranceTime;
                cblIsAccreditByGroup.SelectedValue = obj.IsAccreditByGroup != null?obj.IsAccreditByGroup.ToString() : "-1";

                if (obj.DeptName.Contains("开封"))
                {
                    cblFirstLevel.Visible       = true;
                    cblFirstLevel.SelectedValue = obj.FirstLevel != null?obj.FirstLevel.ToString() : "-1";
                }
                tbFirstUnit.Text     = obj.FirstUnit;
                tbSecondUnit.Text    = obj.SecondUnit;
                tbScalingResult.Text = obj.ScalingResult;
                string StartDeptId = obj.StartDeptCode;
                if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == PKURGICode)
                {
                    trCounterSign.Visible        = false;
                    lbIsImpowerProject.Visible   = false;
                    cblIsAccreditByGroup.Visible = false;
                }
                BindSelectUnit(Instance.FormId.ToString());
            }
            FlowRelated1.ProcId       = ViewState["InstanceID"].ToString();
            Countersign1.ProcId       = ViewState["InstanceID"].ToString();
            Countersign_Group1.ProcId = ViewState["InstanceID"].ToString();
            UploadAttachments1.ProcId = ViewState["InstanceID"].ToString();
            #region 审批意见框
            ApproveOpinionUC1.InstanceId        = ViewState["InstanceID"].ToString();
            ApproveOpinionUC2.InstanceId        = ViewState["InstanceID"].ToString();
            OpinionExecutiveDirector.InstanceId = ViewState["InstanceID"].ToString();
            ApproveOpinionUC3.InstanceId        = ViewState["InstanceID"].ToString();
            ApproveOpinionUC4.InstanceId        = ViewState["InstanceID"].ToString();
            #endregion
        }
        catch (Exception ex)
        {
            Logger.Write(this.GetType(), EnumLogLevel.Fatal, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.Exception + ":" + string.Format("Exception={0}", ex));
            throw ex;
        }
        Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT);
    }