コード例 #1
0
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        var info = BizContext.HR_InternEmploy.FirstOrDefault(x => x.FormID == FormId);

        StartDeptId = info.InternDeptCode;
        //string startDeptId = _BPMContext.CurrentUser.MainDeptId;
        string HRDepartmentCode         = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "人力资源部");
        string CompanyCode              = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField:ActJumped,HRManager,Interviewer,IsPass,StaffingDeptManager
        ///自动生成
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = HRDepartmentCode, RoleName = "面试负责人", Name = "Interviewer"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "StaffingDeptManager"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = HRDepartmentCode, RoleName = "部门负责人", Name = "HRManager"
        });


        return(dfInfos);
    }
コード例 #2
0
ファイル: E_OA_SealOfEWY.aspx.cs プロジェクト: zhangwxyc/BPM
    /// <summary>
    /// 初始化领导名称
    /// </summary>
    private void InitLeader()
    {
        string CompanyCode            = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        string GeneralDeptCode        = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "综合管理部");
        BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment();
        DataTable dtDeptManager       = bfurd.GetSelectRoleUser(StartDeptId, "部门负责人");
        DataTable dtPresident         = bfurd.GetSelectRoleUser(CompanyCode, "总经理");
        DataTable dtZHDeptManager     = bfurd.GetSelectRoleUser(GeneralDeptCode, "部门负责人");

        if (dtDeptManager.Rows.Count != 0)
        {
            lbDeptManager.Text = "(" + dtDeptManager.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        else
        {
            lbDeptManager.Text = "";
        }
        if (dtPresident.Rows.Count != 0)
        {
            lbPresident.Text = "(" + dtPresident.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        if (dtZHDeptManager.Rows.Count != 0)
        {
            lbZHDeptManager.Text = "(" + dtZHDeptManager.Rows[0]["EmployeeName"].ToString() + ")审核";
        }
    }
コード例 #3
0
    /// <summary>
    /// 初始化领导
    /// </summary>
    private void InitLeader()
    {
        string CompanyCode            = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment();
        DataTable dtDeptManager       = bfurd.GetSelectRoleUser(StartDeptId, "部门负责人");
        DataTable dtEVP       = bfurd.GetSelectRoleUser(CompanyCode, "常务副总裁");
        DataTable dtCFO       = bfurd.GetSelectRoleUser(CompanyCode, "主管财务领导");
        DataTable dtPresident = bfurd.GetSelectRoleUser(CompanyCode, "总裁");
        DataTable dtChairman  = bfurd.GetSelectRoleUser(CompanyCode, "董事长");

        if (dtDeptManager.Rows.Count != 0)
        {
            lbDeptManager.Text = "(" + dtDeptManager.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        if (dtCFO.Rows.Count != 0)
        {
            lbCFO.Text = "(" + dtCFO.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        else
        {
            lbCFO.Text = "尚未配置";
        }
        if (dtEVP.Rows.Count != 0)
        {
            lbEVP.Text = "(" + dtEVP.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        if (dtPresident.Rows.Count != 0)
        {
            lbPresident.Text = "(" + dtPresident.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        if (dtChairman.Rows.Count != 0)
        {
            lbChairman.Text = "(" + dtChairman.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
    }
コード例 #4
0
ファイル: A_OA_SealOfEWY.aspx.cs プロジェクト: zhangwxyc/BPM
    //WF_WorkFlowInstance wf_WorkFlowInstance = new WF_WorkFlowInstance();
    //BFApprovalRecord bfApproval = new BFApprovalRecord();

    #region 执行过程中更新参数

    /// <summary>
    /// 执行过程中更新参数
    /// </summary>
    private void UpdateWFParams()
    {
        string CompanyCode             = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        NameValueCollection dataFields = new NameValueCollection();

        if (K2_TaskItem.ActivityInstanceDestination.Name == "部门负责人意见")
        {
            if (cbVP.Checked)
            {
                dataFields.Add("VicePresident", Workflow_Common.GetRoleUsers(StartDeptId + "," + Countersign1.Result, "主管副总经理"));
            }
            else
            {
                dataFields.Add("VicePresident", "noapprovers");
            }
            if (cbPresident.Checked)
            {
                dataFields.Add("VicePresident", Workflow_Common.GetRoleUsers(CompanyCode, "总经理"));
            }
            else
            {
                dataFields.Add("President", "noapprovers");
            }
        }

        if (dataFields.Count != 0 && !string.IsNullOrEmpty(_BPMContext.Sn))
        {
            WorkflowHelper.UpdateDataFields(_BPMContext.Sn, dataFields, _BPMContext.CurrentUser.ApprovalUser);
        }
    }
コード例 #5
0
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        var info = BizContext.HR_EmployeeLeft.FirstOrDefault(x => x.FormID == FormId);

        StartDeptId = info.DeptID;
        //string startDeptId = _BPMContext.CurrentUser.MainDeptId;
        string CompanyCode              = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        string HRDepartmentCode         = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "人力资源部");
        string Employee                 = info.LoginName;
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField:ActJumped,Employee,HRInterface,HRManager,IsPass,RelatedDeptInterface,RelatedDeptManager,StaffingDeptManager
        ///自动生成
        if (cbEmployee.Checked == true)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Employee, Name = "Employee"
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "Employee"
            });
        }
        if (cbDeptManager.Checked == true)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = StartDeptId, RoleName = "部门负责人", Name = "StaffingDeptManager"
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "StaffingDeptManager"
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "离职流程相关部门接口人", Name = "RelatedDeptInterface"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "离职流程相关部门负责人", Name = "RelatedDeptManager"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "离职流程人力接口人", Name = "HRInterface"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = HRDepartmentCode, RoleName = "部门负责人", Name = "HRManager"
        });
        return(dfInfos);
    }
