/******************************
* 说明:审批流程设置界面
* 创建人:龚宇超
* 创建日期: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);
}
}
}
}