/****************************** * 说明:审批流程设置界面 * 创建人:龚宇超 * 创建日期:2019-06-18 * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ******************************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Lskj.Control; using Lskj.BaseWorkflow.Model; using Lskj.Core; using Lskj.Data; using Lskj.Model; using Lskj.BaseWorkflow.Properties; using Lskj.Business; using Lskj.Business.Impl; using System.Data.SqlClient; using Lskj.Control.Model; using System.Diagnostics; using System.Text.RegularExpressions; namespace Lskj.BaseWorkflow { /// /// 审批流程设置界面 /// public partial class FrmWork : BaseForm { /// /// 上一次选中标签 /// public StepEnum mPrevStepPage; /// /// 当前选中标签 /// public StepEnum mCurrentStepPage; /// /// 模块编号 /// public string MenuCode= string.Empty; public DynamicBaseWorkflowModel WorkModel; /// /// 基础对象 /// public ModuleModel ModuleModel; /// /// 判断是否有权力 /// public bool powerflag; public FrmWork() { InitializeComponent(); } #region 方法相关 public void OnBtnToword(object sender, EventArgs e) { try { FrmMain fm = new FrmMain(); fm.modelCound = this.WorkModel.ModuleCode; fm.modelName = this.ModuleModel.MenuText; fm.StartPosition = FormStartPosition.CenterScreen; fm.ShowDialog(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 执行存储过程 /// /// /// /// /// public int createFlow(int tagid, string Dllcode, int typeID) { SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, 2000); pMsg.Direction = ParameterDirection.Output; SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4); returnValue.Direction = ParameterDirection.ReturnValue; SqlParameter[] param = { new SqlParameter("@tagid",SqlDbType.Int), new SqlParameter("@Dllcode",SqlDbType.VarChar,50), new SqlParameter("@typeID",SqlDbType.Int), pMsg, returnValue }; param[0].Value = tagid; param[1].Value = Dllcode; param[2].Value = typeID; BaseImpl.ExecProcedure("[p_systemInsertSpeciesFlowInfo]", param); return Convert.ToInt32(returnValue.Value.ToString()); } /// /// 说明:切换 /// 创建人:龚宇超 /// 创建日期:2019-06-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The step enum. public void SetStepPage(StepEnum stepEnum) { this.mCurrentStepPage = stepEnum; this.btnAdd.Visible = true; this.btnInsert.Visible = ModuleModel.NewVer == 1; switch (stepEnum) { case StepEnum.StepPage1: default: this.btnSaveAllflow.Visible = this.btnReset.Visible = this.btnInit.Visible = false; this.stepPage11.Visible = true; this.stepPage21.Visible = false; this.stepPage31.Visible = false; this.stepPage41.Visible = false; this.pllzbzsz.BackgroundImage = Resources.icon_xllzsz_2x; this.plxlsz.BackgroundImage = Resources.icon_xlsz_gray_2x; this.plxllzsz.BackgroundImage = Resources.icon_lzbzsz_gray_2x; this.plzsht.BackgroundImage = Resources.icon_lzbzsz_gray_2x; this.btnAdd.Text = "新增(&A)"; break; case StepEnum.StepPage2: this.btnInsert.Visible = this.btnSaveAllflow.Visible = this.btnReset.Visible = this.btnInit.Visible = false; this.stepPage11.Visible = false; this.stepPage21.Visible = true; this.stepPage31.Visible = false; this.stepPage41.Visible = false; this.pllzbzsz.BackgroundImage = Resources.icon_xllzsz_gray_2x; this.plxlsz.BackgroundImage = Resources.icon_xlsz_2x; this.plxllzsz.BackgroundImage = Resources.icon_lzbzsz_gray_2x; this.plzsht.BackgroundImage = Resources.icon_lzbzsz_gray_2x; this.btnAdd.Text = "新增(&A)"; break; case StepEnum.StepPage3: this.btnSaveAllflow.Visible = this.btnReset.Visible = this.btnInit.Visible = true; this.btnInsert.Visible = false; this.stepPage11.Visible = false; this.stepPage21.Visible = false; this.stepPage31.Visible = true; this.stepPage41.Visible = false; this.pllzbzsz.BackgroundImage = Resources.icon_xllzsz_gray_2x; this.plxlsz.BackgroundImage = Resources.icon_xlsz_gray_2x; this.plxllzsz.BackgroundImage = Resources.icon_lzbzsz_2x; this.plzsht.BackgroundImage = Resources.icon_lzbzsz_gray_2x; this.btnAdd.Text = "生成(&A)"; break; case StepEnum.StepPage4: this.btnInsert.Visible = this.btnSaveAllflow.Visible = this.btnReset.Visible = this.btnInit.Visible =this.simpleButton1 .Visible= false; this.stepPage11.Visible = false; this.stepPage21.Visible = false; this.stepPage31.Visible = false; this.stepPage41.Visible = true; this.pllzbzsz.BackgroundImage = Resources.icon_xllzsz_gray_2x; this.plxlsz.BackgroundImage = Resources.icon_xlsz_gray_2x; this.plxllzsz.BackgroundImage = Resources.icon_lzbzsz_gray_2x; this.plzsht.BackgroundImage = Resources.icon_lzbzsz_2x; this.btnAdd.Text = "生成Sql(&A)"; break; } } #endregion #region 事件相关 /// /// 说明:窗口加载 /// 创建人:龚宇超 /// 创建日期:2019-06-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnWorkLoad(object sender, EventArgs e) { try { this.ModuleModel = new BaseAuditModel(MainImpl.GetSystemdllTab(this.WorkModel.ModuleCode)); if (this.ModuleModel == null || string.IsNullOrEmpty(this.ModuleModel.FormKey)) { MessageUtil.Show("无效的模块编号->" + WorkModel.ModuleCode); this.Close(); } this.MenuCode = this.WorkModel.ModuleCode; this.Text = this.Text + "->" + this.ModuleModel.MenuName; DataTable table = WorkFlowBaseImpl.GetPowerTable(); string[] Purview = table.Rows[0]["DllFlowPurview"].ToString().Trim().TrimEnd(',').Split(','); if (Purview.Contains(ERPInfo.Instance.UserName)) { powerflag = true; } if (!powerflag) { this.btnAdd.Enabled = this.btnReset.Enabled = this.btnInit.Enabled = false; stepPage11.SerpPagePower = true; stepPage21.SerpPage2Power = true; stepPage31.SerpPage3Power = true; } // 设置默认显示第一个界面 this.SetStepPage(StepEnum.StepPage1); this.stepPage11.InitializeControl(this.MenuCode); this.stepPage21.InitializeControl(this.MenuCode); this.stepPage31.InitializeControl(this.MenuCode); this.stepPage41.InitializeControl(this.MenuCode); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:添加模块 /// 创建人:龚宇超 /// 创建日期:2019-06-24 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnAddClick(object sender, EventArgs e) { try { switch (mCurrentStepPage) { case StepEnum.StepPage1: { // 保存流转步骤 FrmAddStep frmAddStep = new FrmAddStep(); frmAddStep.LabelObj.Text = "请输入审批步骤:"; if (frmAddStep.ShowDialog() == DialogResult.OK) { string stepName = frmAddStep.StepName; string stepGroup = frmAddStep.StepName; this.stepPage11.AddFlowItem(stepGroup, stepGroup); } } break; case StepEnum.StepPage2: { // 保存小类设置 FrmAddStep frmAddStep = new FrmAddStep(); frmAddStep.LabelObj.Text = "请输入审批方案:"; if (frmAddStep.ShowDialog() == DialogResult.OK) { string typeName = frmAddStep.StepName; this.stepPage21.AddFlowTypeItem(typeName); } } break; case StepEnum.StepPage3: { // 生成小类流转步骤设置 this.stepPage31.CreateFlowTypeStep(); } break; case StepEnum.StepPage4: { // 生成终审sql this.stepPage41.GenerateFinalSqlStatement(); } break; } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 一键保存所有流程图设置 /// /// /// private void OnBtnSaveAllFlow(object sender, EventArgs e) { try { this.stepPage31.InitAllStepTypeFlow(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:保存 /// 创建人:龚宇超 /// 创建日期:2019-06-25 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnBtnSaveClick(object sender, EventArgs e) { try { switch (mCurrentStepPage) { case StepEnum.StepPage1: // 保存流转步骤 this.stepPage11.UpdateBaseFlow(); break; case StepEnum.StepPage2: // 保存小类设置 this.stepPage21.UpdateBaseFlowType(); break; case StepEnum.StepPage3: // 保存小类流转设置 this.stepPage31.UpdateBaseFlowTypeStep(); break; case StepEnum.StepPage4: // 保存终审回退权限信息 this.stepPage41.UpdateFinalReturnSettings(); break; } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:流转步骤设置点击 /// 创建人:龚宇超 /// 创建日期:2019-06-24 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnlzbzszClick(object sender, EventArgs e) { try { this.SetStepPage(StepEnum.StepPage1); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:小类设置点击 /// 创建人:龚宇超 /// 创建日期:2019-06-24 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnxlszClick(object sender, EventArgs e) { try { this.SetStepPage(StepEnum.StepPage2); this.stepPage21.InitializeStepFlow(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:小类流转步骤设置 /// 创建人:龚宇超 /// 创建日期:2019-06-24 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnxllzszClick(object sender, EventArgs e) { try { this.SetStepPage(StepEnum.StepPage3); this.stepPage31.InitializeStepType(); this.stepPage31.InitializeStepTypeFlow(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:终审回退设置 /// 创建人:曹屹峰 /// 创建日期:2022-06-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnzshtClick(object sender, EventArgs e) { try { this.SetStepPage(StepEnum.StepPage4); this.stepPage41.initialLoad(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message, ex.Message); } } /// /// 说明:重置权限 /// 创建人:龚宇超 /// 创建日期:2019-06-28 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnBtnResetClick(object sender, EventArgs e) { try { this.stepPage31.ResetPurview(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:初始化权限 /// 创建人:龚宇超 /// 创建日期:2019-06-28 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The sender. /// The instance containing the event data. void OnBtnInitClick(object sender, EventArgs e) { try { this.stepPage31.InitPurview(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion private void btnInit_Click(object sender, EventArgs e) { try { WebBrowserUtil.StartWebBrowser("Q0001", "基础审批流程设置"); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } private void btnInsert_Click(object sender, EventArgs e) { try {