Esempio n. 1
0
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        NameValueCollection dataFields = new NameValueCollection();
        string LeaderTemp;
        string CompanyCode  = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        string GroupAuditor = "";

        if (cbDoorManager.Checked)
        {
            GroupAuditor = "入户门审核员";
        }
        else if (cbPaintManager.Checked)
        {
            GroupAuditor = "涂料审核员";
        }
        else if (cbJJuManager.Checked)
        {
            GroupAuditor = "洁具审核员";
        }

        LeaderTemp = GetRoleUsers(CGDeptCode, "主管副总裁");
        dataFields.Add("GroupLeader", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(CGDeptCode, "部门负责人");
        dataFields.Add("GroupDeptManager", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(XMYYDeptCode, "部门副总经理");
        dataFields.Add("GroupProjectLeader", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(CGDeptCode, "集采复审员");
        dataFields.Add("GroupDeptLeader", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(CGDeptCode, GroupAuditor);
        dataFields.Add("GroupAuditor", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(CGDeptCode, "集采复审员");
        dataFields.Add("GroupReviewer", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(CompanyCode, "总裁");
        dataFields.Add("President", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人");
        dataFields.Add("DeptManager", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);
        LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
        dataFields.Add("CounterSignUsers", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp);

        dataFields.Add("IsPass", "1");
        return(dataFields);
    }
    /// <summary>
    /// 保存审批人员参数
    /// </summary>
    private string SaveWFParams()
    {
        XmlDocument xmldoc      = new XmlDocument();
        XmlElement  xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);
        List <string> ApproverList = new List <string>();
        string        LeaderTemp   = string.Empty;
        List <string> countersigns = Countersign1.Result.Split(',').ToList();
        bool          flag         = true;//标记

        if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "董事长")))
        {
            flag = false;
            Alert(Page, "董事长尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "总裁")))
        {
            flag = false;
            Alert(Page, "公司总经理尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "流程审核人")))
        {
            flag = false;
            Alert(Page, "流程审核人尚未配置!");
        }

        if (this.cbChairman.Checked)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "董事长");
            XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
            xmleLeaders.AppendChild(xmleChairman);
            xmleChairman.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbPresident.Checked)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "总裁");
            XmlElement xmlePresident = xmldoc.CreateElement("President");
            xmleLeaders.AppendChild(xmlePresident);
            xmlePresident.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode)
        {
            countersigns.Add(StartDeptId);
        }
        if (cbVP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlVP = xmldoc.CreateElement("VicePresident");
            xmleLeaders.AppendChild(xmlVP);
            foreach (var item in countersigns)
            {
                string LeaderVPTemp = GetRoleUsers(item, "主管副总裁");
                if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp))
                {
                    ApproverList.Add(LeaderVPTemp);
                    LeaderTemp += LeaderVPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlVP.SetAttribute("ID", LeaderTemp);
        }
        if (cbAP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlAP = xmldoc.CreateElement("AssiPresident");
            xmleLeaders.AppendChild(xmlAP);
            foreach (var item in countersigns)
            {
                string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁");
                if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp))
                {
                    ApproverList.Add(LeaderAPTemp);
                    LeaderTemp += LeaderAPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlAP.SetAttribute("ID", LeaderTemp);
        }

        if (cblDirectors.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlDirectors = xmldoc.CreateElement("Directors");
            xmleLeaders.AppendChild(xmlDirectors);

            for (int i = 0; i < cblDirectors.Items.Count; i++)
            {
                if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value))
                {
                    ApproverList.Add(cblDirectors.Items[i].Value);
                    LeaderTemp += cblDirectors.Items[i].Value + ",";
                }
            }
            xmlDirectors.SetAttribute("ID", LeaderTemp);
        }
        countersigns.Remove(StartDeptId);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
        }

        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "流程审核人");
            XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor");
            xmleLeaders.AppendChild(xmleWorkflowAuditor);
            xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp);
        }

        if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode)
        {
            LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人");
            XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager");
            xmleLeaders.AppendChild(xmleDeptManager);
            xmleDeptManager.SetAttribute("ID", LeaderTemp);
        }

        if (!flag)
        {
            lblApprovers.Text = null;
        }
        else
        {
            lblApprovers.Text = xmleLeaders.OuterXml;
        }
        return(lblApprovers.Text);
    }
    /// <summary>
    /// 保存流程参数
    /// </summary>
    /// <returns></returns>
    private string SaveWFParams()
    {
        XmlDocument xmldoc      = new XmlDocument();
        XmlElement  xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);
        List <string> ApproverList = new List <string>();
        string        LeaderTemp   = string.Empty;
        List <string> countersigns = Countersign1.Result.Split(',').ToList();

        string LawDeptCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        //需要去重,所以顺序从后向前
        //董事长意见
        if (this.cbChairman.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "董事长");
            XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
            xmleLeaders.AppendChild(xmleChairman);
            xmleChairman.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        //总裁意见
        if (this.cbPresident.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "总裁");
            XmlElement xmlePresident = xmldoc.CreateElement("President");
            xmleLeaders.AppendChild(xmlePresident);
            xmlePresident.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbEVP.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "常务副总裁");
            XmlElement xmleEVP = xmldoc.CreateElement("EVP");
            xmleLeaders.AppendChild(xmleEVP);
            xmleEVP.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbCFO.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "主管财务领导");
            XmlElement xmleCFO = xmldoc.CreateElement("CFO");
            xmleLeaders.AppendChild(xmleCFO);
            xmleCFO.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        //相关部门主管副副总裁
        countersigns.Add(StartDeptId);
        countersigns.Add(LawDeptCode);
        if (cbVP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlVP = xmldoc.CreateElement("VicePresident");
            xmleLeaders.AppendChild(xmlVP);
            foreach (var item in countersigns)
            {
                string LeaderVPTemp = GetRoleUsers(item, "主管副总裁");
                if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp))
                {
                    ApproverList.Add(LeaderVPTemp);
                    LeaderTemp += LeaderVPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlVP.SetAttribute("ID", LeaderTemp);
        }
        //相关部门主管助理总裁
        if (cbAP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlAP = xmldoc.CreateElement("AssiPresident");
            xmleLeaders.AppendChild(xmlAP);
            foreach (var item in countersigns)
            {
                string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁");
                if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp))
                {
                    ApproverList.Add(LeaderAPTemp);
                    LeaderTemp += LeaderAPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlAP.SetAttribute("ID", LeaderTemp);
        }
        //其他董事意见【其他总办会领导意见】
        if (cblDirectors.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlDirectors = xmldoc.CreateElement("Directors");
            xmleLeaders.AppendChild(xmlDirectors);

            for (int i = 0; i < cblDirectors.Items.Count; i++)
            {
                if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value))
                {
                    ApproverList.Add(cblDirectors.Items[i].Value);
                    LeaderTemp += cblDirectors.Items[i].Value + ",";
                }
            }
            xmlDirectors.SetAttribute("ID", LeaderTemp);
        }
        //会签【相关部门意见】
        countersigns.Remove(StartDeptId);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
        }

        lblApprovers.Text = xmleLeaders.OuterXml;
        return(lblApprovers.Text);
    }