コード例 #6
0
    private void InitLeader()
    {
        string CompanyCode            = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment();
        DataTable dtDeptManager       = bfurd.GetSelectRoleUser(StartDeptId, "部门负责人");
        DataTable dtPresident         = bfurd.GetSelectRoleUser(CompanyCode, "总裁");
        DataTable dtCGDeptManager     = bfurd.GetSelectRoleUser(CGDeptCode, "部门负责人");
        DataTable dtDoorManager       = bfurd.GetSelectRoleUser(CGDeptCode, "入户门审核员");
        DataTable dtPaintManager      = bfurd.GetSelectRoleUser(CGDeptCode, "涂料审核员");
        DataTable dtJJuManager        = bfurd.GetSelectRoleUser(CGDeptCode, "洁具审核员");
        DataTable dtProjectDiretor    = bfurd.GetSelectRoleUser(XMYYDeptCode, "部门副总经理");
        DataTable dtPurchaseDiretor   = bfurd.GetSelectRoleUser(CGDeptCode, "集采复审员");
        DataTable dtGroupLeader       = bfurd.GetSelectRoleUser(CGDeptCode, "主管副总裁");

        if (dtDeptManager.Rows.Count != 0)
        {
            lbDeptManager.Text = "(" + dtDeptManager.Rows[0]["EmployeeName"].ToString() + ")审核";
        }
        if (dtPresident.Rows.Count != 0)
        {
            lbPresident.Text = "(" + dtPresident.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
        if (dtCGDeptManager.Rows.Count != 0)
        {
            lbGroupDeptManager.Text = "(" + dtCGDeptManager.Rows[0]["EmployeeName"].ToString() + ")审核";
        }
        if (dtDoorManager.Rows.Count != 0)
        {
            cbDoorManager.Text = "选择 " + dtDoorManager.Rows[0]["EmployeeName"].ToString() + "(入户门)";
        }
        if (dtPaintManager.Rows.Count != 0)
        {
            cbPaintManager.Text = "选择 " + dtPaintManager.Rows[0]["EmployeeName"].ToString() + "(涂料)";
        }
        if (dtJJuManager.Rows.Count != 0)
        {
            cbJJuManager.Text = "选择 " + dtJJuManager.Rows[0]["EmployeeName"].ToString() + "(洁具)";
        }
        if (dtProjectDiretor.Rows.Count != 0)
        {
            lbProjectDiretor.Text = "(" + dtProjectDiretor.Rows[0]["EmployeeName"].ToString() + ")审核";
        }
        if (dtPurchaseDiretor.Rows.Count != 0)
        {
            lbPurchaseDiretor.Text = "(" + dtPurchaseDiretor.Rows[0]["EmployeeName"].ToString() + ")审核";
        }
        if (dtGroupLeader.Rows.Count != 0)
        {
            lbGroupLeader.Text = "(" + dtGroupLeader.Rows[0]["EmployeeName"].ToString() + ")审批";
        }
    }
コード例 #7
0
    private void BindFormData()
    {
        try
        {
            InstructionOfPKURGIInfo obj = Eitems.Get(ViewState["FormID"].ToString());

            lbIsReport.Text = string.IsNullOrEmpty(obj.RelatedFormID) ? "0" : "1";
            if (lbIsReport.Text == "0")
            {
                ListItem item = ddlDepartName.Items.FindByValue(obj.DeptCode);
                if (item != null)
                {
                    ddlDepartName.SelectedIndex = ddlDepartName.Items.IndexOf(item);
                }
            }
            else
            {
                ddlDepartName.Items.Clear();
                string     CompanyCode = BPMHelp.GetCompanyCodeByDeptID(obj.DeptCode);
                Department deptInfo    = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(CompanyCode);

                ListItem item = new ListItem {
                    Text = deptInfo.DepartName, Value = CompanyCode
                };
                ddlDepartName.Items.Add(item);
                ddlDepartName.Enabled = false;
            }
            tbReportCode.Text              = obj.FormID;
            tbUserName.Text                = obj.UserName;
            tbMobile.Text                  = obj.Mobile;
            tbTitle.Text                   = obj.Title;
            tbContent.Text                 = obj.Content;
            UpdatedTextBox.Value           = !string.IsNullOrEmpty(obj.DateTime) ? obj.DateTime : DateTime.Now.ToShortDateString();
            cblSecurityLevel.SelectedValue = obj.SecurityLevel != null?obj.SecurityLevel.ToString() : "-1";

            cblUrgenLevel.SelectedValue = obj.UrgenLevel != null?obj.UrgenLevel.ToString() : "-1";

            cbIsReport.Checked = obj.IsReport == "1" ? true : false;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
コード例 #8
0
    private void LoadRelationPerson()
    {
        StringBuilder           showUsers = new StringBuilder();
        BFPmsUserRoleDepartment bfurd     = new BFPmsUserRoleDepartment();

        cbRelatonUsers.Items.Clear();
        if (ddlDepartName.Items.Count == 0)
        {
            //showUsers.Append("没有配置相关角色");
            //cbPayer.Enabled = false;
        }
        else
        {
            string     startDeptId = ddlDepartName.SelectedItem.Value;
            Department deptInfo    = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(startDeptId);
            string     CompanyCode = BPMHelp.GetCompanyCodeByDeptID(startDeptId);
            DataTable  dtDept      = bfurd.GetSelectRoleUser(CompanyCode, "付款申请工程师");
            if (dtDept != null && dtDept.Rows.Count != 0)
            {
                foreach (DataRow rowItem in dtDept.Rows)//EmployeeCode
                {
                    //showUsers.AppendFormat("{0},", rowItem["EmployeeName"].ToString());

                    cbRelatonUsers.Items.Add(new ListItem()
                    {
                        Text  = rowItem["EmployeeName"].ToString(),
                        Value = rowItem["LoginName"].ToString()
                    });
                }
                // showUsers.Append("选择相关人员意见");
                //cbPayer.Enabled = true;
                //cbPayer.Text = string.Format("相关人员({0})", showUsers.ToString().Trim(','));
                //return;
            }
            else
            {
                // showUsers.Append("没有配置相关角色");
                // cbPayer.Enabled = false;
            }
        }
        // cbPayer.Text = showUsers.ToString();
    }
コード例 #9
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);
    }
コード例 #10
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);
    }
コード例 #11
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);
    }
