/****************************** * 说明:审批流程设置界面 * 创建人:龚宇超 * 创建日期: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.Workflow.Model; using Lskj.Core; using Lskj.Data; using Lskj.Model; using Lskj.Workflow.Properties; using Lskj.Business; using Lskj.Business.Impl; namespace Lskj.Workflow { /// /// 审批流程设置界面 /// public partial class FrmWork : BaseForm { /// /// 上一次选中标签 /// public StepEnum mPrevStepPage; /// /// 当前选中标签 /// public StepEnum mCurrentStepPage; /// /// 模块编号 /// public string MenuCode = string.Empty; public DynamicWorkflowModel WorkModel; public BillModel BillModel; /// /// 判断是否有权力 /// public bool powerflag; public FrmWork() { InitializeComponent(); } #region 方法相关 /// /// 说明:切换 /// 创建人:龚宇超 /// 创建日期:2019-06-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The step enum. public void SetStepPage(StepEnum stepEnum) { this.mCurrentStepPage = stepEnum; this.btnAdd.Visible = true; this.btnInsert.Visible = BillModel.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.btnSaveAllflow.Visible = this.btnReset.Visible = this.btnInit.Visible = false; this.btnInsert.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.BillModel = new BillModel(BillImpl.GetBillInfo(this.WorkModel.ModuleCode)); if (this.BillModel == null || string.IsNullOrEmpty(this.BillModel.FormKey)) { MessageUtil.Show("无效的模块编号->" + WorkModel.ModuleCode); this.Close(); } this.MenuCode = this.WorkModel.ModuleCode; this.Text = this.Text + "->" + this.BillModel.TypeName; DataTable table = WorkFlowBillImpl.GetPowerTable(); string[] Purview = table.Rows[0]["BillFlowPurview"].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); } finally { Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this); } } /// /// 说明:添加模块 /// 创建人:龚宇超 /// 创建日期: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); //MessageUtil.Show(ex.Message); //LogUtil.WriteError("单据审批添加模块", ex); } } /// /// 一键保存所有图像 /// /// /// void OnBtnSaveAllFlow(object sender, EventArgs e) { this.stepPage31.InitAllStepTypeFlow(); } public void OnBtnToword(object sender, EventArgs e) { try { FrmMain fm = new FrmMain(); fm.modelCound = this.WorkModel.ModuleCode; fm.modelName = this.BillModel.TypeName; fm.StartPosition = FormStartPosition.CenterScreen; fm.ShowDialog(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message, ex.Message); //LogUtil.WriteError("转word流程设计出错!", ex); //MessageUtil.Show("转word流程设计出错!" + ex); } } /// /// 说明:保存 /// 创建人:龚宇超 /// 创建日期: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.UpdateBillFlow(); break; case StepEnum.StepPage2: // 保存小类设置 this.stepPage21.UpdateBillFlowType(); break; case StepEnum.StepPage3: // 保存小类流转设置 this.stepPage31.UpdateBillFlowTypeStep(); break; case StepEnum.StepPage4: // 保存终审回退权限信息 this.stepPage41.UpdateFinalReturnSettings(); break; } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message, ex.Message); //MessageUtil.Show("数据保存失败:" + ex.Message); //LogUtil.WriteError("数据保存失败!", ex); } } /// /// 说明:流转步骤设置点击 /// 创建人:龚宇超 /// 创建日期: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 btnInsert_Click(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.InsertFlowItem(stepGroup, stepGroup); } } break; } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message, ex.Message); } } } }