Esempio n. 4
0
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        string startDeptId = ddlDepartName.SelectedItem.Value;

        NameValueCollection dataFields = new NameValueCollection();
        Department          deptInfo   = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(startDeptId);
        string CompanyCode             = BPMHelp.GetCompanyCodeByDeptID(startDeptId);

        bool          flag               = true;                //标记datafields内的变量是否均赋值
        List <string> ApproverList       = new List <string>(); //所有参与审批的用户列表
        StringBuilder leaders            = new StringBuilder(); //相关部门主管助理总裁
        StringBuilder Viceleaders        = new StringBuilder(); //相关部门主管副总裁
        StringBuilder deptsofGroup       = new StringBuilder(); //集团相关部门
        StringBuilder leaderofgroup      = new StringBuilder(); //集团主管部门部门负责人
        StringBuilder AssistantPresident = new StringBuilder(); //集团主管部门主管助理总裁
        StringBuilder VicePresident      = new StringBuilder(); //集团主管部门主管副总裁

        //验证部分步骤的审批人是否尚未配置
        if (string.IsNullOrEmpty(GetRoleUsers(deptInfo.DepartCode, "部门负责人")))
        {
            flag = false;
            Alert(Page, "发起部门负责人尚未配置!");
        }
        List <string> countersigns = Countersign1.Result.Split(',').ToList();

        foreach (var item in countersigns)
        {
            if (!string.IsNullOrEmpty(item))
            {
                if (string.IsNullOrEmpty(GetRoleUsers(item, "部门负责人")))
                {
                    flag = false;
                    Department countetDept = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(item);
                    Alert(Page, countetDept.Remark + "部门负责人尚未配置!");
                }
            }
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "总裁")))
        {
            flag = false;
            Alert(Page, "公司总裁尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(PKURGICode, "总裁")))
        {
            flag = false;
            Alert(Page, "集团CEO尚未配置!");
        }

        countersigns.Add(startDeptId);
        foreach (var item in countersigns)
        {
            string leadersTmp = GetRoleUsers(item, "主管助理总裁");
            if (!leaders.ToString().Contains(leadersTmp))
            {
                leaders.AppendFormat("{0},", leadersTmp);
            }
            string ViceleadersTmp = GetRoleUsers(item, "主管副总裁");
            if (!Viceleaders.ToString().Contains(ViceleadersTmp))
            {
                Viceleaders.AppendFormat("{0},", ViceleadersTmp);
            }
            string deptsofGroupTmp = GetRoleDepts(item, "集团主管部门");
            if (!deptsofGroup.ToString().Contains(deptsofGroupTmp))
            {
                deptsofGroup.AppendFormat("{0},", deptsofGroupTmp);
            }
        }
        ///集团人员
        string IsReport = HttpContext.Current.Request["isReport"];

        if (IsReport == "Y")
        {
            dataFields.Add("CEOGroup", FilterDataField2(GetRoleUsers(PKURGICode, "总裁")));
            foreach (var item in deptsofGroup.ToString().Trim(',').Split(','))
            {
                string leaderofgroupTmp = GetRoleUsers(item, "部门负责人");
                if (!leaderofgroup.ToString().Contains(leaderofgroupTmp))
                {
                    leaderofgroup.AppendFormat("{0},", leaderofgroupTmp);
                }
                string AssistantPresidentTmp = GetRoleUsers(item, "主管助理总裁");
                if (!AssistantPresident.ToString().Contains(AssistantPresidentTmp))
                {
                    AssistantPresident.AppendFormat("{0},", AssistantPresidentTmp);
                }
                string VicePresidentTmp = GetRoleUsers(item, "主管副总裁");
                if (!VicePresident.ToString().Contains(VicePresidentTmp))
                {
                    VicePresident.AppendFormat("{0},", VicePresidentTmp);
                }
            }
            dataFields.Add("VicePresident", FilterDataField2(VicePresident));
            dataFields.Add("AssistantPresident", FilterDataField2(AssistantPresident));
            dataFields.Add("leadersofgroup", FilterDataField2(leaderofgroup));
        }
        //城市公司审批人员
        string LeaderTemp = string.Empty;

        if (cbChairman.Checked)
        {
            dataFields.Add("chairman", FilterDataField2(GetRoleUsers(CompanyCode, "董事长")));
        }
        else
        {
            dataFields.Add("chairman", "noapprovers");
        }

        dataFields.Add("CEO", FilterDataField2(GetRoleUsers(CompanyCode, "总裁")));
        dataFields.Add("StandingViceCEO", FilterDataField2(GetRoleUsers(CompanyCode, "常务副总裁")));
        dataFields.Add("Viceleaders", FilterDataField2(Viceleaders));
        dataFields.Add("leaders", FilterDataField2(leaders));
        dataFields.Add("CounterSignUsers", (Countersign1.GetCounterSignUsers()));
        dataFields.Add("DeptManager", GetRoleUsers(deptInfo.DepartCode, "部门负责人"));

        dataFields.Add("IsReport", IsReport == "Y" ? "1" : "0");
        dataFields.Add("IsPass", "1");

        if (!flag)
        {
            dataFields = null;
        }
        return(dataFields);
    }
Esempio n. 5
0
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        NameValueCollection dataFields  = new NameValueCollection();
        XmlDocument         xmldoc      = new XmlDocument();
        XmlElement          xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);

        List <string> ApproverList = new List <string>();//所有参与审批的用户列表,用来避免重复审批,已存在用户不再传入
        string        GroupCode    = System.Configuration.ConfigurationManager.AppSettings["GroupCode"];
        string        startDeptId  = ddlDepartName.SelectedItem.Value;
        string        LeaderTemp   = string.Empty;
        bool          flag         = true;//标记

        if (string.IsNullOrEmpty(GetRoleUsers(startDeptId, "部门负责人")))
        {
            flag = false;
            Alert(Page, "发起部门负责人尚未配置!");
        }
        List <string> countersigns = Countersign1.Result.Split(',').ToList();

        foreach (var item in countersigns)
        {
            if (!string.IsNullOrEmpty(item))
            {
                if (string.IsNullOrEmpty(GetRoleUsers(item, "部门负责人")))
                {
                    flag = false;
                    Department countetDept = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(item);
                    Alert(Page, countetDept.Remark + "部门负责人尚未配置!");
                }
            }
        }
        if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "总裁")))
        {
            flag = false;
            Alert(Page, "集团CEO尚未配置!");
        }

        if (this.cbChairman.Checked)
        {
            LeaderTemp = FilterDataField2(GetRoleUsers(GroupCode, "董事长"));
            XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
            xmleLeaders.AppendChild(xmleChairman);
            xmleChairman.SetAttribute("ID", LeaderTemp);
        }
        else
        {
            LeaderTemp = "noapprovers";
        }
        dataFields.Add("Chairman", LeaderTemp);
        if (1 == 1)
        {
            LeaderTemp = FilterDataField2(GetRoleUsers(GroupCode, "总裁"));
            XmlElement xmleCEO = xmldoc.CreateElement("CEO");
            xmleLeaders.AppendChild(xmleCEO);
            xmleCEO.SetAttribute("ID", LeaderTemp);
        }
        dataFields.Add("CEO", LeaderTemp);
        if (cblTopLeaders.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlTopLeaders = xmldoc.CreateElement("TopLeaders");
            xmleLeaders.AppendChild(xmlTopLeaders);

            for (int i = 0; i < cblTopLeaders.Items.Count; i++)
            {
                if (cblTopLeaders.Items[i].Selected && !ApproverList.Contains(cblTopLeaders.Items[i].Value))
                {
                    ApproverList.Add(cblTopLeaders.Items[i].Value);
                    LeaderTemp += cblTopLeaders.Items[i].Value + ",";
                }
            }
            xmlTopLeaders.SetAttribute("ID", LeaderTemp);
        }
        else
        {
            LeaderTemp = "noapprovers";
        }
        dataFields.Add("TopLeaders", LeaderTemp);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("Countersign");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
        }
        else
        {
            LeaderTemp = string.Empty;
        }
        dataFields.Add("CounterSignUsers", LeaderTemp);
        if (1 == 1)
        {
            LeaderTemp = FilterDataField2(GetRoleUsers(startDeptId, "部门负责人"));
            XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager");
            xmleLeaders.AppendChild(xmleDeptManager);
            xmleDeptManager.SetAttribute("ID", LeaderTemp);
            dataFields.Add("DeptManager", LeaderTemp);
        }

        strApprovers = xmleLeaders.OuterXml;
        if (!flag)
        {
            dataFields = null;
        }
        return(dataFields);
    }