コード例 #12
0
    /// <summary>
    /// 绑定表单数据
    /// </summary>
    private void BindFormDate()
    {
        try
        {
            //根据formid得到合同表单数据
            ContractAuditOfEToGInfo obj = Eitems.Get(ViewState["FormID"].ToString());
            lbIsReport.Text = string.IsNullOrEmpty(obj.RelatedFormID) ? "0" : "1";
            if (lbIsReport.Text == "0")
            {
                ListItem item = ddlDepartName.Items.FindByValue(obj.DeptCode);
                if (item != null)
                {
                    ddlDepartName.SelectedIndex = ddlDepartName.Items.IndexOf(item);
                }
            }
            else
            {
                ddlDepartName.Items.Clear();
                string     CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
                Department deptInfo    = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(CompanyCode);

                ListItem item = new ListItem {
                    Text = deptInfo.DepartName, Value = CompanyCode
                };
                ddlDepartName.Items.Add(item);
                ddlDepartName.Enabled = false;
            }

            //保存数据
            tbReportCode.Text    = obj.FormID;
            tbUserName.Text      = obj.UserName;
            tbMobile.Text        = obj.Mobile;
            UpdatedTextBox.Value = obj.DateTime;
            //合同类型
            ListItem li1 = ddlContractType1.Items.FindByValue(obj.ContractType1);
            if (li1 != null)
            {
                li1.Selected = true;
            }
            ddlContractType2.DataSource     = ContractTypeInfosHelper.GetSecondContractTypeInfos(ddlContractType1.SelectedItem.Value);
            ddlContractType2.DataTextField  = "value";
            ddlContractType2.DataValueField = "key";
            ddlContractType2.DataBind();

            ListItem li2 = ddlContractType2.Items.FindByValue(obj.ContractType2);
            if (li2 != null)
            {
                li2.Selected = true;
            }
            if (ddlContractType2.SelectedItem != null)
            {
                ddlContractType3.DataSource     = ContractTypeInfosHelper.GetThirdContractTypeInfos(ddlContractType2.SelectedItem.Value);
                ddlContractType3.DataTextField  = "value";
                ddlContractType3.DataValueField = "key";
                ddlContractType3.DataBind();
                ListItem li3 = ddlContractType3.Items.FindByValue(obj.ContractType3);
                if (li3 != null)
                {
                    li3.Selected = true;
                }
            }

            tbContractSum.Text = obj.ContractSum;
            cblIsSupplementProtocol.SelectedValue = obj.IsSupplementProtocol;
            tbSupplementProtocol.Text             = obj.IsSupplementProtocolText;
            cblIsFormatContract.SelectedValue     = obj.IsFormatContract;
            cblIsNormText.SelectedValue           = obj.IsNormText;
            cblIsBidding.SelectedValue            = obj.IsBidding;
            cblIsEstateProject.SelectedValue      = obj.IsEstateProject;
            ddlEstateProjectName.SelectedValue    = obj.EstateProjectName;
            ddlEstateProjectNum.SelectedValue     = obj.EstateProjectNum;
            //合同主体
            ddlContractSubject.SelectedValue = obj.ContractSubject;
            tbContractSubject1.Text          = obj.ContractSubjectName2;
            tbContractSubject2.Text          = obj.ContractSubjectName3;
            tbContractSubject3.Text          = obj.ContractSubjectName4;

            tbContractTitle.Text           = obj.ContractTitle;
            tbContractContent.Text         = obj.ContractContent;
            cblSecurityLevel.SelectedIndex = int.Parse(obj.SecurityLevel.ToString());
            cblUrgenLevel.SelectedIndex    = int.Parse(obj.UrgenLevel.ToString());
            cbIsReport.Checked             = obj.IsReport == "1" ? true : false;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
コード例 #13
0
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        //起始部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "StartDeptManager", IsHaveToExsit = true
        });
        //相关部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers", RoleName = "部门负责人", DeptCode = Countersign1.Result, IsRepeatIgnore = true, IsHaveToExsit = true
        });
        //集团相关部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers_Group", RoleName = "部门负责人", DeptCode = Countersign_Group1.Result, IsHaveToExsit = true
        });
        //执行主任,如果是集团授权,则执行主任为noapprovers,反之则为ExecutiveDirector
        if (cblIsImpowerProject.SelectedItem.Value == "1")
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "ExecutiveDirector", IsHaveToExsit = false
            });
        }
        else
        {
            string directors = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(directors), Name = "ExecutiveDirector", IsHaveToExsit = true
            });
        }
        //招标委员会成员和招标委员会主任(集团授权,需要判断是一级开发还是二级开发)
        if (cblFirstLevel.SelectedIndex == 0)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员(一级)", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "TenderCommitteeChairman", IsHaveToExsit = true
        });

        //集团招标委员会成员和集团招标委员会主任(非集团授权项目)

        string leaders = Workflow_Common.GetRoleUsersWithNoApproval(CompanyCode, "招标委员会主任") + "," + Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "招标委员会成员").Trim(',');

        dfInfos.Add(new K2_DataFieldInfo()
        {
            Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
        });

        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true
        });
        return(dfInfos);
    }
コード例 #14
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);
    }
