/// <summary> /// 设置流程参数 /// </summary> /// <returns></returns> private NameValueCollection SetWFParams() { NameValueCollection dataFields = new NameValueCollection(); string LeaderTemp; string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId); string GroupAuditor = ""; if (cbDoorManager.Checked) { GroupAuditor = "入户门审核员"; } else if (cbPaintManager.Checked) { GroupAuditor = "涂料审核员"; } else if (cbJJuManager.Checked) { GroupAuditor = "洁具审核员"; } LeaderTemp = GetRoleUsers(CGDeptCode, "主管副总裁"); dataFields.Add("GroupLeader", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(CGDeptCode, "部门负责人"); dataFields.Add("GroupDeptManager", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(XMYYDeptCode, "部门副总经理"); dataFields.Add("GroupProjectLeader", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(CGDeptCode, "集采复审员"); dataFields.Add("GroupDeptLeader", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(CGDeptCode, GroupAuditor); dataFields.Add("GroupAuditor", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(CGDeptCode, "集采复审员"); dataFields.Add("GroupReviewer", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(CompanyCode, "总裁"); dataFields.Add("President", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人"); dataFields.Add("DeptManager", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); dataFields.Add("CounterSignUsers", string.IsNullOrEmpty(LeaderTemp) ? "noapprovers" : LeaderTemp); dataFields.Add("IsPass", "1"); return(dataFields); }
/// <summary> /// 保存审批人员参数 /// </summary> private string SaveWFParams() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; List <string> countersigns = Countersign1.Result.Split(',').ToList(); bool flag = true;//标记 if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "董事长"))) { flag = false; Alert(Page, "董事长尚未配置!"); } if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "总裁"))) { flag = false; Alert(Page, "公司总经理尚未配置!"); } if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "流程审核人"))) { flag = false; Alert(Page, "流程审核人尚未配置!"); } if (this.cbChairman.Checked) { LeaderTemp = GetRoleUsers(GroupCode, "董事长"); XmlElement xmleChairman = xmldoc.CreateElement("Chairman"); xmleLeaders.AppendChild(xmleChairman); xmleChairman.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbPresident.Checked) { LeaderTemp = GetRoleUsers(GroupCode, "总裁"); XmlElement xmlePresident = xmldoc.CreateElement("President"); xmleLeaders.AppendChild(xmlePresident); xmlePresident.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode) { countersigns.Add(StartDeptId); } if (cbVP.Checked) { LeaderTemp = string.Empty; XmlElement xmlVP = xmldoc.CreateElement("VicePresident"); xmleLeaders.AppendChild(xmlVP); foreach (var item in countersigns) { string LeaderVPTemp = GetRoleUsers(item, "主管副总裁"); if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp)) { ApproverList.Add(LeaderVPTemp); LeaderTemp += LeaderVPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlVP.SetAttribute("ID", LeaderTemp); } if (cbAP.Checked) { LeaderTemp = string.Empty; XmlElement xmlAP = xmldoc.CreateElement("AssiPresident"); xmleLeaders.AppendChild(xmlAP); foreach (var item in countersigns) { string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁"); if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp)) { ApproverList.Add(LeaderAPTemp); LeaderTemp += LeaderAPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlAP.SetAttribute("ID", LeaderTemp); } if (cblDirectors.SelectedIndex != -1) { LeaderTemp = string.Empty; XmlElement xmlDirectors = xmldoc.CreateElement("Directors"); xmleLeaders.AppendChild(xmlDirectors); for (int i = 0; i < cblDirectors.Items.Count; i++) { if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value)) { ApproverList.Add(cblDirectors.Items[i].Value); LeaderTemp += cblDirectors.Items[i].Value + ","; } } xmlDirectors.SetAttribute("ID", LeaderTemp); } countersigns.Remove(StartDeptId); if (!string.IsNullOrEmpty(Countersign1.Result)) { LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers"); xmleLeaders.AppendChild(xmleCountersign); xmleCountersign.SetAttribute("ID", LeaderTemp); } if (1 == 1) { LeaderTemp = GetRoleUsers(GroupCode, "流程审核人"); XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor"); xmleLeaders.AppendChild(xmleWorkflowAuditor); xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp); } if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode) { LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人"); XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager"); xmleLeaders.AppendChild(xmleDeptManager); xmleDeptManager.SetAttribute("ID", LeaderTemp); } if (!flag) { lblApprovers.Text = null; } else { lblApprovers.Text = xmleLeaders.OuterXml; } return(lblApprovers.Text); }
/// <summary> /// 保存流程参数 /// </summary> /// <returns></returns> private string SaveWFParams() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; List <string> countersigns = Countersign1.Result.Split(',').ToList(); string LawDeptCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部"); string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId); //需要去重,所以顺序从后向前 //董事长意见 if (this.cbChairman.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "董事长"); XmlElement xmleChairman = xmldoc.CreateElement("Chairman"); xmleLeaders.AppendChild(xmleChairman); xmleChairman.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } //总裁意见 if (this.cbPresident.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "总裁"); XmlElement xmlePresident = xmldoc.CreateElement("President"); xmleLeaders.AppendChild(xmlePresident); xmlePresident.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbEVP.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "常务副总裁"); XmlElement xmleEVP = xmldoc.CreateElement("EVP"); xmleLeaders.AppendChild(xmleEVP); xmleEVP.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbCFO.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "主管财务领导"); XmlElement xmleCFO = xmldoc.CreateElement("CFO"); xmleLeaders.AppendChild(xmleCFO); xmleCFO.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } //相关部门主管副副总裁 countersigns.Add(StartDeptId); countersigns.Add(LawDeptCode); if (cbVP.Checked) { LeaderTemp = string.Empty; XmlElement xmlVP = xmldoc.CreateElement("VicePresident"); xmleLeaders.AppendChild(xmlVP); foreach (var item in countersigns) { string LeaderVPTemp = GetRoleUsers(item, "主管副总裁"); if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp)) { ApproverList.Add(LeaderVPTemp); LeaderTemp += LeaderVPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlVP.SetAttribute("ID", LeaderTemp); } //相关部门主管助理总裁 if (cbAP.Checked) { LeaderTemp = string.Empty; XmlElement xmlAP = xmldoc.CreateElement("AssiPresident"); xmleLeaders.AppendChild(xmlAP); foreach (var item in countersigns) { string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁"); if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp)) { ApproverList.Add(LeaderAPTemp); LeaderTemp += LeaderAPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlAP.SetAttribute("ID", LeaderTemp); } //其他董事意见【其他总办会领导意见】 if (cblDirectors.SelectedIndex != -1) { LeaderTemp = string.Empty; XmlElement xmlDirectors = xmldoc.CreateElement("Directors"); xmleLeaders.AppendChild(xmlDirectors); for (int i = 0; i < cblDirectors.Items.Count; i++) { if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value)) { ApproverList.Add(cblDirectors.Items[i].Value); LeaderTemp += cblDirectors.Items[i].Value + ","; } } xmlDirectors.SetAttribute("ID", LeaderTemp); } //会签【相关部门意见】 countersigns.Remove(StartDeptId); if (!string.IsNullOrEmpty(Countersign1.Result)) { LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers"); xmleLeaders.AppendChild(xmleCountersign); xmleCountersign.SetAttribute("ID", LeaderTemp); } lblApprovers.Text = xmleLeaders.OuterXml; return(lblApprovers.Text); }
/// <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); }
/// <summary> /// 设置流程参数 /// </summary> /// <returns></returns> private NameValueCollection SetWFParams() { NameValueCollection dataFields = new NameValueCollection(); XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); List <string> ApproverList = new List <string>();//所有参与审批的用户列表,用来避免重复审批,已存在用户不再传入 string GroupCode = System.Configuration.ConfigurationManager.AppSettings["GroupCode"]; string startDeptId = ddlDepartName.SelectedItem.Value; string LeaderTemp = string.Empty; bool flag = true;//标记 if (string.IsNullOrEmpty(GetRoleUsers(startDeptId, "部门负责人"))) { flag = false; Alert(Page, "发起部门负责人尚未配置!"); } List <string> countersigns = Countersign1.Result.Split(',').ToList(); foreach (var item in countersigns) { if (!string.IsNullOrEmpty(item)) { if (string.IsNullOrEmpty(GetRoleUsers(item, "部门负责人"))) { flag = false; Department countetDept = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(item); Alert(Page, countetDept.Remark + "部门负责人尚未配置!"); } } } if (string.IsNullOrEmpty(GetRoleUsers(GroupCode, "总裁"))) { flag = false; Alert(Page, "集团CEO尚未配置!"); } if (this.cbChairman.Checked) { LeaderTemp = FilterDataField2(GetRoleUsers(GroupCode, "董事长")); XmlElement xmleChairman = xmldoc.CreateElement("Chairman"); xmleLeaders.AppendChild(xmleChairman); xmleChairman.SetAttribute("ID", LeaderTemp); } else { LeaderTemp = "noapprovers"; } dataFields.Add("Chairman", LeaderTemp); if (1 == 1) { LeaderTemp = FilterDataField2(GetRoleUsers(GroupCode, "总裁")); XmlElement xmleCEO = xmldoc.CreateElement("CEO"); xmleLeaders.AppendChild(xmleCEO); xmleCEO.SetAttribute("ID", LeaderTemp); } dataFields.Add("CEO", LeaderTemp); if (cblTopLeaders.SelectedIndex != -1) { LeaderTemp = string.Empty; XmlElement xmlTopLeaders = xmldoc.CreateElement("TopLeaders"); xmleLeaders.AppendChild(xmlTopLeaders); for (int i = 0; i < cblTopLeaders.Items.Count; i++) { if (cblTopLeaders.Items[i].Selected && !ApproverList.Contains(cblTopLeaders.Items[i].Value)) { ApproverList.Add(cblTopLeaders.Items[i].Value); LeaderTemp += cblTopLeaders.Items[i].Value + ","; } } xmlTopLeaders.SetAttribute("ID", LeaderTemp); } else { LeaderTemp = "noapprovers"; } dataFields.Add("TopLeaders", LeaderTemp); if (!string.IsNullOrEmpty(Countersign1.Result)) { LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); XmlElement xmleCountersign = xmldoc.CreateElement("Countersign"); xmleLeaders.AppendChild(xmleCountersign); xmleCountersign.SetAttribute("ID", LeaderTemp); } else { LeaderTemp = string.Empty; } dataFields.Add("CounterSignUsers", LeaderTemp); if (1 == 1) { LeaderTemp = FilterDataField2(GetRoleUsers(startDeptId, "部门负责人")); XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager"); xmleLeaders.AppendChild(xmleDeptManager); xmleDeptManager.SetAttribute("ID", LeaderTemp); dataFields.Add("DeptManager", LeaderTemp); } strApprovers = xmleLeaders.OuterXml; if (!flag) { dataFields = null; } return(dataFields); }
/// <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> /// 设置流程参数 /// </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); }
private string SaveWFParams() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; List <string> countersigns = Countersign1.Result.Split(',').ToList(); //if (this.cbChairman.Checked) //{ // LeaderTemp = GetRoleUsers(GroupCode, "董事长"); // XmlElement xmleChairman = xmldoc.CreateElement("Chairman"); // xmleLeaders.AppendChild(xmleChairman); // xmleChairman.SetAttribute("ID", LeaderTemp); // ApproverList.Add(LeaderTemp); //} if (this.cbPresident.Checked) { LeaderTemp = GetRoleUsers(GroupCode, "总裁"); XmlElement xmlePresident = xmldoc.CreateElement("President"); xmleLeaders.AppendChild(xmlePresident); xmlePresident.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode) { countersigns.Add(StartDeptId); } if (cbVP.Checked) { LeaderTemp = string.Empty; XmlElement xmlVP = xmldoc.CreateElement("VicePresident"); xmleLeaders.AppendChild(xmlVP); foreach (var item in countersigns) { string LeaderVPTemp = GetRoleUsers(item, "主管副总裁"); if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp)) { ApproverList.Add(LeaderVPTemp); LeaderTemp += LeaderVPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlVP.SetAttribute("ID", LeaderTemp); } if (cbAP.Checked) { LeaderTemp = string.Empty; XmlElement xmlAP = xmldoc.CreateElement("AssiPresident"); xmleLeaders.AppendChild(xmlAP); foreach (var item in countersigns) { string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁"); if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp)) { ApproverList.Add(LeaderAPTemp); LeaderTemp += LeaderAPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlAP.SetAttribute("ID", LeaderTemp); } if (cblDirectors.SelectedIndex != -1) { LeaderTemp = string.Empty; XmlElement xmlDirectors = xmldoc.CreateElement("Directors"); xmleLeaders.AppendChild(xmlDirectors); for (int i = 0; i < cblDirectors.Items.Count; i++) { if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value)) { ApproverList.Add(cblDirectors.Items[i].Value); LeaderTemp += cblDirectors.Items[i].Value + ","; } } xmlDirectors.SetAttribute("ID", LeaderTemp); } countersigns.Remove(StartDeptId); if (!string.IsNullOrEmpty(Countersign1.Result)) { LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers"); xmleLeaders.AppendChild(xmleCountersign); xmleCountersign.SetAttribute("ID", LeaderTemp); } if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode) { LeaderTemp = FilterDataField2(GetRoleUsers(StartDeptId, "部门负责人")); XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager"); xmleLeaders.AppendChild(xmleDeptManager); xmleDeptManager.SetAttribute("ID", LeaderTemp); } if (StartDeptId.Substring(0, 4) == DutyFreeShopCode && cbDutyFreeManager.Checked == true) { LeaderTemp = GetRoleUsers(DutyFreeDeptCode, "部门负责人"); XmlElement xmleDutyFreeManagerr = xmldoc.CreateElement("DutyFreeManager"); xmleLeaders.AppendChild(xmleDutyFreeManagerr); xmleDutyFreeManagerr.SetAttribute("ID", LeaderTemp); } if (StartDeptId.Substring(0, 4) == DutyFreeShopCode && cblRelatedManager.SelectedIndex != -1) { LeaderTemp = string.Empty; XmlElement xmlRelatedManager = xmldoc.CreateElement("RelatedManager"); xmleLeaders.AppendChild(xmlRelatedManager); for (int i = 0; i < cblRelatedManager.Items.Count; i++) { if (cblRelatedManager.Items[i].Selected && !ApproverList.Contains(cblRelatedManager.Items[i].Value)) { ApproverList.Add(cblRelatedManager.Items[i].Value); LeaderTemp += cblRelatedManager.Items[i].Value + ","; } } xmlRelatedManager.SetAttribute("ID", LeaderTemp); } lblApprovers.Text = xmleLeaders.OuterXml; return(lblApprovers.Text); }
private string SaveWFParams() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; List <string> countersigns = Countersign1.Result.Split(',').ToList(); if (this.cbChairman.Checked) { LeaderTemp = GetRoleUsers(GroupCode, "董事长"); XmlElement xmleChairman = xmldoc.CreateElement("Chairman"); xmleLeaders.AppendChild(xmleChairman); xmleChairman.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbPresident.Checked) { LeaderTemp = GetRoleUsers(GroupCode, "总裁"); XmlElement xmlePresident = xmldoc.CreateElement("President"); xmleLeaders.AppendChild(xmlePresident); xmlePresident.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == GroupCode) { countersigns.Add(StartDeptId); } if (cbVP.Checked) { LeaderTemp = string.Empty; XmlElement xmlVP = xmldoc.CreateElement("VicePresident"); xmleLeaders.AppendChild(xmlVP); foreach (var item in countersigns) { string LeaderVPTemp = GetRoleUsers(item, "主管副总裁"); if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp)) { ApproverList.Add(LeaderVPTemp); LeaderTemp += LeaderVPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlVP.SetAttribute("ID", LeaderTemp); } if (cbAP.Checked) { LeaderTemp = string.Empty; XmlElement xmlAP = xmldoc.CreateElement("AssiPresident"); xmleLeaders.AppendChild(xmlAP); foreach (var item in countersigns) { string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁"); if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp)) { ApproverList.Add(LeaderAPTemp); LeaderTemp += LeaderAPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlAP.SetAttribute("ID", LeaderTemp); } countersigns.Remove(StartDeptId); if (!string.IsNullOrEmpty(Countersign1.Result)) { LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers"); xmleLeaders.AppendChild(xmleCountersign); xmleCountersign.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (1 == 1) { LeaderTemp = FilterDataField2(GetRoleUsers(StartDeptId, "部门负责人")); XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager"); xmleLeaders.AppendChild(xmleDeptManager); xmleDeptManager.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (1 == 1) { LeaderTemp = GetRoleUsers(GroupCode, "流程审核人"); XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor"); xmleLeaders.AppendChild(xmleWorkflowAuditor); xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp); } if (1 == 1) { LeaderTemp = GetRoleUsers(GroupCode, "公章管理员"); XmlElement xmleSealManager = xmldoc.CreateElement("SealManager"); xmleLeaders.AppendChild(xmleSealManager); xmleSealManager.SetAttribute("ID", LeaderTemp); } if (1 == 1) { LeaderTemp = GetRoleUsers(GroupOfficeCode, "部门负责人"); XmlElement xmleGroupOfficeManager = xmldoc.CreateElement("GroupOfficeManager"); xmleLeaders.AppendChild(xmleGroupOfficeManager); xmleGroupOfficeManager.SetAttribute("ID", LeaderTemp); } lblApprovers.Text = xmleLeaders.OuterXml; return(lblApprovers.Text); }
/// <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); 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); }
private string SaveWFParams() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; List <string> countersigns = Countersign1.Result.Split(',').ToList(); string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId); if (this.cbChairman.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "董事长"); XmlElement xmleChairman = xmldoc.CreateElement("Chairman"); xmleLeaders.AppendChild(xmleChairman); xmleChairman.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbPresident.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "总裁"); XmlElement xmlePresident = xmldoc.CreateElement("President"); xmleLeaders.AppendChild(xmlePresident); xmlePresident.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbEVP.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "常务副总裁"); XmlElement xmleEVP = xmldoc.CreateElement("EVP"); xmleLeaders.AppendChild(xmleEVP); xmleEVP.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } if (this.cbCFO.Checked) { LeaderTemp = GetRoleUsers(CompanyCode, "主管财务领导"); XmlElement xmleCFO = xmldoc.CreateElement("CFO"); xmleLeaders.AppendChild(xmleCFO); xmleCFO.SetAttribute("ID", LeaderTemp); ApproverList.Add(LeaderTemp); } countersigns.Add(StartDeptId); if (cbVP.Checked) { LeaderTemp = string.Empty; XmlElement xmlVP = xmldoc.CreateElement("VicePresident"); xmleLeaders.AppendChild(xmlVP); foreach (var item in countersigns) { string LeaderVPTemp = GetRoleUsers(item, "主管副总裁"); if (!string.IsNullOrEmpty(LeaderVPTemp) && !ApproverList.Contains(LeaderVPTemp)) { ApproverList.Add(LeaderVPTemp); LeaderTemp += LeaderVPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlVP.SetAttribute("ID", LeaderTemp); } if (cbAP.Checked) { LeaderTemp = string.Empty; XmlElement xmlAP = xmldoc.CreateElement("AssiPresident"); xmleLeaders.AppendChild(xmlAP); foreach (var item in countersigns) { string LeaderAPTemp = GetRoleUsers(item, "主管助理总裁"); if (!string.IsNullOrEmpty(LeaderAPTemp) && !ApproverList.Contains(LeaderAPTemp)) { ApproverList.Add(LeaderAPTemp); LeaderTemp += LeaderAPTemp + ","; } } LeaderTemp = LeaderTemp.TrimEnd(','); xmlAP.SetAttribute("ID", LeaderTemp); } if (cblDirectors.SelectedIndex != -1) { LeaderTemp = string.Empty; XmlElement xmlDirectors = xmldoc.CreateElement("Directors"); xmleLeaders.AppendChild(xmlDirectors); for (int i = 0; i < cblDirectors.Items.Count; i++) { if (cblDirectors.Items[i].Selected && !ApproverList.Contains(cblDirectors.Items[i].Value)) { ApproverList.Add(cblDirectors.Items[i].Value); LeaderTemp += cblDirectors.Items[i].Value + ","; } } xmlDirectors.SetAttribute("ID", LeaderTemp); } countersigns.Remove(StartDeptId); if (!string.IsNullOrEmpty(Countersign1.Result)) { LeaderTemp = FilterDataField2(Countersign1.GetCounterSignUsers()); XmlElement xmleCountersign = xmldoc.CreateElement("CounterSignUsers"); xmleLeaders.AppendChild(xmleCountersign); xmleCountersign.SetAttribute("ID", LeaderTemp); } if (1 == 1) { LeaderTemp = GetRoleUsers(CompanyCode, "流程审核人"); XmlElement xmleWorkflowAuditor = xmldoc.CreateElement("WorkflowAuditor"); xmleLeaders.AppendChild(xmleWorkflowAuditor); xmleWorkflowAuditor.SetAttribute("ID", LeaderTemp); } if (cbDeptManager.Checked == true) { LeaderTemp = GetRoleUsers(StartDeptId, "部门负责人"); XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager"); xmleLeaders.AppendChild(xmleDeptManager); xmleDeptManager.SetAttribute("ID", LeaderTemp); } lblApprovers.Text = xmleLeaders.OuterXml; return(lblApprovers.Text); }