Esempio n. 6
0
    /// <summary>
    /// 保存审批人员参数
    /// </summary>
    private string SaveWFParams()
    {
        XmlDocument xmldoc      = new XmlDocument();
        XmlElement  xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);
        List <string> ApproverList = new List <string>();
        string        LeaderTemp   = string.Empty;
        List <string> countersigns = Countersign1.Result.Split(',').ToList();
        bool          flag         = true;//标记

        string LawDeptCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "总裁")))
        {
            flag = false;
            Alert(Page, "总裁尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "流程审核人")))
        {
            flag = false;
            Alert(Page, "流程审核人尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "公章管理员")))
        {
            flag = false;
            Alert(Page, "公章管理员尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "档案管理员")))
        {
            flag = false;
            Alert(Page, "档案管理员尚未配置!");
        }
        //需要去重,所以顺序从后向前
        //董事长意见
        if (this.cbChairman.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "董事长");
            XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
            xmleLeaders.AppendChild(xmleChairman);
            xmleChairman.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        //总裁意见
        if (this.cbPresident.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "总裁");
            XmlElement xmlePresident = xmldoc.CreateElement("President");
            xmleLeaders.AppendChild(xmlePresident);
            xmlePresident.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }

        if (this.cbEVP.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "常务副总裁");
            XmlElement xmleEVP = xmldoc.CreateElement("EVP");
            xmleLeaders.AppendChild(xmleEVP);
            xmleEVP.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbCFO.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "主管财务领导");
            XmlElement xmleCFO = xmldoc.CreateElement("CFO");
            xmleLeaders.AppendChild(xmleCFO);
            xmleCFO.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        //相关部门主管副总裁
        countersigns.Add(StartDeptId);
        countersigns.Add(LawDeptCode);
        if (cbVP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlVP = xmldoc.CreateElement("VicePresident");
            xmleLeaders.AppendChild(xmlVP);
            foreach (var item in countersigns)
            {
                string LeaderVPTemp = GetRoleUsers(item, "主管副总裁");
                if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp))
                {
                    ApproverList.Add(LeaderVPTemp);
                    LeaderTemp += LeaderVPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlVP.SetAttribute("ID", LeaderTemp);
        }
        //相关部门主管助理总裁
        if (cbAP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlAP = xmldoc.CreateElement("AssiPresident");
            xmleLeaders.AppendChild(xmlAP);
            foreach (var item in countersigns)
            {
                string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁");
                if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp))
                {
                    ApproverList.Add(LeaderAPTemp);
                    LeaderTemp += LeaderAPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlAP.SetAttribute("ID", LeaderTemp);
        }
        //其他董事意见【其他总办会领导意见】
        if (cblDirectors.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlDirectors = xmldoc.CreateElement("Directors");
            xmleLeaders.AppendChild(xmlDirectors);

            for (int i = 0; i < cblDirectors.Items.Count; i++)
            {
                if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value))
                {
                    ApproverList.Add(cblDirectors.Items[i].Value);
                    LeaderTemp += cblDirectors.Items[i].Value + ",";
                }
            }
            xmlDirectors.SetAttribute("ID", LeaderTemp);
        }
        //法务部意见
        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(LawDeptCode, "部门负责人");
            XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("LawDeptManager");
            xmleLeaders.AppendChild(xmleWorkflowAuditor);
            xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp);
        }
        //会签【相关部门意见】
        countersigns.Remove(StartDeptId);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
        }
        //流程审核员审核
        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "流程审核人");
            XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor");
            xmleLeaders.AppendChild(xmleWorkflowAuditor);
            xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp);
        }
        //经办部门负责人
        if (cbDeptManager.Checked)
        {
            LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人");
            XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager");
            xmleLeaders.AppendChild(xmleDeptManager);
            xmleDeptManager.SetAttribute("ID", LeaderTemp);
        }
        if (cblDeptDirectors.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlDeptDirectors = xmldoc.CreateElement("DeptDirectors");
            xmleLeaders.AppendChild(xmlDeptDirectors);

            for (int i = 0; i < cblDeptDirectors.Items.Count; i++)
            {
                if (cblDeptDirectors.Items[i].Selected)
                {
                    LeaderTemp += cblDeptDirectors.Items[i].Value + ",";
                }
            }
            xmlDeptDirectors.SetAttribute("ID", LeaderTemp);
        }
        //后面三个审批步骤放在一起
        if (cbIsReport.Checked == false)
        {
            //法务复核意见
            if (!string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "合同法务复核员")))
            {
                LeaderTemp = GetRoleUsers(CompanyCode, "合同法务复核员");
            }
            else
            {
                LeaderTemp = GetRoleUsers(LawDeptCode, "部门负责人");
            }
            XmlElement xmleLawAudit = xmldoc.CreateElement("LawAuditOpinion");
            xmleLeaders.AppendChild(xmleLawAudit);
            xmleLawAudit.SetAttribute("ID", LeaderTemp);
            //印章管理员盖章
            LeaderTemp = GetRoleUsers(CompanyCode, "公章管理员");
            XmlElement xmleSealManager = xmldoc.CreateElement("SealManager");
            xmleLeaders.AppendChild(xmleSealManager);
            xmleSealManager.SetAttribute("ID", LeaderTemp);
            //档案管理员归档
            LeaderTemp = GetRoleUsers(CompanyCode, "档案管理员");
            XmlElement xmleFileManager = xmldoc.CreateElement("FileManager");
            xmleLeaders.AppendChild(xmleFileManager);
            xmleFileManager.SetAttribute("ID", LeaderTemp);
        }

        if (!flag)
        {
            lblApprovers.Text = null;
        }
        else
        {
            lblApprovers.Text = xmleLeaders.OuterXml;
        }
        return(lblApprovers.Text);
    }