コード例 #15
0
    /// <summary>
    /// 初始化表单数据 使用linq
    /// </summary>
    protected override void InitFormData()
    {
        try
        {
            ///加载业务数据
            ///通过formid得到表单信息
            Pkurg.PWorldBPM.Business.BIZ.OA_ContractOfWY info = BizContext.OA_ContractOfWY.FirstOrDefault(x => x.FormID == FormId);

            lbIsReport.Text = string.IsNullOrEmpty(info.RelatedFormID) ? "0" : "1";
            if (lbIsReport.Text == "0")
            {
                ListItem item = ddlDepartName.Items.FindByValue(info.DeptCode);
                if (item != null)
                {
                    ddlDepartName.SelectedIndex = ddlDepartName.Items.IndexOf(item);
                }
            }
            else
            {
                ddlDepartName.Items.Clear();
                string     CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
                Department deptInfo    = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(CompanyCode);

                ListItem item = new ListItem {
                    Text = deptInfo.DepartName, Value = CompanyCode
                };
                ddlDepartName.Items.Add(item);
                ddlDepartName.Enabled = false;
            }

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


                //读取已保存的数据
                tbReportCode.Text = info.FormID;
                cblSecurityLevel.SelectedIndex = int.Parse(info.SecurityLevel.ToString());
                cblUrgenLevel.SelectedIndex    = int.Parse(info.UrgenLevel.ToString());
                ddlDepartName.SelectedValue    = info.DeptName;
                tbDateTime.Text                  = info.DateTime;
                UpdatedTextBox.Value             = info.DateTime;
                tbUserName.Text                  = info.UserName;
                tbMobile.Text                    = info.Mobile;
                cblIsReportToWY.SelectedValue    = info.IsReportToWY;
                cblIsReportToGroup.SelectedValue = info.IsReportToGroup;
                //合同类型
                ListItem li1 = ddlContractType1.Items.FindByValue(info.ContractType1);
                if (li1 != null)
                {
                    li1.Selected = true;
                }
                ddlContractType2.DataSource     = ContractTypeInfosHelper.GetSecondContractTypeInfos1(ddlContractType1.SelectedItem.Value);
                ddlContractType2.DataTextField  = "value";
                ddlContractType2.DataValueField = "key";
                ddlContractType2.DataBind();

                ListItem li2 = ddlContractType2.Items.FindByValue(info.ContractType2);
                if (li2 != null)
                {
                    li2.Selected = true;
                }
                if (ddlContractType2.SelectedItem != null)
                {
                    ddlContractType3.DataSource     = ContractTypeInfosHelper.GetThirdContractTypeInfos1(ddlContractType2.SelectedItem.Value);
                    ddlContractType3.DataTextField  = "value";
                    ddlContractType3.DataValueField = "key";
                    ddlContractType3.DataBind();
                    ListItem li3 = ddlContractType3.Items.FindByValue(info.ContractType3);
                    if (li3 != null)
                    {
                        li3.Selected = true;
                    }
                }

                tbContractSum.Text = info.ContractSum;
                cblIsSupplementProtocol.SelectedValue = info.IsSupplementProtocol;
                tbSupplementProtocol.Text             = info.IsSupplementProtocolText;
                cblIsFormatContract.SelectedValue     = info.IsFormatContract;
                cblIsNormText.SelectedValue           = info.IsNormText;
                cblIsBidding.SelectedValue            = info.IsBidding;
                //合同主体
                ddlContractSubject.SelectedValue = info.ContractSubject;
                tbContractSubject1.Text          = info.ContractSubjectName2;
                tbContractSubject2.Text          = info.ContractSubjectName3;
                tbContractSubject3.Text          = info.ContractSubjectName4;

                tbContractTitle.Text   = info.ContractTitle;
                tbContractContent.Text = info.ContractContent;

                InitCheckBoxList(info.LeadersSelected);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
コード例 #16
0
ファイル: E_OA_SealOfEWY.aspx.cs プロジェクト: zhangwxyc/BPM
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        string CompanyCode     = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        string GeneralDeptCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "综合管理部");

        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        if (true)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = StartDeptId, RoleName = "部门负责人", Name = "DeptManager"
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "DeptManager"
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = Countersign1.Result, Name = "CounterSignUsers", RoleName = "部门负责人",
        });
        if (cbVP.Checked)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = StartDeptId + "," + Countersign1.Result, RoleName = "主管副总经理", Name = "VicePresident"
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "VicePresident"
            });
        }
        if (cbPresident.Checked)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "总经理", Name = "President"
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "President"
            });
        }

        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = GeneralDeptCode, RoleName = "部门负责人", Name = "SealDeptManager"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "公章管理员", Name = "SealManager"
        });

        return(dfInfos);
    }
コード例 #17
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        CompanyCode  = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        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);
        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);
        }
        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 (!flag)
        {
            lblApprovers.Text = null;
        }
        else
        {
            lblApprovers.Text = xmleLeaders.OuterXml;
        }
        return(lblApprovers.Text);
    }
