Example #1
0
    /// <summary>
    /// 保存事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Save_Click(object sender, EventArgs e)
    {
        //工作流参数
        NameValueCollection dataFields = SetWFParams();

        if (dataFields == null)
        {
            return;
        }
        JC_ProjectTenderCityCompanyInfo dataInfo = SaveFormData();

        if (dataInfo != null)
        {
            UploadAttachments1.SaveAttachment(FormId);

            if (SaveWorkFlowInstance("0", null, ""))
            {
                Alert("保存完成");
            }
        }
        else
        {
            Alert("保存失败");
        }
    }
 /// <summary>
 /// 加载表单
 /// </summary>
 private void InitFormData()
 {
     try
     {
         JC_ProjectTenderCityCompanyInfo info = JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormID(FormId);
         if (!string.IsNullOrEmpty(Request.QueryString["id"]))
         {
             if (info != null)
             {
                 //加载业务数据
                 cblSecurityLevel.SelectedIndex = int.Parse(info.SecurityLevel);
             }
             cblUrgenLevel.SelectedIndex = int.Parse(info.UrgenLevel);
             ddlDepartName.Text          = info.DeptName;
             tbDateTime.Text             = info.Date ?? "";
             tbUserName.Text             = info.UserName;
             tbMobile.Text  = info.Tel;
             tbTitle.Text   = info.Title;
             tbContent.Text = info.Substance.Replace(" ", "&nbsp;").Replace("\n", "<br/>");
             tbRemark.Text  = info.Remark;
             cblIsImpowerProject.SelectedIndex = int.Parse(info.IsAccreditByGroup);
             tbReportCode.Text = info.FormID;
             //tbRemark.Text = info.Remark;
             if (info.DeptName.Contains("开封"))
             {
                 cblFirstLevel.Visible       = true;
                 cblFirstLevel.SelectedValue = info.FirstLevel != null?info.FirstLevel.ToString() : "-1";
             }
             if (!string.IsNullOrEmpty(info.IsApproval))
             {
                 lbIsApproval.Text = string.Format("{1}({0})", info.IsApproval == "1" ? "批准" : "拒绝", lbIsApproval.Text);
                 if (info.IsApproval == "1")
                 {
                     this.lbIsApproval.Style.Add("color", "green");
                 }
                 else
                 {
                     this.lbIsApproval.Style.Add("color", "red");
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
    /// <summary>
    /// 加载表单
    /// </summary>
    private void InitFormData(string formId)
    {
        try
        {
            JC_ProjectTenderCityCompanyInfo info = JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormID(FormID);
            if (!string.IsNullOrEmpty(Request.QueryString["id"]))
            {
                if (info != null)
                {
                    //ListItem selectedItem = ddlDepartName.Items.FindByValue(info.StartDeptId);
                    //if (selectedItem != null)
                    //{
                    //    selectedItem.Selected = true;
                    //}

                    //加载业务数据[需要思考这块具体怎么加载,从哪里加载过来]
                    cblSecurityLevel.SelectedIndex = int.Parse(info.SecurityLevel);
                    cblUrgenLevel.SelectedIndex    = int.Parse(info.UrgenLevel);
                    tbDateTime.Text = info.Date ?? "";
                    tbUserName.Text = info.UserName;
                    tbMobile.Text   = info.Tel;
                    tbTitle.Text    = info.Title;
                    tbContent.Text  = info.Substance;
                    tbRemark.Text   = info.Remark;
                    cblIsImpowerProject.SelectedIndex = int.Parse(info.IsAccreditByGroup);
                    tbReportCode.Text = info.FormID;

                    ddlDepartName.Text = info.DeptName;
                    if (info.DeptName.Contains("开封"))
                    {
                        cblFirstLevel.Visible       = true;
                        cblFirstLevel.SelectedValue = info.FirstLevel != null?info.FirstLevel.ToString() : "-1";
                    }
                    //如果是集团授权,则集团部门意见列表不显示
                    //if (info.IsAccreditByGroup == "0")
                    //{
                    //    Group_Tender.Visible = false;
                    //    Group_TenderChairman.Visible = false;
                    //}
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
Example #4
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_ProjectTenderCityCompanyInfo citycompanyInfo = Pkurg.PWorldBPM.Business.BIZ.JC.JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormId(ProId);
            string emailTitle = citycompanyInfo.DeptName + citycompanyInfo.UserName + "于" + citycompanyInfo.Date + "发起的" + "【招标需求_城市公司】" + citycompanyInfo.Title + "流程已审批结束!";
            Logger.logger.DebugFormat("WF_Authorization:{0}", AuthorizedUserCode);
            //得到实例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_ProjectTenderCityCompany.aspx?id=" + WorkFlowInstancesID;

            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);
        }
    }
Example #5
0
 //是否需要?
 private void NotifyErpStart()
 {
     JC_ProjectTenderCityCompanyInfo info = JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormID(FormId);
     //new appcode_ContractApproval_Service.ContractApproval_Service().NotifyStart(info.ErpFormId);
 }
Example #6
0
    /// <summary>
    /// 保存表单
    /// </summary>
    /// <returns></returns>
    private JC_ProjectTenderCityCompanyInfo SaveFormData()
    {
        //FormId
        JC_ProjectTenderCityCompanyInfo info = null;

        try
        {
            //检查存储过程是否正确【有几处需要转换类型的地方自己注意】
            info = JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormID(FormId);

            StringBuilder groupRealateDepts = new StringBuilder();

            StringBuilder realateDepts = new StringBuilder();
            foreach (ListItem item in cbGroupRealateDept.Items)
            {
                if (item.Selected)
                {
                    groupRealateDepts.AppendFormat("{0},", cbGroupRealateDept.Items.IndexOf(item));
                }
            }

            foreach (ListItem item in cbRealateDept.Items)
            {
                if (item.Selected)
                {
                    realateDepts.AppendFormat("{0},", cbRealateDept.Items.IndexOf(item));
                }
            }
            string firstlevel = null;
            if (ddlDepartName.SelectedItem.Text.Contains("开封"))
            {
                firstlevel = cblFirstLevel.SelectedItem.Value;
            }
            else
            {
                firstlevel = "";
            }
            if (info == null)
            {
                info = new JC_ProjectTenderCityCompanyInfo()
                {
                    FormID        = FormId,
                    SecurityLevel = cblSecurityLevel.SelectedIndex.ToString(),
                    UrgenLevel    = cblUrgenLevel.SelectedIndex.ToString(),
                    StartDeptId   = ddlDepartName.SelectedItem.Value,
                    DeptName      = ddlDepartName.SelectedItem.Text,
                    Date          = DateTime.Now.ToString(),
                    UserName      = _BPMContext.CurrentPWordUser.EmployeeName,
                    //if(_BPMContext.CurrentPWordUser.MobilePhone == null)
                    //{
                    //   Tel="";
                    //}
                    //else
                    //{
                    //    Tel = _BPMContext.CurrentPWordUser.MobilePhone,
                    //}
                    Tel = _BPMContext.CurrentPWordUser.MobilePhone ?? "",
                    IsAccreditByGroup = cblIsImpowerProject.SelectedIndex.ToString(),
                    Title             = tbTitle.Text,
                    Substance         = tbContent.Text,
                    Remark            = tbRemark.Text,
                    //存储相关部门[因为写死了,所以可以不用保存]
                    //RelateDepartment = cbRealateDept.SelectedIndex.ToString(),
                    RelateDepartment = realateDepts.ToString().Trim(','),
                    //foreach遍历读取
                    GroupRealateDept  = groupRealateDepts.ToString().Trim(','),
                    GroupPurchaseDept = cbGroupPurchaseDept.Items[0].Selected ? "1" : "0",
                    FirstLevel        = firstlevel,
                };
                //插入新的表单数据
                JC_ProjectTenderCityCompany.InsertJC_ProjectTenderCityCompanyInfo(info);
            }
            else
            {
                info.FormID            = tbReportCode.Text;
                info.SecurityLevel     = cblSecurityLevel.SelectedIndex.ToString();
                info.UrgenLevel        = cblUrgenLevel.SelectedIndex.ToString();
                info.StartDeptId       = ddlDepartName.SelectedItem.Value;
                info.DeptName          = ddlDepartName.SelectedItem.Text;
                info.Date              = tbDateTime.Text;
                info.UserName          = tbUserName.Text;
                info.Tel               = tbMobile.Text;
                info.IsAccreditByGroup = cblIsImpowerProject.SelectedIndex.ToString();
                info.Title             = tbTitle.Text;
                info.Substance         = tbContent.Text;
                info.Remark            = tbRemark.Text;
                //存储相关部门意见[因为写死了,所以可以不用保存]
                info.RelateDepartment = cbRealateDept.SelectedIndex.ToString();

                ////foreach遍历读取
                info.GroupRealateDept  = groupRealateDepts.ToString().Trim(',');
                info.GroupPurchaseDept = cbGroupPurchaseDept.Items[0].Selected ? "1" : "0";
                info.FirstLevel        = firstlevel;
                //更新表单数据
                JC_ProjectTenderCityCompany.UpdateJC_ProjectTenderCityCompanyInfo(info);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return(info);
    }
Example #7
0
    /// <summary>
    /// 加载表单
    /// </summary>
    /// <param name="FormId"></param>
    private void InitFormData(string formId)
    {
        try
        {
            //参照例子中的getmodel检查自己所写的存储过程是否正确
            JC_ProjectTenderCityCompanyInfo info = JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormID(FormId);
            if (info != null)
            {
                ListItem selectItem = ddlDepartName.Items.FindByValue(info.StartDeptId);
                if (selectItem != null)
                {
                    selectItem.Selected = true;
                }
                //加载业务数据[检查加载是否正确]
                tbReportCode.Text = info.FormID;
                cblSecurityLevel.SelectedIndex = int.Parse(info.SecurityLevel);
                cblUrgenLevel.SelectedIndex    = int.Parse(info.UrgenLevel);
                StartDeptId     = info.StartDeptId;
                tbDateTime.Text = info.Date;
                tbUserName.Text = info.UserName;
                tbMobile.Text   = info.Tel;
                cblIsImpowerProject.SelectedIndex = int.Parse(info.IsAccreditByGroup);
                tbTitle.Text   = info.Title;
                tbContent.Text = info.Substance;
                tbRemark.Text  = info.Remark;
                cblFirstLevel.SelectedValue = info.FirstLevel != null?info.FirstLevel.ToString() : "-1";

                //相关部门意见
                //cbRealateDept.SelectedIndex = int.Parse(info.RelateDepartment);
                string[] realateDepts = info.RelateDepartment.Split(',');
                foreach (var item in realateDepts)
                {
                    cbRealateDept.Items[int.Parse(item)].Selected = true;
                }
                //需要在checkbox里面存储多个数值或者为空
                //cbGroupRealateDept.SelectedIndex = int.Parse(info.GroupRealateDept);

                cbGroupPurchaseDept.Items[0].Selected = info.GroupPurchaseDept == "1";
                //集团相关部门意见
                if (!string.IsNullOrEmpty(info.GroupRealateDept))
                {
                    string[] groupRealateDepts = info.GroupRealateDept.Split(',');

                    foreach (var item in groupRealateDepts)
                    {
                        cbGroupRealateDept.Items[int.Parse(item)].Selected = true;
                    }
                }
            }
            else
            {
                tbUserName.Text   = _BPMContext.CurrentPWordUser.EmployeeName;
                tbMobile.Text     = _BPMContext.CurrentPWordUser.MobilePhone;
                tbDateTime.Text   = DateTime.Now.ToString();
                tbReportCode.Text = FormId;
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
 private void NotifyErpStart()
 {
     JC_ProjectTenderCityCompanyInfo info = JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByFormID(FormId);
 }
Example #9
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_ProjectTenderCityCompanyInfo companyInfo = Pkurg.PWorldBPM.Business.BIZ.JC.JC_ProjectTenderCityCompany.GetJC_ProjectTenderCityCompanyInfoByWfId(k2_workflowId.ToString());
            string jcFormCode    = companyInfo.FormID;
            string jcFormName    = companyInfo.Title;
            string StartUserName = companyInfo.UserName;
            //判断是否审批通过,存储0,1表示通过与不通过
            string resultString = dataFields["IsPass"];
            //添加判断在招标委员会的节点上,如果时间过去两天,还有人没有审批,
            //则根据相关的字段给数据库插入“同意”字段,并且时间为截至时间[三个表关联]
            //条件=招标委员会意见/集团招标委员会意见,同时时间=2天,option.value=null
            //option.value="同意" 时间=当前时间
            //方法 insertinto:加意见
            //instanceid
            //先得到节点,再把节点上的datefield的人分隔开,再挨个判断他有没有意见,没有意见的再插入
            //if (dataFields["IsPass"] == "1")
            //{
            //    string currentActiveName = "";
            //    string persons="";
            //    if (dataFields["IsReportToResource"] == "0")
            //    {
            //        persons = dataFields["GroupTenderCommitteeManager"];

            //        currentActiveName = "集团招标委员会意见";
            //    }
            //    else
            //    {
            //        persons = dataFields["TenderCommitteeManager"];

            //        currentActiveName = "招标委员会意见";
            //    }

            //    //把上面节点的datefield的人分隔开,再挨个判断他有没有意见,没有意见的再插入
            //    foreach (string person in persons.Split(','))
            //    {
            //        //定义三个变量得到
            //        //loginName, wfInstanceId, currentActiveName
            //        string LoginName = person.ToLower().Replace("k2:founder\\","");
            //        string WFInstanceId = k2_workflowId.ToString();
            //        //判断他有没有意见
            //        if ( !string.IsNullOrEmpty( LoginName))
            //        {
            //            //给表中插入数据,并且option字段值默认为“默认同意”
            //            Pkurg.PWorldBPM.Business.BIZ.JC.JC_ProjectTenderCityCompany.InsertWF_Approval_RecordByInstanceID(currentActiveName, LoginName, WFInstanceId);
            //        }
            //    }
            //}

            //添加判断在招标委员会主任的节点上,如果时间过去两天,还有人没有审批,
            //则根据相关的字段给数据库插入“同意”字段,并且时间为截至时间[三个表关联]
            //条件=招标委员会主任意见/集团招标委员会主任意见,同时时间=2天,option.value=null
            //option.value="同意" 时间=当前时间
            //instanceid
            //if (dataFields["IsPass"] == "1")
            //{
            //    string currentActiveName = "";
            //    string person = "";

            //    person = dataFields["TenderCommitteeChairman"];
            //    currentActiveName = "招标委员会主任意见";

            //    //定义三个变量得到
            //    //loginName, wfInstanceId, currentActiveName
            //    string LoginName = person.ToLower().Replace("k2:founder\\", "");
            //    string WFInstanceId = k2_workflowId.ToString();
            //    //给表中插入数据,并且option字段值默认为“默认同意”
            //    Pkurg.PWorldBPM.Business.BIZ.JC.JC_ProjectTenderCityCompany.InsertWF_Approval_RecordByInstanceID(currentActiveName, LoginName, WFInstanceId);

            //}


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

            JC_ProjectTenderCityCompanyInfo model = new JC_ProjectTenderCityCompanyInfo();
            model.FormID     = jcFormCode;
            model.IsApproval = resultString;
            //两个文件名字最好不能起的一样,尤其是增删改查操作的时候文件名不能一样
            Pkurg.PWorldBPM.Business.BIZ.JC.JC_ProjectTenderCityCompany.UpdateJC_ProjectTenderCityCompanyInfoByModel(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;
            //得到子公司的招采部的编号以及名称
            Pkurg.PWorld.Entities.Department deptInfo = new Pkurg.PWorld.Business.Permission.BFPmsUserRoleDepartment().GetDeptByCurrentDeptCodeAndOtherDeptName(companyInfo.StartDeptId, "招标采购部");

            //授权给所在公司的招标采购部
            InsertAuthorizationToJCGroup(AuthorizedByUserCode, AuthorizedByUserName, ProId, ProcName, deptInfo.DepartCode);
            //授权给集团的采购管理部
            InsertAuthorizationToJCGroup(AuthorizedByUserCode, AuthorizedByUserName, ProId, ProcName, CGDeptCode);

            //发送邮件通知已经授权
            //MailService mailService = new MailService();
            //bool eResult = mailService.SendEmailCustom("","","");
            //bool eResult = mailService.SendEmailCustom(string toUsers; string title;string body);

            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);
    }