Esempio n. 7
0
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        NameValueCollection dataFields = new NameValueCollection();

        BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment();

        //动态获取待定
        string     startDeptId = ddlDepartName.SelectedItem.Value;
        Department deptInfo    = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(startDeptId);
        string     CompanyCode = BPMHelp.GetCompanyCodeByDeptID(startDeptId);

        string ExecutiveDirector = string.Empty; //执行主任
        String Members           = string.Empty; //招标委员会成员
        String Director          = string.Empty; //招标委员会主任

        //验证部分步骤的审批人是否尚未配置
        bool flag = true;

        if (string.IsNullOrEmpty(GetRoleUsers(PKURGICode, "执行主任")))
        {
            flag = false;
            Alert(Page, "执行主任尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "招标委员会成员")))
        {
            flag = false;
            Alert(Page, "公司招标委员会成员尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "招标委员会主任")))
        {
            flag = false;
            Alert(Page, "公司招标委员会主任尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(PKURGICode, "招标委员会成员")))
        {
            flag = false;
            Alert(Page, "集团招标委员会成员尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(PKURGICode, "招标委员会主任")))
        {
            flag = false;
            Alert(Page, "集团招标委员会主任尚未配置!");
        }

        List <string> countersigns       = Countersign1.Result.Split(',').ToList();
        List <string> countersigns_group = Countersign_Group1.Result.Split(',').ToList();

        if ((CompanyCode != PKURGICode && cblIsAccreditByGroup.SelectedItem.Value == "1") || CompanyCode == PKURGICode)
        {
            ExecutiveDirector = GetRoleUsers(PKURGICode, "执行主任");
        }
        if (CompanyCode != PKURGICode && cblIsAccreditByGroup.SelectedIndex == 0)
        {
            Members  = GetRoleUsers(CompanyCode, cblFirstLevel.SelectedIndex == 0 ? "招标委员会成员(一级)" : "招标委员会成员");
            Director = GetRoleUsers(CompanyCode, "招标委员会主任");
        }
        if (CompanyCode != PKURGICode && cblIsAccreditByGroup.SelectedIndex == 1)
        {
            Members  = GetRoleUsers(PKURGICode, "招标委员会成员") + "," + GetRoleUsers(CompanyCode, "招标委员会主任");
            Director = GetRoleUsers(PKURGICode, "招标委员会主任");
        }
        if (CompanyCode == PKURGICode)
        {
            Members  = GetRoleUsers(PKURGICode, "招标委员会成员");
            Director = GetRoleUsers(PKURGICode, "招标委员会主任");
        }
        dataFields.Add("CounterSignUsers", FilterDataField(Countersign1.GetCounterSignUsers()));
        dataFields.Add("CounterSignUsers_Group", FilterDataField(Countersign_Group1.GetCounterSignUsers()));
        dataFields.Add("Members", FilterDataField(Members));
        dataFields.Add("Director", FilterDataField(Director));
        dataFields.Add("ExecutiveDirector", FilterDataField(ExecutiveDirector));

        //dataFields.Add("IsGroup", companyCode == "B04-D319"?"yes":"no");
        //dataFields.Add("IsReport", cblIsAccreditByGroup.SelectedIndex == 1?"yes":"no");
        dataFields.Add("IsPass", "1");
        if (!flag)
        {
            dataFields = null;
        }
        return(dataFields);
    }
Esempio n. 8
0
    private string SaveWFParams()
    {
        XmlDocument xmldoc      = new XmlDocument();
        XmlElement  xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);

        List <string> ApproverList = new List <string>();
        string        LeaderTemp   = string.Empty;
        List <string> countersigns = Countersign1.Result.Split(',').ToList();

        //if (this.cbChairman.Checked)
        //{
        //    LeaderTemp = GetRoleUsers(GroupCode, "董事长");
        //    XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
        //    xmleLeaders.AppendChild(xmleChairman);
        //    xmleChairman.SetAttribute("ID", LeaderTemp);
        //    ApproverList.Add(LeaderTemp);
        //}

        if (this.cbPresident.Checked)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "总裁");
            XmlElement xmlePresident = xmldoc.CreateElement("President");
            xmleLeaders.AppendChild(xmlePresident);
            xmlePresident.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }

        if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode)
        {
            countersigns.Add(StartDeptId);
        }

        if (cbVP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlVP = xmldoc.CreateElement("VicePresident");
            xmleLeaders.AppendChild(xmlVP);
            foreach (var item in countersigns)
            {
                string LeaderVPTemp = GetRoleUsers(item, "主管副总裁");
                if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp))
                {
                    ApproverList.Add(LeaderVPTemp);
                    LeaderTemp += LeaderVPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlVP.SetAttribute("ID", LeaderTemp);
        }
        if (cbAP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlAP = xmldoc.CreateElement("AssiPresident");
            xmleLeaders.AppendChild(xmlAP);
            foreach (var item in countersigns)
            {
                string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁");
                if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp))
                {
                    ApproverList.Add(LeaderAPTemp);
                    LeaderTemp += LeaderAPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlAP.SetAttribute("ID", LeaderTemp);
        }

        if (cblDirectors.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlDirectors = xmldoc.CreateElement("Directors");
            xmleLeaders.AppendChild(xmlDirectors);

            for (int i = 0; i < cblDirectors.Items.Count; i++)
            {
                if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value))
                {
                    ApproverList.Add(cblDirectors.Items[i].Value);
                    LeaderTemp += cblDirectors.Items[i].Value + ",";
                }
            }
            xmlDirectors.SetAttribute("ID", LeaderTemp);
        }
        countersigns.Remove(StartDeptId);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
        }

        if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode)
        {
            LeaderTemp = FilterDataField2(GetRoleUsers(StartDeptId, "部门负责人"));
            XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager");
            xmleLeaders.AppendChild(xmleDeptManager);
            xmleDeptManager.SetAttribute("ID", LeaderTemp);
        }
        if (StartDeptId.Substring(0, 4) == DutyFreeShopCode && cbDutyFreeManager.Checked == true)
        {
            LeaderTemp = GetRoleUsers(DutyFreeDeptCode, "部门负责人");
            XmlElement xmleDutyFreeManagerr = xmldoc.CreateElement("DutyFreeManager");
            xmleLeaders.AppendChild(xmleDutyFreeManagerr);
            xmleDutyFreeManagerr.SetAttribute("ID", LeaderTemp);
        }
        if (StartDeptId.Substring(0, 4) == DutyFreeShopCode && cblRelatedManager.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlRelatedManager = xmldoc.CreateElement("RelatedManager");
            xmleLeaders.AppendChild(xmlRelatedManager);

            for (int i = 0; i < cblRelatedManager.Items.Count; i++)
            {
                if (cblRelatedManager.Items[i].Selected && !ApproverList.Contains(cblRelatedManager.Items[i].Value))
                {
                    ApproverList.Add(cblRelatedManager.Items[i].Value);
                    LeaderTemp += cblRelatedManager.Items[i].Value + ",";
                }
            }
            xmlRelatedManager.SetAttribute("ID", LeaderTemp);
        }
        lblApprovers.Text = xmleLeaders.OuterXml;
        return(lblApprovers.Text);
    }