コード例 #18
0
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        //合约审算部,大部分子公司都叫做合约审算部,只有三四家公司叫做审算部,天津公司叫做运营审算部

        string HYDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "合约审算部");

        //在此需要定义三个datefield,再进行判断
        if (HYDepartmentCode == null)
        {
            HYDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "审算部");
            if (HYDepartmentCode == null)
            {
                HYDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "运营审算部");
            }
        }

        string CGDepartmentCode       = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "招标采购部");
        string FWDepartmentCode       = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");
        string CGManageDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "采购管理部");
        string XMFZDepartmentCode     = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "项目发展部");
        string GHSJDepartmentCode     = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "规划设计部");
        //三个不同的名称,需要判断
        string YXCHDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "营销策划部");

        if (YXCHDepartmentCode == null)
        {
            YXCHDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "营销管理部");
            if (YXCHDepartmentCode == null)
            {
                YXCHDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "产业发展部");
            }
        }
        string GCGLDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "工程管理部");

        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField
        //经办部门负责人
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "StartDeptManager", IsHaveToExsit = true
        });

        //合约审算部门负责人
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = HYDepartmentCode, RoleName = "部门负责人", Name = "ContractReviewDeptManager", IsHaveToExsit = true
        });


        //分管领导部门意见:发起部门和合约审算部的主管副总裁和主管助理总裁
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId + "," + HYDepartmentCode, RoleName = "主管助理总裁,主管副总裁", Name = "ChargeAssistantCEO", IsHaveToExsit = false
        });
        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = StartDeptId + "," + HYDepartmentInfo.DepartCode, RoleName = "", Name = "ChargeVP", IsHaveToExsit = false });

        //集团主管部门意见【发起部门和合约审算部对应的集团主管部门的部门负责人】
        //现在改为营销策划部,研发设计部,以及项目运营部
        StringBuilder deptsofGroup = new StringBuilder();

        //foreach (var item in (StartDeptId + "," + HYDepartmentInfo.DepartCode).Split(',').ToList())
        //{
        //    string deptsofGroupTmp = Workflow_Common.GetRoleDepts(item, "集团主管部门");
        //    if (!deptsofGroup.ToString().Contains(deptsofGroupTmp))
        //    {
        //        deptsofGroup.AppendFormat("{0},", deptsofGroupTmp);
        //    }
        //}

        foreach (ListItem item in cbGroupRealateDept.Items)
        {
            if (item.Selected)
            {
                deptsofGroup.AppendFormat("{0},", item.Value);
            }
        }
        if (string.IsNullOrEmpty(deptsofGroup.ToString()))
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupCompetentDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = deptsofGroup.ToString(), RoleName = "部门负责人", Name = "GroupCompetentDeptManager", IsHaveToExsit = false
            });
        }

        //相关部门意见【招标采购部和法务部部门负责人】
        //根据选项判断法务部还是采购部,最好采用forech
        StringBuilder relateDepts = new StringBuilder();

        //foreach (ListItem item in cbRealateDept.Items)
        //{
        //    if (item.Selected)
        //    {
        //        relateDepts.AppendFormat("{0},", item.Value);
        //    }
        //}
        //采购管理部
        relateDepts.AppendFormat("{0},", CGDepartmentCode);
        //法务部
        relateDepts.AppendFormat("{0},", FWDepartmentCode);

        if (cbRealateDept.Items[2].Selected)
        {
            //规划设计部
            relateDepts.AppendFormat("{0},", GHSJDepartmentCode);
        }
        if (cbRealateDept.Items[3].Selected)
        {
            //项目发展部
            relateDepts.AppendFormat("{0},", XMFZDepartmentCode);
        }
        if (cbRealateDept.Items[4].Selected)
        {
            //合约审算部
            relateDepts.AppendFormat("{0},", HYDepartmentCode);
        }
        if (cbRealateDept.Items[5].Selected)
        {
            //营销策划部
            relateDepts.AppendFormat("{0},", YXCHDepartmentCode);
        }
        if (cbRealateDept.Items[6].Selected)
        {
            //工程管理部
            relateDepts.AppendFormat("{0},", GCGLDepartmentCode);
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = relateDepts.ToString().Trim(','), RoleName = "部门负责人", Name = "RealateDeptManager", IsHaveToExsit = true
        });

        //集团采购管理部
        //string DepartmentId = "B04-D319-S541";

        if (!cbGroupPurchaseDept.Items[0].Selected)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupPurchaseDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CGDeptCode, RoleName = "部门负责人", Name = "GroupPurchaseDeptManager", IsHaveToExsit = false
            });
        }
        //招标委员会成员和招标委员会主任(集团授权,需要判断是一级开发还是二级开发)
        //判断,如果是集团授权,则招委会以及招委会主任正常,不是集团授权则招委会为“执行主任+招委会主任”,招委会主任为noapprovers
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        //如果是集团授权,则由城市公司招标委员会审批(不变)
        if (cblIsImpowerProject.SelectedItem.Value == "1")
        {
            //城市公司招标委员会
            if (cblFirstLevel.SelectedIndex == 0)
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = CompanyCode, RoleName = "招标委员会成员(一级)", Name = "TenderCommitteeManager", IsHaveToExsit = true
                });
            }
            else
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = CompanyCode, RoleName = "招标委员会成员", Name = "TenderCommitteeManager", IsHaveToExsit = true
                });
            }
            //城市公司招标委员会主任
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "TenderCommitteeChairman", IsHaveToExsit = true
            });
        }
        //不是集团授权,则需要上报集团,招标委员会为城市公司招委会主任,招标委员会主任为执行主任【刘锦泉】
        else
        {
            //招标委员会
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
            });
            //招标委员会主任
            string leaders = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true
            });
        }
        //集团招标委员会成员和集团招标委员会主任(非集团授权项目)
        //string groupId = "B04-D319";

        //string directors =Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
        //dfInfos.Add(new K2_DataFieldInfo() { Result = Workflow_Common.FilterDataField(directors), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true });

        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true });
        return(dfInfos);
    }
コード例 #19
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);
    }
コード例 #20
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);
    }
コード例 #21
0
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        //string groupId = "B04-D319";

        string FWDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");
        string CompanyCode      = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        //string startDeptId = _BPMContext.CurrentUser.MainDeptId;

        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField:ActJumped,,,,,,,,,CounterSignNum,CounterSignUsers,,,IsOverContract,IsPass,,,,
        ///自动生成
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "DeptManager", IsHaveToExsit = true
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers", RoleName = "部门负责人", DeptCode = Countersign1.Result, IsRepeatIgnore = true, IsHaveToExsit = true, OrderId = 5
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = FWDepartmentCode, RoleName = "部门负责人", Name = "CityLawDeptManager", IsHaveToExsit = true, IsRepeatIgnore = true, OrderId = 4
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = Countersign1.Result + string.Format(",{0},{1},", StartDeptId, FWDepartmentCode), RoleName = "主管助理总裁", Name = "CityAssistLeaders", IsHaveToExsit = false, IsRepeatIgnore = true, OrderId = 3
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = Countersign1.Result + string.Format(",{0},{1},", StartDeptId, FWDepartmentCode), RoleName = "主管副总裁", Name = "CityViceLeaders", IsHaveToExsit = false, IsRepeatIgnore = true, OrderId = 2
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "总裁", Name = "CityCEO", IsHaveToExsit = true, OrderId = 1
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "董事长", Name = "CityChairman", IsHaveToExsit = false
        });

        //StringBuilder deptsofGroup = new StringBuilder();

        //foreach (var item in (Countersign1.Result + string.Format("{0},", StartDeptId)).Split(',').ToList())
        //{
        //    string deptsofGroupTmp = Workflow_Common.GetRoleDepts(item, "集团主管部门");
        //    if (!deptsofGroup.ToString().Contains(deptsofGroupTmp))
        //    {
        //        deptsofGroup.AppendFormat("{0},", deptsofGroupTmp);
        //    }
        //}
        //string groupLawDept = "B04-D319-S496";

        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = deptsofGroup.ToString().Trim(','), RoleName = "部门负责人", Name = "GroupLeaders" ,  IsHaveToExsit = true});

        //dfInfos.Add(new K2_DataFieldInfo() { Name = "CounterSignUsers_Group", Result = Countersign_Group1.GetCounterSignUsers(), IsHaveToExsit = true });

        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers_Group", RoleName = "部门负责人", DeptCode = Countersign_Group1.Result, IsHaveToExsit = true
        });

        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = FWDeptCode, RoleName = "总监", Name = "LawDeptManager"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = Countersign_Group1.Result, RoleName = "主管助理总裁", Name = "AssistLeaders"
        });


        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = "", RoleName = "部门负责人", Name = "LawLeaders"
        });                                                                                            //集团主管法务领导跳过,代码保留
        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = groupLawDept, RoleName = "部门负责人", Name = "LawLeaders"});//集团主管法务领导


        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = Countersign_Group1.Result, RoleName = "主管副总裁", Name = "ViceLeaders"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "总裁", Name = "CEO"
        });
        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = "", RoleName = "流程发起人", Name = "" });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = FWDepartmentCode, RoleName = "部门负责人", Name = "CityLawDeptManager2"
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "公章管理员", Name = "Stamper", IsHaveToExsit = true
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "档案管理员", Name = "Archiver", IsHaveToExsit = true,
        });


        return(dfInfos);
    }
