/// <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); }
/// <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() + ")审核"; } }
/// <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); }
/// <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); }
/// <summary> /// 初始化CheckBoxList /// </summary> private void InitCheckBoxList() { BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment(); string PresidentOfficeCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "总办会"); DataTable dtLeaders = bfurd.GetSelectRoleUser(PresidentOfficeCode, "部门成员"); foreach (DataRow user in dtLeaders.Rows) { ListItem li = new ListItem(); li.Value = "K2:Founder\\" + user["LoginName"].ToString(); li.Text = user["EmployeeName"].ToString(); if (!cblDirectors.Items.Contains(li)) { cblDirectors.Items.Add(li); } } if (!string.IsNullOrEmpty(Request.QueryString["id"])) { XmlDocument xmldoc = new XmlDocument(); ContractAuditOfEToIInfo formDataInfo = Aitems.Get(FormID); if (!string.IsNullOrEmpty(formDataInfo.LeadersSelected)) { xmldoc.LoadXml(formDataInfo.LeadersSelected); } //其他董事意见【其他总办会领导意见】 XmlNode NodeLeaders = xmldoc.SelectSingleNode("//Directors"); if (NodeLeaders != null && NodeLeaders.Attributes["ID"].Value.Length > 0) { foreach (string UserGuid in NodeLeaders.Attributes["ID"].Value.Split(',')) { for (int i = 0; i < cblDirectors.Items.Count; i++) { if (cblDirectors.Items[i].Value == UserGuid) { cblDirectors.Items[i].Selected = true; } } } } //董事长意见 XmlNode NodeChairman = xmldoc.SelectSingleNode("//Chairman"); if (NodeChairman != null && NodeChairman.Attributes["ID"].Value != "noapprovers") { cbChairman.Checked = true; } //总裁意见 XmlNode NodePresident = xmldoc.SelectSingleNode("//President"); if (NodePresident != null && NodePresident.Attributes["ID"].Value != "noapprovers") { cbPresident.Checked = true; } XmlNode NodeEVP = xmldoc.SelectSingleNode("//EVP"); if (NodeEVP != null && NodeEVP.Attributes["ID"].Value != "noapprovers") { cbEVP.Checked = true; } XmlNode NodeCFO = xmldoc.SelectSingleNode("//CFO"); if (NodeCFO != null && NodeCFO.Attributes["ID"].Value != "noapprovers") { cbCFO.Checked = true; } //相关部门主管副副总裁 XmlNode NodeVP = xmldoc.SelectSingleNode("//VicePresident"); if (NodeVP != null && NodeVP.Attributes["ID"].Value != "noapprovers") { cbVP.Checked = true; } //相关部门主管助理总裁 XmlNode NodeAP = xmldoc.SelectSingleNode("//AssiPresident"); if (NodeAP != null && NodeAP.Attributes["ID"].Value != "noapprovers") { cbAP.Checked = true; } } else { for (int i = 0; i < cblDirectors.Items.Count; i++) { cblDirectors.Items[i].Selected = false; } } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }