/// <summary> /// 起始部门变化 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ddlDepartName_SelectedIndexChanged(object sender, EventArgs e) { Countersign1.CounterSignDeptId = ddlDepartName.SelectedItem.Value; Countersign1.Refresh(); InitLeader(); InitCheckBoxList(); }
public override void SetParams() { base.SetParams(); Countersign1.Submit(); //FlowParams.SetParams("leaders", @"founder\zhangweixing,founder\zybpmadmin");//分管领导 //return; string counterSignDeptIds = Countersign1.Result; StringBuilder leaders = new StringBuilder(); if (!string.IsNullOrEmpty(counterSignDeptIds)) { string[] deptIds = counterSignDeptIds.Split(','); foreach (var item in deptIds) { BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment(); DataTable dt = bfurd.GetSelectRoleUser(item, "主管领导"); foreach (DataRow dr in dt.Rows) { leaders.AppendFormat(@"Founder\{0},", dt.Rows[0]["LoginName"].ToString()); } } } FlowParams.SetParams("leaders", leaders.ToString().Trim(','));//分管领导 }
/// <summary> /// 提交 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Submit_Click(object sender, EventArgs e) { if (!VertifyOverTime()) { return; } if (!BeforeSubmit()) { return; } string id = ViewState["FormID"].ToString(); var dataInfo = SaveFormData(); Countersign1.SaveData(true);//会签数据保存 Countersign_Group1.SaveData(true); if (dataInfo != null) { uploadAttachments.SaveAttachment(FormId); // Countersign1.SaveAndSubmit();//会签数据保存 #region 工作流参数 NameValueCollection dataFields = SetWFParams(); if (dataFields == null) { return; } #endregion WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId; AppDict appInfo = new Pkurg.BPM.Services.AppDictService().GetByAppId("10109"); if (appInfo == null) { Alert("提交失败"); return; } int wfInstanceId = 0; //process instance id WorkflowHelper.StartProcess(appInfo.WorkFlowName, FormId, dataFields, ref wfInstanceId); if (wfInstanceId > 0) { string instId = SaveWorkFlowInstance("1", DateTime.Now, wfInstanceId.ToString()); if (!string.IsNullOrEmpty(instId)) { SaveWorkItem(); if (!AfterWorkflowStart(wfInstanceId)) { return; } IFrameHelper.DownloadLocalFileUrl(instId); ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功');window.opener.location.href=window.opener.location.href;", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", " window.opener=null;window.open('', '_self', '');window.close();", true); return; } } } Alert("提交失败"); }
private bool SaveWorkFlowInstance(string WfStatus, DateTime?SumitTime, string WfInstanceId) { bool result = false; WorkFlowInstance workFlowInstance = null; try { workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(FormId); bool isEdit = false; if (workFlowInstance == null) { workFlowInstance = new WorkFlowInstance(); workFlowInstance.InstanceId = Guid.NewGuid().ToString(); workFlowInstance.CreateAtTime = DateTime.Now; workFlowInstance.AppId = "10105"; workFlowInstance.CreateDeptCode = CurrentEmployee.DepartCode; workFlowInstance.CreateDeptName = CurrentEmployee.DepartName; workFlowInstance.CreateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.CreateByUserName = CurrentEmployee.EmployeeName; workFlowInstance.FormTitle = PaymentApplication_Common.GetErpFormTitle(this); _BPMContext.ProcID = workFlowInstance.InstanceId; } else { isEdit = true; workFlowInstance.UpdateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.UpdateByUserName = CurrentEmployee.EmployeeName; workFlowInstance.AppId = "10105"; } workFlowInstance.FormId = FormId; workFlowInstance.WfStatus = WfStatus; if (SumitTime != null) { workFlowInstance.SumitTime = SumitTime; } if (WfInstanceId != "") { workFlowInstance.WfInstanceId = WfInstanceId; } if (!isEdit) { result = wf_WorkFlowInstance.AddWorkFlowInstance(workFlowInstance); } else { result = wf_WorkFlowInstance.UpdateWorkFlowInstance(workFlowInstance); } FlowRelated1.ProcId = workFlowInstance.InstanceId; Countersign1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true);//会签数据保存 } catch (Exception ex) { throw ex; } return(result); }
public override void SaveFormData() { Countersign1.SaveData(); UploadAttachments1.SaveAttachment(SerialNumber); ProcName = tbTitle.Text; base.SaveFormData(); }
private bool SaveWorkFlowInstance(InstructionOfPKURGIInfo obj, string WfStatus, DateTime?SumitTime, string WfInstanceId) { bool result = false; WorkFlowInstance workFlowInstance = null; try { workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID); bool isEdit = false; if (workFlowInstance == null) { workFlowInstance = new WorkFlowInstance(); workFlowInstance.InstanceId = Guid.NewGuid().ToString(); workFlowInstance.CreateDeptCode = ddlDepartName.SelectedItem.Value.ToString(); workFlowInstance.CreateDeptName = ddlDepartName.SelectedItem.Text; workFlowInstance.CreateAtTime = DateTime.Now; workFlowInstance.CreateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.CreateByUserName = CurrentEmployee.EmployeeName; workFlowInstance.AppId = "3001"; } else { workFlowInstance.CreateAtTime = DateTime.Now; workFlowInstance.UpdateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.UpdateByUserName = CurrentEmployee.EmployeeName; isEdit = true; } workFlowInstance.FormId = obj.FormID; workFlowInstance.FormTitle = obj.Title; workFlowInstance.WfStatus = WfStatus; if (SumitTime != null) { workFlowInstance.SumitTime = SumitTime; } if (WfInstanceId != "") { workFlowInstance.WfInstanceId = WfInstanceId; } if (!isEdit) { result = wf_WorkFlowInstance.AddWorkFlowInstance(workFlowInstance); } else { result = wf_WorkFlowInstance.UpdateWorkFlowInstance(workFlowInstance); } FlowRelated1.ProcId = workFlowInstance.InstanceId; Countersign1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true); } catch (Exception ex) { throw ex; } return(result); }
protected override void OnPreRender(EventArgs e) { //防止二次提交 ScriptManager.RegisterOnSubmitStatement(Page, typeof(Page), "Go_disabled", "disabledButton('lbSave');disabledButton('lbSubmit');disabledButton('lbClose');"); ScriptManager.RegisterStartupScript(Page, typeof(Page), "Clear_disabled", "enableButton('lbSave');enableButton('lbSubmit');enableButton('lbClose');", true); if (!IsPostBack) { Countersign1.SetDefault("合约审算部"); } }
protected void ddlDepartName_SelectedIndexChanged(object sender, EventArgs e) { StartDeptId = ddlDepartName.SelectedItem.Value; if (ddlDepartName.SelectedItem.Text.Contains("开封")) { cblFirstLevel.Visible = true; } else { cblFirstLevel.Visible = false; } Countersign1.CounterSignDeptId = ddlDepartName.SelectedItem.Value; Countersign1.Refresh(); }
public override void SetParams() { base.SetParams(); FlowParams.SetParams("WFM", @"founder\tangsheng"); //流程审核人 FlowParams.SetParams("DeptManager", GetUserLoginName("部门负责人")); //部门负责人 FlowParams.SetParams("CEO", GetUserLoginName("CEO")); //CEO FlowParams.SetParams("StartUser", _BPMContext.CurrentUser.LoginId); //发起人 //FlowParams.SetParams("CounterSignUsers", @"founder\yanghechun,founder\zhangweixing");//会签部门 ///提交前所有字段需传入 Countersign1.Submit(); }
protected void Submit_Click(object sender, EventArgs e) { if (!BeforeSubmit()) { return; } int wfInstanceId = 0; //process instance id string id = ViewState["FormID"].ToString(); InstructionInfo dataInfo = SaveFormData(); Countersign1.SaveData(true);//会签数据保存 if (dataInfo != null) { UploadAttachments1.SaveAttachment(FormId); Countersign1.SaveAndSubmit();//会签数据保存 #region 工作流参数 NameValueCollection dataFields = SetWFParams(); if (dataFields == null) { return; } #endregion WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId; WorkflowHelper.StartProcess(@"K2Workflow\ERP_Instruction", FormId, dataFields, ref wfInstanceId); if (wfInstanceId > 0) { if (SaveWorkFlowInstance("1", DateTime.Now, wfInstanceId.ToString())) { SaveWorkItem(); if (!AfterWorkflowStart(wfInstanceId)) { return; } DisplayMessage.ExecuteJs("alert('提交成功');"); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", " window.opener=null; window.open('', '_self', '');window.close();", true); return; } } } Alert("提交失败"); //WorkflowHelper.ApproveProcess //insert data to business object }
/// <summary> /// 提交事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Submit_Click(object sender, EventArgs e) { string id = ViewState["FormID"].ToString(); var dataInfo = SaveFormData(); //如何设置 Countersign1.SaveData(true);//会签数据保存 Countersign_Group1.SaveData(true); if (dataInfo != null) { UploadAttachments1.SaveAttachment(FormId); #region 工作流参数 NameValueCollection dataFields = SetWFParams(); if (dataFields == null) { return; } #endregion WorkflowHelper.CurrentUser = "******" + _BPMContext.CurrentUser.LoginId; AppDict appInfo = new Pkurg.BPM.Services.AppDictService().GetByAppId("2006"); if (appInfo == null) { Alert("提交失败"); return; } int wfInstanceId = 0; //process instance id WorkflowHelper.StartProcess(appInfo.WorkFlowName, FormId, dataFields, ref wfInstanceId); if (wfInstanceId > 0) { if (SaveWorkFlowInstance("1", DateTime.Now, wfInstanceId.ToString())) { //保存工作流条目 SaveWorkItem(); DisplayMessage.ExecuteJs("alert('提交成功');"); ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功');window.opener.location.href=window.opener.location.href;", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ajax", " window.opener=null; window.open('', '_self', '');window.close();", true); return; } } } Alert("提交失败"); }
/// <summary> /// 保存数据 /// </summary> private void SaveData() { var info = BizContext.OA_InstructionOfWY.FirstOrDefault(x => x.FormID == FormId); //info.LeadersSelected = lblApprovers.Text; info.IsReportToGroup = cblIsReportToGroup.SelectedValue; info.IsReportToWY = cblIsReportToWY.SelectedValue; info.LeadersSelected = SaveLeadersSelected(); WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(info.FormID); Countersign1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true); Countersign_Group1.ProcId = workFlowInstance.InstanceId; Countersign_Group1.SaveData(true); BizContext.SubmitChanges(); }
/// <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> /// <param name="p"></param> /// <returns></returns> private void SaveData(string ID, string wfStatus) { ContractAuditOfEToIInfo obj = null; try { obj = Aitems.Get(ID); obj.FormID = ViewState["FormID"].ToString(); obj.LeadersSelected = lblApprovers.Text; obj.IsReport = cbIsReport.Checked ? "1" : "0"; Aitems.Update(obj); WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID); Countersign1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true); } catch (Exception ex) { throw ex; } }
protected void ddlDepartName_SelectedIndexChanged(object sender, EventArgs e) { string StartDeptId = ddlDepartName.SelectedItem.Value; if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) == PKURGICode) { trCounterSign.Visible = false; } else { Countersign1.CounterSignDeptId = ddlDepartName.SelectedItem.Value; Countersign1.Refresh(); } if (ddlDepartName.SelectedItem.Text.Contains("开封")) { cblFirstLevel.Visible = true; } else { cblFirstLevel.Visible = false; } }
private void SaveData(string ID, string wfStatus) { SealOfPKURGIInfo obj = null; try { obj = Aitems.Get(ID); obj.FormID = ViewState["FormID"].ToString(); obj.LeadersSelected = lblApprovers.Text; obj.Content = tbContent.Text; Aitems.Update(obj); WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID); Countersign1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true); } catch (Exception ex) { throw ex; } }
/// <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); }
protected void ddlDepartName_SelectedIndexChanged(object sender, EventArgs e) { StartDeptId = ddlDepartName.SelectedItem.Value; Countersign1.CounterSignDeptId = ddlDepartName.SelectedItem.Value; Countersign1.Refresh(); }
public override void SaveFormData() { Countersign1.SaveData(); UploadAttachments1.SaveAttachment(SerialNumber); base.SaveFormData(); }
/// <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); }
//批准 protected void Save_Click(object sender, EventArgs e) { string id = ViewState["FormID"].ToString(); WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(id); if (workFlowInstance != null) { UploadAttachments1.SaveAttachment(id); Countersign1.SaveAndSubmit(); // string action = "同意"; bool isSuccess = WorkflowHelper.ApproveProcess(sn.Value, action); string Opinion = GetApproveOpinion(nodeName.Value); string ApproveResult = "同意"; string OpinionType = ""; string IsSign = "0"; string DelegateUserName = ""; string DelegateUserCode = ""; if (isSuccess) { var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record() { ApprovalID = Guid.NewGuid().ToString(), WFTaskID = int.Parse(taskID.Value), FormID = id, InstanceID = workFlowInstance.InstanceId, Opinion = Opinion, ApproveAtTime = DateTime.Now, ApproveByUserCode = CurrentEmployee.EmployeeCode, ApproveByUserName = CurrentEmployee.EmployeeName, ApproveResult = ApproveResult, OpinionType = OpinionType, CurrentActiveName = nodeName.Value, ISSign = IsSign, CurrentActiveID = nodeID.Value, DelegateUserName = DelegateUserName, DelegateUserCode = DelegateUserCode, CreateAtTime = DateTime.Now, CreateByUserCode = CurrentEmployee.EmployeeCode, CreateByUserName = CurrentEmployee.EmployeeName, UpdateAtTime = DateTime.Now, UpdateByUserCode = CurrentEmployee.EmployeeCode, UpdateByUserName = CurrentEmployee.EmployeeName, FinishedTime = DateTime.Now }; if (bfApproval.AddApprovalRecord(appRecord)) { if (WorkflowHelper.GetProcessInstance(int.Parse(workFlowInstance.WfInstanceId)).Status1 == ProcessInstance.Status.Completed) { wf_WorkFlowInstance.UpdateStatus(workFlowInstance.WfInstanceId, "2", nodeID.Value, nodeName.Value, int.Parse(taskID.Value), DateTime.Now, CurrentEmployee); if (wf_Instruction.UpdateStatus(id, "04", workFlowInstance.WfInstanceId)) { WebCommon.Show(this, Resources.Message.ApplicationReviewSucess); Response.Redirect("~/Workflow/ToDoWorkList.aspx", false); } } else { wf_WorkFlowInstance.UpdateStatus(workFlowInstance.WfInstanceId, "1", nodeID.Value, nodeName.Value, int.Parse(taskID.Value), null, CurrentEmployee); if (wf_Instruction.UpdateStatus(id, "03", workFlowInstance.WfInstanceId)) { WebCommon.Show(this, Resources.Message.ApplicationReviewSucess); Response.Redirect("~/Workflow/ToDoWorkList.aspx", false); } } } } } }
/// <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); }
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> 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); }
//批准 protected void Agree_Click(object sender, EventArgs e) { string id = ViewState["FormID"].ToString(); WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(id); if (workFlowInstance != null) { UploadAttachments1.SaveAttachment(id); Countersign1.SaveAndSubmit(); // string action = "同意"; bool isSuccess = WorkflowHelper.ApproveProcess(sn.Value, action); string Opinion = ""; if (GetApproveOpinion(nodeName.Value) == null || GetApproveOpinion(nodeName.Value) == "") { Opinion = "同意"; } else { Opinion = GetApproveOpinion(nodeName.Value); } string ApproveResult = "同意"; string OpinionType = ""; string IsSign = "0"; string DelegateUserName = ""; string DelegateUserCode = ""; if (isSuccess && !(bool)ViewState["IsSubmit"]) { var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record() { ApprovalID = Guid.NewGuid().ToString(), WFTaskID = int.Parse(taskID.Value), FormID = id, InstanceID = workFlowInstance.InstanceId, Opinion = Opinion, ApproveAtTime = DateTime.Now, ApproveByUserCode = CurrentEmployee.EmployeeCode, ApproveByUserName = CurrentEmployee.EmployeeName, ApproveResult = ApproveResult, OpinionType = OpinionType, CurrentActiveName = nodeName.Value, ISSign = IsSign, CurrentActiveID = nodeID.Value, DelegateUserName = DelegateUserName, DelegateUserCode = DelegateUserCode, CreateAtTime = DateTime.Now, CreateByUserCode = CurrentEmployee.EmployeeCode, CreateByUserName = CurrentEmployee.EmployeeName, UpdateAtTime = DateTime.Now, UpdateByUserCode = CurrentEmployee.EmployeeCode, UpdateByUserName = CurrentEmployee.EmployeeName, FinishedTime = DateTime.Now }; ViewState["IsSubmit"] = true; if (bfApproval.AddApprovalRecord(appRecord)) { wf_WorkFlowInstance.UpdateStatus(workFlowInstance.WfInstanceId, "1", nodeID.Value, nodeName.Value, int.Parse(taskID.Value), null, CurrentEmployee); if (wf_Instruction.UpdateStatus(id, "03", workFlowInstance.WfInstanceId)) { ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('审批成功'); window.close();", true); } } } Countersign1.SaveAndSubmit(); } }
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 bool SaveWorkFlowInstance(JC_BidScalingInfo obj, string WfStatus, DateTime?SumitTime, string WfInstanceId) { string methodName = "SaveWorkFlowInstance"; Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN); bool result = false; WorkFlowInstance workFlowInstance = null; try { workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(obj.FormID); bool isEdit = false; if (workFlowInstance == null) { workFlowInstance = new WorkFlowInstance(); workFlowInstance.InstanceId = Guid.NewGuid().ToString(); workFlowInstance.CreateDeptCode = ddlDepartName.SelectedItem.Value.ToString(); workFlowInstance.CreateDeptName = ddlDepartName.SelectedItem.Text; workFlowInstance.CreateAtTime = DateTime.Now; workFlowInstance.CreateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.CreateByUserName = CurrentEmployee.EmployeeName; workFlowInstance.AppId = "1003"; } else { workFlowInstance.CreateAtTime = DateTime.Now; workFlowInstance.UpdateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.UpdateByUserName = CurrentEmployee.EmployeeName; isEdit = true; } workFlowInstance.FormId = obj.FormID; workFlowInstance.FormTitle = obj.Title; workFlowInstance.WfStatus = WfStatus; if (SumitTime != null) { workFlowInstance.SumitTime = SumitTime; } if (WfInstanceId != "") { workFlowInstance.WfInstanceId = WfInstanceId; } if (!isEdit) { result = wf_WorkFlowInstance.AddWorkFlowInstance(workFlowInstance); } else { result = wf_WorkFlowInstance.UpdateWorkFlowInstance(workFlowInstance); } FlowRelated1.ProcId = workFlowInstance.InstanceId; string StartDeptId = ddlDepartName.SelectedItem.Value; if (StartDeptId.Substring(0, StartDeptId.LastIndexOf('-')) != PKURGICode) { Countersign1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true); Countersign_Group1.ProcId = workFlowInstance.InstanceId; Countersign_Group1.SaveData(true); } else { Countersign_Group1.ProcId = workFlowInstance.InstanceId; Countersign_Group1.SaveData(true); } } catch (Exception ex) { Logger.Write(this.GetType(), EnumLogLevel.Fatal, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.Exception + ":" + string.Format("Exception={0}", ex)); throw ex; } Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT); return(result); }
/// <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); }
/// <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> /// <param name="p"></param> /// <param name="dateTime"></param> /// <param name="p_2"></param> /// <returns></returns> private bool SaveWorkFlowInstance(string WfStatus, DateTime?SumitTime, string WfInstanceId) { bool result = false; WorkFlowInstance workFlowInstance = null; try { workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(FormId); bool isEdit = false; if (workFlowInstance == null) { workFlowInstance = new WorkFlowInstance(); workFlowInstance.InstanceId = Guid.NewGuid().ToString(); workFlowInstance.CreateAtTime = DateTime.Now; //appid和应用管理创建新的管理的应用号是一致的 workFlowInstance.AppId = "2006"; workFlowInstance.CreateDeptCode = ddlDepartName.SelectedItem.Value.ToString(); workFlowInstance.CreateDeptName = ddlDepartName.SelectedItem.Text; workFlowInstance.CreateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.CreateByUserName = CurrentEmployee.EmployeeName; workFlowInstance.FormTitle = tbTitle.Text; } else { isEdit = true; workFlowInstance.UpdateByUserCode = CurrentEmployee.EmployeeCode; workFlowInstance.UpdateByUserName = CurrentEmployee.EmployeeName; workFlowInstance.FormTitle = tbTitle.Text; workFlowInstance.AppId = "2006"; } workFlowInstance.FormId = FormId; workFlowInstance.WfStatus = WfStatus; if (SumitTime != null) { workFlowInstance.SumitTime = SumitTime; } if (WfInstanceId != "") { workFlowInstance.WfInstanceId = WfInstanceId; } if (!isEdit) { result = wf_WorkFlowInstance.AddWorkFlowInstance(workFlowInstance); } else { result = wf_WorkFlowInstance.UpdateWorkFlowInstance(workFlowInstance); } FlowRelated1.ProcId = workFlowInstance.InstanceId; //会签 Countersign1.ProcId = workFlowInstance.InstanceId; Countersign_Group1.ProcId = workFlowInstance.InstanceId; Countersign1.SaveData(true);//会签数据保存 Countersign_Group1.SaveData(true); } catch (Exception ex) { throw ex; } return(result); }