コード例 #22
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     EDeptCode   = BPMHelp.GetDeptIDByOtherIDAndName(startDeptId, "工程管理部");
        string     FDeptCode   = BPMHelp.GetDeptIDByOtherIDAndName(startDeptId, "财务管理部");
        string     LADeptCode  = BPMHelp.GetDeptIDByOtherIDAndName(startDeptId, "法务部");

        DataTable DeptDirector       = bfurd.GetSelectRoleUser(startDeptId, "总监");
        DataTable DeptAssiManager    = bfurd.GetSelectRoleUser(startDeptId, "助理总经理");
        DataTable DeptManager        = bfurd.GetSelectRoleUser(startDeptId, "部门负责人");
        DataTable EngineeringAuditor = bfurd.GetSelectRoleUser(EDeptCode, "租赁合同审核员");
        DataTable EngineeringManager = bfurd.GetSelectRoleUser(EDeptCode, "部门负责人");
        DataTable FinanceAuditor     = bfurd.GetSelectRoleUser(FDeptCode, "租赁合同审核员");
        DataTable FinanceManager     = bfurd.GetSelectRoleUser(FDeptCode, "部门负责人");
        DataTable LAAuditor          = bfurd.GetSelectRoleUser(LADeptCode, "租赁合同审核员");
        DataTable LegalAffairManager = bfurd.GetSelectRoleUser(LADeptCode, "部门负责人");
        DataTable President          = bfurd.GetSelectRoleUser(CompanyCode, "总裁");

        DataTable GroupCREManager     = bfurd.GetSelectRoleUser(SYDCDeptCode, "部门负责人");
        DataTable GroupFinanceManager = bfurd.GetSelectRoleUser(CWDeptCode, "部门负责人");
        DataTable GroupLADirector     = bfurd.GetSelectRoleUser(FWDeptCode, "副总经理");
        DataTable GroupLAManager      = bfurd.GetSelectRoleUser(FWDeptCode, "部门负责人");
        DataTable GroupPresident      = bfurd.GetSelectRoleUser(PKURGICode, "总裁");

        List <string> VicePresidentList = new List <string>();
        List <string> GroupAPList       = new List <string>();
        List <string> GroupVPList       = new List <string>();

        VicePresidentList.Add(GetRoleUsers(EDeptCode, "主管副总裁"));
        if (!VicePresidentList.Contains(GetRoleUsers(FDeptCode, "主管副总裁")))
        {
            VicePresidentList.Add(GetRoleUsers(FDeptCode, "主管副总裁"));
        }
        if (!VicePresidentList.Contains(GetRoleUsers(LADeptCode, "主管副总裁")))
        {
            VicePresidentList.Add(GetRoleUsers(LADeptCode, "主管副总裁"));
        }
        GroupAPList.Add(GetRoleUsers(SYDCDeptCode, "主管助理总裁"));
        if (!GroupAPList.Contains(GetRoleUsers(CWDeptCode, "主管助理总裁")))
        {
            GroupAPList.Add(GetRoleUsers(CWDeptCode, "主管助理总裁"));
        }
        if (!GroupAPList.Contains(GetRoleUsers(FWDeptCode, "主管助理总裁")))
        {
            GroupAPList.Add(GetRoleUsers(FWDeptCode, "主管助理总裁"));
        }
        GroupVPList.Add(GetRoleUsers(SYDCDeptCode, "主管副总裁"));
        if (!GroupVPList.Contains(GetRoleUsers(CWDeptCode, "主管副总裁")))
        {
            GroupVPList.Add(GetRoleUsers(CWDeptCode, "主管副总裁"));
        }
        if (!GroupVPList.Contains(GetRoleUsers(FWDeptCode, "主管副总裁")))
        {
            GroupVPList.Add(GetRoleUsers(FWDeptCode, "主管副总裁"));
        }

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

        if (DeptDirector != null && DeptDirector.Rows.Count > 0)
        {
            dataFields.Add("DeptDirector", "K2:Founder\\" + DeptDirector.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("DeptDirector", "noapprovers");
        }
        if (DeptAssiManager != null && DeptAssiManager.Rows.Count > 0)
        {
            dataFields.Add("DeptAssiManager", "K2:Founder\\" + DeptAssiManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("DeptAssiManager", "noapprovers");
        }
        if (DeptManager != null && DeptManager.Rows.Count > 0)
        {
            dataFields.Add("DeptManager", "K2:Founder\\" + DeptManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "您所在部门负责人尚未配置!");
        }
        if (EngineeringAuditor != null && EngineeringAuditor.Rows.Count > 0)
        {
            dataFields.Add("EngineeringAuditor", "K2:Founder\\" + EngineeringAuditor.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("EngineeringAuditor", "noapprovers");
        }
        if (EngineeringManager != null && EngineeringManager.Rows.Count > 0)
        {
            dataFields.Add("EngineeringManager", "K2:Founder\\" + EngineeringManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "工程管理部负责人尚未配置!");
        }
        if (FinanceAuditor != null && FinanceAuditor.Rows.Count > 0)
        {
            dataFields.Add("FinanceAuditor", "K2:Founder\\" + FinanceAuditor.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("FinanceAuditor", "noapprovers");
        }
        if (FinanceManager != null && FinanceManager.Rows.Count > 0)
        {
            dataFields.Add("FinanceManager", "K2:Founder\\" + FinanceManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "财务管理部负责人尚未配置!");
        }
        if (LAAuditor != null && LAAuditor.Rows.Count > 0)
        {
            dataFields.Add("LAAuditor", "K2:Founder\\" + LAAuditor.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("LAAuditor", "noapprovers");
        }
        if (LegalAffairManager != null && LegalAffairManager.Rows.Count > 0)
        {
            dataFields.Add("LegalAffairManager", "K2:Founder\\" + LegalAffairManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "法务部负责人尚未配置!");
        }
        if (President != null && President.Rows.Count > 0)
        {
            dataFields.Add("President", "K2:Founder\\" + President.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "公司总裁尚未配置!");
        }
        if (GroupCREManager != null && GroupCREManager.Rows.Count > 0)
        {
            dataFields.Add("GroupCREManager", "K2:Founder\\" + GroupCREManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团商业地产管理部负责人尚未配置!");
        }
        if (GroupFinanceManager != null && GroupFinanceManager.Rows.Count > 0)
        {
            dataFields.Add("GroupFinanceManager", "K2:Founder\\" + GroupFinanceManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团财务管理部负责人尚未配置!");
        }
        if (GroupLADirector != null && GroupLADirector.Rows.Count > 0)
        {
            dataFields.Add("GroupLADirector", "K2:Founder\\" + GroupLADirector.Rows[0]["LoginName"].ToString());
        }
        else
        {
            dataFields.Add("GroupLADirector", "noapprovers");
        }
        if (GroupLAManager != null && GroupLAManager.Rows.Count > 0)
        {
            dataFields.Add("GroupLAManager", "K2:Founder\\" + GroupLAManager.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团法务部负责人尚未配置!");
        }
        if (GroupPresident != null && GroupPresident.Rows.Count > 0)
        {
            dataFields.Add("GroupPresident", "K2:Founder\\" + GroupPresident.Rows[0]["LoginName"].ToString());
        }
        else
        {
            flag = false;
            Alert(Page, "集团总裁尚未配置!");
        }
        dataFields.Add("VicePresident", FilterDataField2(VicePresidentList));
        dataFields.Add("GroupAP", FilterDataField2(GroupAPList));
        dataFields.Add("GroupVP", FilterDataField2(GroupVPList));

        dataFields.Add("BizType", tbBizType.Text.ToString());
        dataFields.Add("BizID", tbBizID.Text.ToString());
        if (cblModificationContract.SelectedIndex == 0 || cblSupplementContract.SelectedIndex == 0 || cblLesseeContract.SelectedIndex == 0 ||
            cblCompensationContract.SelectedIndex == 0 || cblDecorationContract.SelectedIndex == 0 || cblServiceContract.SelectedIndex == 0)
        {
            dataFields.Add("IsReport", "yes");
        }
        else
        {
            dataFields.Add("IsReport", tbApproveFlag.Text == "1" ? "yes" : "no");
        }
        if (!flag)
        {
            dataFields = null;
        }
        return(dataFields);
    }
コード例 #23
0
    /// <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);
    }
コード例 #24
0
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        string CGDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "招标采购部");
        string FWDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");


        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField
        //招标采购部
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CGDepartmentCode, RoleName = "部门负责人", Name = "TenderandPurchaseManage", IsHaveToExsit = false
        });
        //法务部
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = FWDepartmentCode, RoleName = "部门负责人", Name = "LegalDeptManager", IsHaveToExsit = false
        });

        //招标委员会成员和招标委员会主任(集团授权,需要判断是一级开发还是二级开发)
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        if (cblFirstLevel.SelectedIndex == 0)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员(一级)", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "TenderCommitteeChairman", IsHaveToExsit = true
        });
        //采购管理部
        //string DepartmentId = "B04-D319-S541";

        if (!cbGroupPurchaseDept.Items[0].Selected)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupTenderandPurchaseManage", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CGDeptCode, RoleName = "部门负责人", Name = "GroupTenderandPurchaseManage", IsHaveToExsit = false
            });
        }
        //集团法务部
        // string DepartmentId1 = "B04-D319-S496";
        if (!cbGroupLegalDept.Items[0].Selected)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupLegalDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = FWDeptCode, RoleName = "部门副总经理", Name = "GroupLegalDeptManager", IsHaveToExsit = false
            });
        }
        //执行主任    如果不上报集团,则执行主任为noapprovers,否则为执行主任
        if (StartDeptId.Contains("S363") || cblIsImpowerProject.SelectedItem.Value == "0")
        {
            string directors = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(directors), Name = "ExecutiveDirector", IsHaveToExsit = true
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "ExecutiveDirector", IsHaveToExsit = false
            });
        }
        //集团招标委员会成员和集团招标委员会主任(非集团授权项目)
        //string groupId = "B04-D319";
        //如果是集团发起的,则招委会只是招委会成员
        if (StartDeptId.Contains("S363"))
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = PKURGICode, RoleName = "招标委员会成员", Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
            });
        }
        else
        {
            string leaders = Workflow_Common.GetRoleUsersWithNoApproval(CompanyCode, "招标委员会主任") + "," + Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "招标委员会成员").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true
        });

        return(dfInfos);
    }