Esempio n. 9
0
    private string SaveWFParams()
    {
        XmlDocument xmldoc      = new XmlDocument();
        XmlElement  xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);

        List <string> ApproverList = new List <string>();
        string        LeaderTemp   = string.Empty;
        List <string> countersigns = Countersign1.Result.Split(',').ToList();

        if (this.cbChairman.Checked)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "董事长");
            XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
            xmleLeaders.AppendChild(xmleChairman);
            xmleChairman.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }

        if (this.cbPresident.Checked)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "总裁");
            XmlElement xmlePresident = xmldoc.CreateElement("President");
            xmleLeaders.AppendChild(xmlePresident);
            xmlePresident.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }

        if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode)
        {
            countersigns.Add(StartDeptId);
        }

        if (cbVP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlVP = xmldoc.CreateElement("VicePresident");
            xmleLeaders.AppendChild(xmlVP);
            foreach (var item in countersigns)
            {
                string LeaderVPTemp = GetRoleUsers(item, "主管副总裁");
                if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp))
                {
                    ApproverList.Add(LeaderVPTemp);
                    LeaderTemp += LeaderVPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlVP.SetAttribute("ID", LeaderTemp);
        }
        if (cbAP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlAP = xmldoc.CreateElement("AssiPresident");
            xmleLeaders.AppendChild(xmlAP);
            foreach (var item in countersigns)
            {
                string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁");
                if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp))
                {
                    ApproverList.Add(LeaderAPTemp);
                    LeaderTemp += LeaderAPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlAP.SetAttribute("ID", LeaderTemp);
        }

        countersigns.Remove(StartDeptId);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }

        if (1 == 1)
        {
            LeaderTemp = FilterDataField2(GetRoleUsers(StartDeptId, "部门负责人"));
            XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager");
            xmleLeaders.AppendChild(xmleDeptManager);
            xmleDeptManager.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "流程审核人");
            XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor");
            xmleLeaders.AppendChild(xmleWorkflowAuditor);
            xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp);
        }
        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(GroupCode, "公章管理员");
            XmlElement xmleSealManager = xmldoc.CreateElement("SealManager");
            xmleLeaders.AppendChild(xmleSealManager);
            xmleSealManager.SetAttribute("ID", LeaderTemp);
        }
        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(GroupOfficeCode, "部门负责人");
            XmlElement xmleGroupOfficeManager = xmldoc.CreateElement("GroupOfficeManager");
            xmleLeaders.AppendChild(xmleGroupOfficeManager);
            xmleGroupOfficeManager.SetAttribute("ID", LeaderTemp);
        }

        lblApprovers.Text = xmleLeaders.OuterXml;
        return(lblApprovers.Text);
    }