コード例 #25
0
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        //string startDeptId = _BPMContext.CurrentUser.MainDeptId;
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        string WYGroupCode = System.Configuration.ConfigurationManager.AppSettings["WYGroupCode"];
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///自动生成
        if (!StartDeptId.Contains("S366-S976"))
        {
            /////分公司
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = StartDeptId, RoleName = "部门负责人", Name = "CityDeptManager"
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                RoleName = "部门负责人", Name = "CounterSignUsers", DeptCode = Countersign1.Result, IsRepeatIgnore = true, IsHaveToExsit = true
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = StartDeptId, RoleName = "主管副总经理", Name = "ViceLeader"
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "总裁", Name = "CityPresident"
            });
            if (cblIsReportToWY.SelectedItem.Value == "0")
            {
                //物业集团
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", RoleName = "部门负责人", Name = "DeptManager"
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    RoleName = "部门负责人", Name = "CounterSignUsers_Group", Result = "noapprovers", IsRepeatIgnore = true
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", RoleName = "主管助理总裁", Name = "AssiPresident"
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", RoleName = "主管副总裁", Name = "VicePresident"
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", RoleName = "总裁", Name = "President"
                });
            }
            else
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", RoleName = "部门负责人", Name = "DeptManager"
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    RoleName = "部门负责人", Name = "CounterSignUsers_Group", DeptCode = Countersign_Group1.Result, IsRepeatIgnore = true, IsHaveToExsit = true
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = Countersign_Group1.Result, RoleName = "主管助理总裁", Name = "AssiPresident"
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = Countersign_Group1.Result, RoleName = "主管副总裁", Name = "VicePresident"
                });
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = WYGroupCode, RoleName = "总裁", Name = "President"
                });
            }
        }
        else
        {
            /////分公司
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", RoleName = "部门负责人", Name = "CityDeptManager"
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                RoleName = "部门负责人", Name = "CounterSignUsers", Result = "noapprovers", IsRepeatIgnore = true
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", RoleName = "主管副总经理", Name = "ViceLeader"
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", RoleName = "总裁", Name = "CityPresident"
            });

            //物业集团
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = StartDeptId, RoleName = "部门负责人", Name = "DeptManager"
            });
            dfInfos.Add(new K2_DataFieldInfo()
            {
                RoleName = "部门负责人", Name = "CounterSignUsers_Group", DeptCode = Countersign_Group1.Result, IsRepeatIgnore = true, IsHaveToExsit = true
            });
            if (cbAP.Checked)
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = StartDeptId + "," + Countersign1.Result, RoleName = "主管助理总裁", Name = "AssiPresident"
                });
            }
            else
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", Name = "AssiPresident"
                });
            }
            if (cbVP.Checked)
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = StartDeptId + "," + Countersign1.Result, RoleName = "主管副总裁", Name = "VicePresident"
                });
            }
            else
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    Result = "noapprovers", Name = "VicePresident"
                });
            }
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = WYGroupCode, RoleName = "总裁", Name = "President"
            });
        }
        return(dfInfos);
    }
コード例 #26
0
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        //string startDeptId = _BPMContext.CurrentUser.MainDeptId;
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField:ActJumped,BusinessDocking,CEO,CityAssistLeaders,CityCEO,CityViceLeaders,CounterSignNum,CounterSignUsers,DeptManager,GroupViceLeaders,IsPass,ProjectOperationsDirector,ProjectOperationsVicePresident
        ///部门负责人
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "CityDeptManager", IsHaveToExsit = true
        });
        //相关部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers", RoleName = "部门负责人", DeptCode = Countersign1.Result, IsRepeatIgnore = true, IsHaveToExsit = true
        });
        //分管领导意见
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId + "," + CompanyCode, RoleName = "主管助理总裁", Name = "CityAssistLeaders", IsHaveToExsit = false
        });
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId + "," + CompanyCode, RoleName = "主管副总裁", Name = "CityViceLeaders", IsHaveToExsit = false
        });
        //城市公司总裁意见
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "总裁", Name = "CityPresident", IsHaveToExsit = true
        });


        var info = BizContext.ERP_ContractFinalAccount.FirstOrDefault(x => x.FormID == FormId);

        //如果审批层次为1,则城市公司总裁之后不审批,审批人为空,审批层次为2,3,4时,项目运营部审批
        //项目运营部
        //dfInfos.Add(info.ERPApproveLev < 2 ?
        //    new K2_DataFieldInfo() { Result = "noapprovers", RoleName = "部门成员", Name = "BusinessDocking", IsHaveToExsit = false }
        //    : new K2_DataFieldInfo() { DeptCode = XMYYDeptCode, RoleName = "部门成员", Name = "BusinessDocking", IsHaveToExsit = true }
        //    );
        dfInfos.Add(info.ERPApproveLev < 2 ?
                    new K2_DataFieldInfo()
        {
            Result = "noapprovers", RoleName = "部门副总经理", Name = "GroupVicePresident", IsHaveToExsit = false
        }
            : new K2_DataFieldInfo()
        {
            DeptCode = XMYYDeptCode, RoleName = "部门副总经理", Name = "GroupVicePresident", IsHaveToExsit = true
        }
                    );
        dfInfos.Add(info.ERPApproveLev < 2 ?
                    new K2_DataFieldInfo()
        {
            Result = "noapprovers", RoleName = "部门负责人", Name = "GroupDeptManager", IsHaveToExsit = false
        }
           : new K2_DataFieldInfo()
        {
            DeptCode = XMYYDeptCode, RoleName = "部门负责人", Name = "GroupDeptManager", IsHaveToExsit = true
        }
                    );
        //如果审批层次为3,4,集团分管领导审批
        //集团分管领导审核
        dfInfos.Add(info.ERPApproveLev < 3 ?
                    new K2_DataFieldInfo()
        {
            Result = "noapprovers", RoleName = "主管副总裁", Name = "GroupViceLeaders", IsHaveToExsit = false
        }
            : new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "主管副总裁", Name = "GroupViceLeaders", IsHaveToExsit = true
        });
        //如果审批层次为4,集团CEO审批
        //集团总裁
        dfInfos.Add(info.ERPApproveLev < 4 ?
                    new K2_DataFieldInfo()
        {
            Result = "noapprovers", RoleName = "总裁", Name = "GroupPresident", IsHaveToExsit = false
        }
            : new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "总裁", Name = "GroupPresident", IsHaveToExsit = true
        });
        return(dfInfos);
    }