Esempio n. 10
0
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        //存储过程的四个参数

        string startDeptId = ddlDepartName.SelectedItem.Value;
        //部门【条件1】
        string startDeptName = ddlDepartName.SelectedItem.Text;
        //定义合同类型的取值
        // string erpFormType = HttpContext.Current.Request["erpFormType"];
        //根据formTitle中的第七位取两位得到合同类型【条件2】
        string type = PaymentApplication_Common.GetErpFormTitle(this).Substring(5, 2);
        //得到金额amount,需要先判断改单子是打开拟稿的还是新打开的,根据ID来判断是哪一类【条件3】
        string amounts = null;

        //用info和_BPMContext.ProcID是否为空来判断是打开的拟稿还是新打开的有什么区别

        //如果为null或者为空时,则为新打开的页面,新打开页面的amount值
        if (_BPMContext.ProcID == null || _BPMContext.ProcID == "")
        {
            amounts = HttpContext.Current.Request["amount"];
        }
        //如果不为null,则为打开的拟稿
        else
        {
            PaymentApplicationInfo info = PaymentApplication.GetPaymentApplicationInfo(FormId);
            amounts = info.Amount;
        }
        //是否在计划内【条件4】
        string isInPlan = cblIsInPan.SelectedItem.Value;



        NameValueCollection dataFields = new NameValueCollection();
        Department          deptInfo   = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(startDeptId);
        string CompanyCode             = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        StringBuilder firstFieldBuilder = new StringBuilder();

        foreach (ListItem item in cbRelatonUsers.Items)
        {
            if (item.Selected)
            {
                firstFieldBuilder.AppendFormat("K2:Founder\\{0},", item.Value);
            }
        }
        string firstField = firstFieldBuilder.ToString().Trim(',');

        dataFields.Add("RelatedPersonnel", !string.IsNullOrEmpty(firstField) ? firstField : "noapprovers");

        bool flag = true;//标记datafields内的变量是否均赋值

        //验证部分步骤的审批人是否尚未配置
        if (string.IsNullOrEmpty(GetRoleUsers(deptInfo.DepartCode, "部门负责人")))
        {
            flag = false;
            Alert(Page, "发起部门负责人尚未配置!");
        }
        List <string> countersigns = Countersign1.Result.Split(',').ToList();

        foreach (var item in countersigns)
        {
            if (!string.IsNullOrEmpty(item))
            {
                if (string.IsNullOrEmpty(GetRoleUsers(item, "部门负责人")))
                {
                    flag = false;
                    Alert(Page, item + "会签部门负责人尚未配置!");
                }
            }
        }
        string financialManagementDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(deptInfo.DepartCode, "财务管理部");

        if (string.IsNullOrEmpty(financialManagementDepartmentCode))
        {
            flag = false;
            Alert(Page, "财务管理部尚未设置!");
        }
        else
        {
            string financialManagementDepartmentInfoManager = GetRoleUsers(financialManagementDepartmentCode, "部门负责人");
            if (string.IsNullOrEmpty(financialManagementDepartmentInfoManager))
            {
                flag = false;
                Alert(Page, "财务管理部门负责人尚未配置!");
            }
            //else
            //{
            //    if (string.IsNullOrEmpty(GetRoleUsers(financialManagementDepartmentInfo.DepartCode, "主管副总裁")))
            //    {
            //        flag = false;
            //        Alert(Page, "财务管理部门主管副总裁尚未配置!");
            //    }
            //}
        }
        if (string.IsNullOrEmpty(GetRoleUsers(CompanyCode, "总裁")))
        {
            flag = false;
            Alert(Page, "公司总裁尚未配置!");
        }
        if (string.IsNullOrEmpty(GetRoleUsers(PKURGICode, "总裁")))
        {
            flag = false;
            Alert(Page, "集团总裁尚未配置!");
        }
        StringBuilder leaders      = new StringBuilder();
        StringBuilder Viceleaders  = new StringBuilder();
        StringBuilder deptsofGroup = new StringBuilder();

        StringBuilder leaderofgroup      = new StringBuilder();
        StringBuilder AssistantPresident = new StringBuilder();
        StringBuilder VicePresident      = new StringBuilder();

        countersigns.Add(startDeptId);
        foreach (var item in countersigns)
        {
            string leadersTmp = GetRoleUsers(item, "主管助理总裁");
            if (!leaders.ToString().Contains(leadersTmp))
            {
                leaders.AppendFormat("{0},", leadersTmp);
            }
            string ViceleadersTmp = GetRoleUsers(item, "主管副总裁");
            if (!Viceleaders.ToString().Contains(ViceleadersTmp))
            {
                Viceleaders.AppendFormat("{0},", ViceleadersTmp);
            }
            string deptsofGroupTmp = GetRoleDepts(item, "集团主管部门");
            if (!deptsofGroup.ToString().Contains(deptsofGroupTmp))
            {
                deptsofGroup.AppendFormat("{0},", deptsofGroupTmp);
            }
        }

        //集团审批人员
        if (cblisoverCotract.Checked)
        {
            foreach (var item in deptsofGroup.ToString().Trim(',').Split(','))
            {
                string leaderofgroupTmp = GetRoleUsers(item, "部门负责人");
                if (!leaderofgroup.ToString().Contains(leaderofgroupTmp))
                {
                    leaderofgroup.AppendFormat("{0},", leaderofgroupTmp);
                }
                string AssistantPresidentTmp = GetRoleUsers(item, "主管助理总裁");
                if (!AssistantPresident.ToString().Contains(AssistantPresidentTmp))
                {
                    AssistantPresident.AppendFormat("{0},", AssistantPresidentTmp);
                }
                string VicePresidentTmp = GetRoleUsers(item, "主管副总裁");
                if (!VicePresident.ToString().Contains(VicePresidentTmp))
                {
                    VicePresident.AppendFormat("{0},", VicePresidentTmp);
                }
            }
            dataFields.Add("CEOGroup", FilterDataField2(GetRoleUsers(PKURGICode, "总裁")));
            dataFields.Add("VicePresident", FilterDataField2(VicePresident));
            dataFields.Add("AssistantPresident", FilterDataField2(AssistantPresident));
            dataFields.Add("leadersofgroup", FilterDataField2(leaderofgroup));
        }

        if (cbChairman.Checked)
        {
            dataFields.Add("chairman", FilterDataField2(GetRoleUsers(CompanyCode, "董事长")));
        }
        else
        {
            dataFields.Add("chairman", "noapprovers");
        }
        string CQCompanyCode = "S374";
        string CPDeptCode    = "S366-S976-S219";
        string JSDeptCode    = "S366-S976-S782";
        string SCKFDeptCode  = "S366-S976-S860";

        //如果是重庆公司或者是北京北大资源物业公司,则进行判断
        if (StartDeptId.Contains(CQCompanyCode) || StartDeptId.Contains(CPDeptCode) || StartDeptId.Contains(JSDeptCode) || StartDeptId.Contains(SCKFDeptCode))
        {
            //判断“分管副总裁”“分管财务副总裁”“总裁”需要审批还是不需要审批
            int grade = ERP_PaymentApplication_Grade.GetERP_PaymentApplication_GradeInfo(type, startDeptName, isInPlan, amounts);
            //如果grade为别的值,则抛出异常
            if (grade == -1)
            {
                //throw new InvalidDataException("输入的参数不正确!");
                grade = 111;
            }

            //分管财务副总裁审批
            dataFields.Add("financialManagementViceleaders", (grade - (grade / 100 * 100)) / 10 == 1 ? this.FilterDataField2(GetRoleUsers(financialManagementDepartmentCode, "主管副总裁")) : "noapprovers");
            //分管副总裁审批【因为总是会审批,所以不需要进行grade的判断】
            if ((grade / 100) == 1)
            {
                dataFields.Add("Viceleaders", this.FilterDataField2(Viceleaders));
                dataFields.Add("leaders", this.FilterDataField2(leaders));
            }
            //总裁审批
            dataFields.Add("CEO", (grade - (grade / 100 * 100) - ((grade - grade / 100 * 100) / 10 * 10)) == 1 ? this.FilterDataField2(GetRoleUsers(CompanyCode, "总裁")) : "noapprovers");
        }
        else
        {
            //分管财务副总裁审批
            dataFields.Add("financialManagementViceleaders", FilterDataField2(GetRoleUsers(financialManagementDepartmentCode, "主管副总裁")));
            //分管副总裁审批
            dataFields.Add("Viceleaders", this.FilterDataField2(Viceleaders));
            dataFields.Add("leaders", this.FilterDataField2(leaders));
            //总裁审批
            dataFields.Add("CEO", FilterDataField2(GetRoleUsers(CompanyCode, "总裁")));
        }

        dataFields.Add("StandingViceCEO", FilterDataField2(GetRoleUsers(CompanyCode, "常务副总裁")));


        dataFields.Add("financialManagement", FilterDataField2(GetRoleUsers(financialManagementDepartmentCode, "部门负责人")));
        dataFields.Add("CounterSignUsers", Countersign1.GetCounterSignUsers());
        dataFields.Add("DeptManager", GetRoleUsers(deptInfo.DepartCode, "部门负责人"));
        dataFields.Add("IsOverContract", cblisoverCotract.Checked ? "1" : "0");
        dataFields.Add("IsPass", "1");

        if (!flag)
        {
            dataFields = null;
        }
        return(dataFields);
    }
Esempio n. 11
0
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        NameValueCollection dataFields = new NameValueCollection();

        BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment();

        //动态获取待定
        string     startDeptId = ddlDepartName.SelectedItem.Value;
        Department deptInfo    = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(startDeptId);
        string     CompanyCode = BPMHelp.GetCompanyCodeByDeptID(startDeptId);

        DataTable DeptManager       = bfurd.GetSelectRoleUser(startDeptId, "部门负责人");
        DataTable CityCompanyLeader = bfurd.GetSelectRoleUser(CompanyCode, "集采城市公司负责人");
        DataTable JCFirstApproval   = bfurd.GetSelectRoleUser(CGDeptCode, "集采初审员");
        DataTable Designer          = bfurd.GetSelectRoleUser(YFSJDeptCode, "部门负责人");
        DataTable ProjectOperator   = bfurd.GetSelectRoleUser(XMYYDeptCode, "部门负责人");
        DataTable JCReApproval      = bfurd.GetSelectRoleUser(CGDeptCode, "集采复审员");
        DataTable Purchaser         = bfurd.GetSelectRoleUser(CGDeptCode, "部门负责人");
        DataTable COO             = bfurd.GetSelectRoleUser(XMYYDeptCode, "部门负责人");
        DataTable JCMakeOrder     = bfurd.GetSelectRoleUser(CGDeptCode, "集采初审员");
        DataTable JCFinalApproval = bfurd.GetSelectRoleUser(CGDeptCode, "集采复审员");

        //绑定datafields
        bool flag = true;//标记datafields内的变量是否均赋值

        if (string.IsNullOrEmpty(tbOrderType.Text.ToString()))
        {
            flag = false;
            Alert(Page, "订单类型不可为空");
        }
        else
        {
            dataFields.Add("OrderType", tbOrderType.Text.ToString());
        }
        if (string.IsNullOrEmpty(tbOrderID.Text.ToString()))
        {
            flag = false;
            Alert(Page, "订单编号不可为空");
        }
        else
        {
            dataFields.Add("OrderID", tbOrderID.Text.ToString());
        }
        //城市公司部门负责人
        if (DeptManager != null && DeptManager.Rows.Count > 0)
        {
            dataFields.Add("DeptManager", "K2:Founder\\" + DeptManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "您所在部门负责人 尚未配置!");
        }

        if (string.IsNullOrEmpty(Countersign1.GetCounterSignUsers()))
        {
            flag = false;
            Alert(Page, "相关部门会签必须选择“合约审算部”!");
        }
        else
        {
            dataFields.Add("CounterSignUsers", Countersign1.GetCounterSignUsers());
        }
        //城市公司负责人
        if (CityCompanyLeader != null && CityCompanyLeader.Rows.Count > 0)
        {
            dataFields.Add("CityCompanyLeader", "K2:Founder\\" + CityCompanyLeader.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "您所在公司负责人 尚未配置!");
        }

        //集采初审
        if (JCFirstApproval != null && JCFirstApproval.Rows.Count > 0)
        {
            dataFields.Add("JCFirstApproval", "K2:Founder\\" + JCFirstApproval.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团采购管理部初审 尚未配置!");
        }

        //研发设计
        if (Designer != null && Designer.Rows.Count > 0)
        {
            dataFields.Add("Designer", "K2:Founder\\" + Designer.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团研发设计部负责人 尚未配置!");
        }

        //项目运营
        if (ProjectOperator != null && ProjectOperator.Rows.Count > 0)
        {
            dataFields.Add("ProjectOperator", "K2:Founder\\" + ProjectOperator.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团项目运营部负责人 尚未配置");
        }

        //集采复审
        if (JCReApproval != null && JCReApproval.Rows.Count > 0)
        {
            dataFields.Add("JCReApproval", "K2:Founder\\" + JCReApproval.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团采购管理部复审 尚未配置!");
        }

        //采购负责人
        if (Purchaser != null && Purchaser.Rows.Count > 0)
        {
            dataFields.Add("Purchaser", "K2:Founder\\" + Purchaser.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团采购管理部负责人 尚未配置!");
        }

        //COO
        if (COO != null && COO.Rows.Count > 0)
        {
            dataFields.Add("COO", "K2:Founder\\" + COO.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团COO 尚未配置!");
        }

        //集采下单
        if (JCMakeOrder != null && JCMakeOrder.Rows.Count > 0)
        {
            dataFields.Add("JCMakeOrder", "K2:Founder\\" + JCMakeOrder.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团采购管理部下单 尚未配置!");
        }

        //集采复核
        if (JCFinalApproval != null && JCFinalApproval.Rows.Count > 0)
        {
            dataFields.Add("JCFinalApproval", "K2:Founder\\" + JCFinalApproval.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团采购管理部复审 尚未配置!");
        }
        if (!flag)
        {
            dataFields = null;
        }
        return(dataFields);
    }
Esempio n. 12
0
    private string SaveWFParams()
    {
        XmlDocument xmldoc      = new XmlDocument();
        XmlElement  xmleLeaders = xmldoc.CreateElement("Leaders");

        xmldoc.AppendChild(xmleLeaders);
        List <string> ApproverList = new List <string>();
        string        LeaderTemp   = string.Empty;
        List <string> countersigns = Countersign1.Result.Split(',').ToList();
        string        CompanyCode  = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        if (this.cbChairman.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "董事长");
            XmlElement xmleChairman = xmldoc.CreateElement("Chairman");
            xmleLeaders.AppendChild(xmleChairman);
            xmleChairman.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbPresident.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "总裁");
            XmlElement xmlePresident = xmldoc.CreateElement("President");
            xmleLeaders.AppendChild(xmlePresident);
            xmlePresident.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbEVP.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "常务副总裁");
            XmlElement xmleEVP = xmldoc.CreateElement("EVP");
            xmleLeaders.AppendChild(xmleEVP);
            xmleEVP.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        if (this.cbCFO.Checked)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "主管财务领导");
            XmlElement xmleCFO = xmldoc.CreateElement("CFO");
            xmleLeaders.AppendChild(xmleCFO);
            xmleCFO.SetAttribute("ID", LeaderTemp);
            ApproverList.Add(LeaderTemp);
        }
        countersigns.Add(StartDeptId);
        if (cbVP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlVP = xmldoc.CreateElement("VicePresident");
            xmleLeaders.AppendChild(xmlVP);
            foreach (var item in countersigns)
            {
                string LeaderVPTemp = GetRoleUsers(item, "主管副总裁");
                if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp))
                {
                    ApproverList.Add(LeaderVPTemp);
                    LeaderTemp += LeaderVPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlVP.SetAttribute("ID", LeaderTemp);
        }
        if (cbAP.Checked)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlAP = xmldoc.CreateElement("AssiPresident");
            xmleLeaders.AppendChild(xmlAP);
            foreach (var item in countersigns)
            {
                string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁");
                if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp))
                {
                    ApproverList.Add(LeaderAPTemp);
                    LeaderTemp += LeaderAPTemp + ",";
                }
            }
            LeaderTemp = LeaderTemp.TrimEnd(',');
            xmlAP.SetAttribute("ID", LeaderTemp);
        }

        if (cblDirectors.SelectedIndex != -1)
        {
            LeaderTemp = string.Empty;
            XmlElement xmlDirectors = xmldoc.CreateElement("Directors");
            xmleLeaders.AppendChild(xmlDirectors);

            for (int i = 0; i < cblDirectors.Items.Count; i++)
            {
                if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value))
                {
                    ApproverList.Add(cblDirectors.Items[i].Value);
                    LeaderTemp += cblDirectors.Items[i].Value + ",";
                }
            }
            xmlDirectors.SetAttribute("ID", LeaderTemp);
        }
        countersigns.Remove(StartDeptId);
        if (!string.IsNullOrEmpty(Countersign1.Result))
        {
            LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers());
            XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers");
            xmleLeaders.AppendChild(xmleCountersign);
            xmleCountersign.SetAttribute("ID", LeaderTemp);
        }

        if (1 == 1)
        {
            LeaderTemp = GetRoleUsers(CompanyCode, "流程审核人");
            XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor");
            xmleLeaders.AppendChild(xmleWorkflowAuditor);
            xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp);
        }

        if (cbDeptManager.Checked == true)
        {
            LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人");
            XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager");
            xmleLeaders.AppendChild(xmleDeptManager);
            xmleDeptManager.SetAttribute("ID", LeaderTemp);
        }

        lblApprovers.Text = xmleLeaders.OuterXml;
        return(lblApprovers.Text);
    }