ab56a9bcf7
SVN-Revision: r240
717 lines
30 KiB
C#
717 lines
30 KiB
C#
/***********************
|
|
* 说明:单据审批和基础档案审批主页共用模版
|
|
* 创建人:龚宇超
|
|
* 创建日期:2017-12-27
|
|
* 修改人:
|
|
* 修改日期:
|
|
* 修改备注:
|
|
* 版本:1.0.0.0
|
|
***********************/
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Lskj.Control.Model;
|
|
using Lskj.Business.Impl;
|
|
using Lskj.Data;
|
|
using Lskj.Model;
|
|
using DevExpress.XtraEditors;
|
|
using DevExpress.XtraGrid.Views.Grid;
|
|
using DevExpress.XtraTab;
|
|
using DevExpress.Utils;
|
|
using DevExpress.XtraEditors.Controls;
|
|
using Lskj.Business;
|
|
using Lskj.Util;
|
|
using System.Threading;
|
|
using DevExpress.XtraGrid.Columns;
|
|
using Lskj.Core;
|
|
using System.Diagnostics;
|
|
using System.Text.RegularExpressions;
|
|
|
|
namespace Lskj.Control
|
|
{
|
|
public partial class AuditPanelEx2 : UserControl
|
|
{
|
|
public AuditPanelEx2()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
#region 公有变量
|
|
AuditPanel2 auditPanel = new AuditPanel2();
|
|
AuditBasePanel auditBasePanel = new AuditBasePanel();
|
|
/// <summary>
|
|
/// 是否是单据审核
|
|
/// </summary>
|
|
public bool isBillFlag;
|
|
/// <summary>
|
|
/// 默认查询框
|
|
/// </summary>
|
|
public bool PanelCondVisible;
|
|
/// <summary>
|
|
/// 主键
|
|
/// </summary>
|
|
public string KeyValue;
|
|
/// <summary>
|
|
/// 单据前缀
|
|
/// </summary>
|
|
public string TmpPrefix = string.Empty;
|
|
/// <summary>
|
|
/// 分段审批
|
|
/// </summary>
|
|
public DataRow SectionAccradit;
|
|
/// <summary>
|
|
/// 审批公用模型
|
|
/// </summary>
|
|
public AuditCommonModel AuditComModelObj;
|
|
/// <summary>
|
|
/// 基础审批模型
|
|
/// </summary>
|
|
public BaseAccraditationModel BaseAccraditModelObj;
|
|
/// <summary>
|
|
/// 模型
|
|
/// </summary>
|
|
public DynamicModel SysModel;
|
|
/// <summary>
|
|
/// 已完成表格
|
|
/// </summary>
|
|
/// <value>The finish grid object.</value>
|
|
public GridControlEx FinishGridObj { get { return this.gridFinish; } }
|
|
/// <summary>
|
|
/// <para>说明:审批表格双击弹出模块回调</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-21 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public event EventHandler OnGridViewDoubleCallBack;
|
|
/// <summary>
|
|
/// <para>说明:已完成表格双击弹出模块回调</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-21 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public event EventHandler OnGridFinshViewDoubleCallBack;
|
|
/// <summary>
|
|
/// <para>说明:已完成表格搜索回调</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-21 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public event BtnSearchGridFinishEventHandler OnBtnSearchCallBack;
|
|
#endregion
|
|
|
|
#region 私有变量
|
|
/// <summary>
|
|
/// tabpages集合
|
|
/// </summary>
|
|
private List<TabPageObj> _tabPageObjs = new List<TabPageObj>();
|
|
/// <summary>
|
|
/// 自定义搜索控件
|
|
/// </summary>
|
|
private MyControl _searchContrl;
|
|
#endregion
|
|
|
|
#region 初始化系统配置
|
|
/// <summary>
|
|
/// <para>说明:初始化系统配置</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-11-30 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="menuCode">The menu code.</param>
|
|
public void InitializeSetting(AuditCommonModel auditComModel, DynamicModel model, BaseAccraditationModel baseAccraditModel,bool isBillFlag=true)
|
|
{
|
|
try
|
|
{
|
|
this.isBillFlag = isBillFlag;
|
|
this.AuditComModelObj = auditComModel;
|
|
this.SysModel = model;
|
|
this.BaseAccraditModelObj = baseAccraditModel;
|
|
this.labeltxt_dataFlag.LabelText = this.AuditComModelObj.DataFlagLabel;
|
|
InitTabPages();
|
|
this.InitFinishTabPage();
|
|
//this.RefreshTabPage();
|
|
if (SysModel.HasReadPrivilege())
|
|
{
|
|
this.btnBack.Enabled = false;
|
|
}
|
|
//Thread thread = new Thread(CreateGrid);
|
|
//thread.IsBackground = true;
|
|
//thread.Start();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show(Message,ex.Message);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 多线程创建明细列
|
|
/// <summary>
|
|
/// <para>说明:创建明细列</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2020-04-04 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void CreateGrid()
|
|
{
|
|
//Thread.Sleep(100);
|
|
|
|
//if (isBillFlag)
|
|
//{
|
|
// foreach (TabPageObj tab in this._tabPageObjs)
|
|
// {
|
|
// if (this.InvokeRequired)
|
|
// {
|
|
// this.Invoke((EventHandler)delegate
|
|
// {
|
|
// int cnt = 0;
|
|
// foreach (TabPageItemObj item in tab.TabPageItemObjs)
|
|
// {
|
|
// DataTable dtColumns = BaseAuditImpl.GetGridColumns(AuditComModelObj.SystemTable, this.SysModel.ModuleCode, tab.FlowStepModel.StepCode, this.SysModel.UserName);
|
|
// string key = "FLOWSTEP_" + this.SysModel.ModuleCode + "_" + item.AuditModel.CurstepName + "_" + item.AuditModel.Id + "";
|
|
// item.AuditPanelObj.pcGrid.SetGridRowColors(BaseModuleImpl.GetBaseGridRowColors(key));
|
|
// item.AuditPanelObj.pcGrid.SetReadOnlyColumns(dtColumns, GridCustomColumnStruct.AuditMainGridView + key);
|
|
// item.AuditPanelObj.pcGrid.SetGridViewDataSource(BaseImpl.GetDataTableResult(item.AuditModel.StepSql));
|
|
// cnt += item.AuditPanelObj.pcGrid.GridView.RowCount;
|
|
// item.AuditPanelObj.gcDetail.SetEditColumns(BillImpl.GetDetailColumns(item.AuditPanelObj.SysModel.ModuleCode), GridCustomColumnStruct.AuditPopupDetailGridView + item.AuditPanelObj.BillModelObj.FormKey);
|
|
// //修改字段
|
|
// if (!string.IsNullOrEmpty(item.AuditPanelObj.AuditModelObj.DetailModifyFields))
|
|
// {
|
|
// item.AuditPanelObj.gcDetail.GridView.OptionsBehavior.Editable = true;
|
|
// item.AuditPanelObj.AuditModelObj.DetailModifyFields = item.AuditPanelObj.AuditModelObj.DetailModifyFields + ",";
|
|
// GridColumnCollection gc = item.AuditPanelObj.gcDetail.GridView.Columns;
|
|
// foreach (GridColumn items in gc)
|
|
// {
|
|
// items.OptionsColumn.AllowEdit = item.AuditPanelObj.AuditModelObj.DetailModifyFields.IndexOf(items.FieldName + ",", StringComparison.OrdinalIgnoreCase) != -1;
|
|
// items.OptionsColumn.ReadOnly = !items.OptionsColumn.AllowEdit;
|
|
|
|
// }
|
|
// }
|
|
// Application.DoEvents();
|
|
// }
|
|
// tab.TabPage.Text = tab.FlowStepModel.StepGroup + "(" + cnt + ")";
|
|
// });
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
|
|
}
|
|
#endregion
|
|
#region 顶部查询控件
|
|
/// <summary>
|
|
/// <para>说明:顶部查询条件</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-11-30 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void SearchCreateTopControl()
|
|
{
|
|
this._searchContrl = new MyControl(this.BaseAccraditModelObj.OverBackSql, this.gridFinish);
|
|
this.pl_top.Height = this._searchContrl.InitSearchControl(BaseModuleImpl.GetCustomQueryFields(this.BaseAccraditModelObj.OverBackKey), this.pl_top);
|
|
}
|
|
#endregion
|
|
|
|
#region 初始化已完成页
|
|
/// <summary>
|
|
/// <para>说明:初始化已完成page</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-11 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void InitFinishTabPage()
|
|
{
|
|
//窗口上的条件筛选面板
|
|
this.PanelCondVisible = this.pl_top_searchCond.Visible = string.IsNullOrWhiteSpace(this.BaseAccraditModelObj.OverBackSql);
|
|
if (this.PanelCondVisible)
|
|
{
|
|
//设置默认自动搜索
|
|
this.SetSearchControl();
|
|
|
|
this.gridFinish.SetReadOnlyColumns(BaseAuditImpl.GetDefaultGridMainColumns(this.AuditComModelObj.Moduletype), GridCustomColumnStruct.AuditOverMainGridView + this.SysModel.ModuleCode);
|
|
}
|
|
else
|
|
{
|
|
this.TmpPrefix = this.BaseAccraditModelObj.ColumnPrefix;
|
|
this.gridFinish.SetReadOnlyColumns(BaseAuditImpl.GetAuditMainGridCoulmns(AuditComModelObj.SystemTable, this.SysModel.ModuleCode), GridCustomColumnStruct.AuditOverMainGridView + this.BaseAccraditModelObj.FormKey);
|
|
// 创建自定义搜索控件
|
|
this.SearchCreateTopControl();
|
|
}
|
|
// 上面主表格的事件注册
|
|
this.gridFinish.GridView.SelectionChanged += new DevExpress.Data.SelectionChangedEventHandler(GvFinish_SelectionChangedClick);
|
|
this.gridFinish.GridView.DoubleClick += new EventHandler(GvFinish_DoubleClick);
|
|
// 下面flow明细表格的列
|
|
this.gridFlow.SetReadOnlyColumns(BaseAuditImpl.GetFlowGridColomns(), GridCustomColumnStruct.AuditOverDetailGridView + this.SysModel.ModuleCode);
|
|
}
|
|
#endregion
|
|
|
|
#region 初始化自动搜索框
|
|
/// <summary>
|
|
/// <para>说明:初始化配置自动搜索框</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-11 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void SetSearchControl()
|
|
{
|
|
this.labelcheck_finalAuditor.AutoTextEdit.ValueMember = "UserId";
|
|
this.labelcheck_finalAuditor.AutoTextEdit.TextField = "UserName";
|
|
this.labelcheck_finalAuditor.AutoTextEdit.ValueField = "UserId";
|
|
this.labelcheck_finalAuditor.AutoTextEdit.SetDataSource(MainImpl.GetEmployeeList());
|
|
this.labeldate_start.LabelDateEditObj.EditText = DateTime.Now.ToString();
|
|
this.labeldate_end.LabelDateEditObj.EditText = DateTime.Now.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 选项卡相关
|
|
/// <summary>
|
|
/// <para>说明:绑定选项卡</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="menuCode">The menu code.</param>
|
|
public void InitTabPages()
|
|
{
|
|
|
|
DataTable tabPages = BaseAuditImpl.GetTabPages(this.SysModel.ModuleCode, this.BaseAccraditModelObj.MenuCond, AuditComModelObj.FlowStepTable);
|
|
if (isBillFlag)
|
|
{
|
|
XtraTabPage tabPage = new XtraTabPage();
|
|
PanelControl panel = new PanelControl(); //tabpage里面的panel子集
|
|
List<System.Windows.Forms.Control> panelList = new List<System.Windows.Forms.Control>(); //tabpage里面的panel集合进行顺序反转
|
|
tabPage.AutoScroll = true;
|
|
auditPanel = new AuditPanel2();
|
|
//auditPanel.Init(tabPages, AuditComModelObj, SysModel, this.BaseAccraditModelObj);
|
|
auditPanel.RefreshTabCallBack += OnRefreshTabCallBack;
|
|
auditPanel.btnReflash.Click += new System.EventHandler(this.BtnReflash_Click);
|
|
auditPanel.Parent = panel;
|
|
auditPanel.Dock = DockStyle.Fill;
|
|
auditPanel.BorderStyle = BorderStyle.None;
|
|
//cnt += auditPanel.pcGrid.GridView.RowCount;
|
|
tabMain.BorderStylePage = BorderStyles.NoBorder;
|
|
panel.Dock = DockStyle.Fill;
|
|
//tabPage.Padding = new System.Windows.Forms.Padding(2);
|
|
panelList.Add(panel);
|
|
tabPage.Controls.AddRange(panelList.Reverse<System.Windows.Forms.Control>().ToArray());
|
|
tabPage.Text = "未完成审核";
|
|
tabMain.TabPages.Insert(tabMain.TabPages.Count - 1, tabPage);
|
|
}
|
|
tabMain.SelectedTabPageIndex = 0;
|
|
}
|
|
/// <summary>
|
|
/// 审核回调刷新窗体
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void OnRefreshTabCallBack(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
WaitForm.ShowForm();
|
|
RefreshTabPage();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Instance.WriteError(ex);
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show("加载刷新数据失败!" + Message);
|
|
}
|
|
finally
|
|
{
|
|
WaitForm.HideForm();
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 双击表格
|
|
/// <summary>
|
|
/// <para>说明:双击审批列表(动态创建的表格)</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
protected void GridView_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.OnGridViewDoubleCallBack != null)
|
|
OnGridViewDoubleCallBack(sender, e);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show(Message,ex.Message);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
/// <summary>
|
|
/// <para>说明:刷新窗体事件</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void BtnReflash_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
RefreshTabPage();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show(Message,ex.Message);
|
|
}
|
|
|
|
}
|
|
#region 刷新多标签
|
|
/// <summary>
|
|
/// <para>说明:刷新窗体</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="code"></param>
|
|
public void RefreshTabPage()
|
|
{
|
|
//if (isBillFlag)
|
|
//{
|
|
// foreach (TabPageObj tab in this._tabPageObjs)
|
|
// {
|
|
// int cnt = 0;
|
|
// foreach (TabPageItemObj item in tab.TabPageItemObjs)
|
|
// {
|
|
// item.AuditPanelObj.pcGrid.SetGridViewDataSource(BaseImpl.GetDataTableResult(item.AuditModel.StepSql));
|
|
// //item.LabelObj.Text = item.AuditModel.CurstepName + " (" + string.Format(ResourceKeys.RowCountRecond, item.GridControlObj.GridView.RowCount) + " )";
|
|
// cnt += item.AuditPanelObj.pcGrid.GridView.RowCount;
|
|
// }
|
|
// tab.TabPage.Text = tab.FlowStepModel.StepGroup + "(" + cnt + ")";
|
|
// }
|
|
//}
|
|
//else {
|
|
// foreach (TabPageObj tab in this._tabPageObjs)
|
|
// {
|
|
// int cnt = 0;
|
|
// foreach (TabPageItemObj item in tab.TabPageItemObjs)
|
|
// {
|
|
// item.AuditBasePanelObj.pcGrid.SetGridViewDataSource(BaseImpl.GetDataTableResult(item.AuditModel.StepSql));
|
|
// //item.LabelObj.Text = item.AuditModel.CurstepName + " (" + string.Format(ResourceKeys.RowCountRecond, item.GridControlObj.GridView.RowCount) + " )";
|
|
// cnt += item.AuditBasePanelObj.pcGrid.GridView.RowCount;
|
|
// }
|
|
// tab.TabPage.Text = tab.FlowStepModel.StepGroup + "(" + cnt + ")";
|
|
// }
|
|
|
|
//}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 搜索操作
|
|
/// <summary>
|
|
/// <para>说明:搜索操作</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-11</para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
private void btnSearch_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
if (this.OnBtnSearchCallBack != null)
|
|
{
|
|
string cond = string.Empty;
|
|
bool cancelFlag = false;
|
|
|
|
if (BaseImpl.HasExistsColumn(this.BaseAccraditModelObj.BillTable, this.BaseAccraditModelObj.CancelFlag))
|
|
{
|
|
cancelFlag = true;
|
|
}
|
|
if (this.labeldate_start.CheckEdit.Checked)
|
|
{
|
|
cond = string.Format("and convert(varchar(10),a.{0}stepOverTime,120)>='{1}'", this.BaseAccraditModelObj.ColumnPrefix, this.labeldate_start.TextEdit.Text);
|
|
}
|
|
if (this.labeldate_end.CheckEdit.Checked)
|
|
{
|
|
cond = cond + string.Format("and convert(varchar(10),a.{0}stepOverTime,120)<='{1}'", this.BaseAccraditModelObj.ColumnPrefix, this.labeldate_end.TextEdit.Text);
|
|
}
|
|
if (this.labelcheck_finalAuditor.CheckEdit.Checked)
|
|
{
|
|
cond = cond + string.Format("and a.{0}stepOverId='{1}'", this.BaseAccraditModelObj.ColumnPrefix, this.labelcheck_finalAuditor.AutoTextEdit.EditValue);
|
|
}
|
|
if (!string.IsNullOrEmpty(this.labeltxt_dataFlag.EditText.Trim()))
|
|
{
|
|
cond = cond + string.Format("and a.{0} LIKE '%{1}%'", this.KeyValue, this.labeltxt_dataFlag.EditText.Trim());
|
|
}
|
|
|
|
BtnSearchGridFinishArgs args = new BtnSearchGridFinishArgs();
|
|
args.CancelFlag = cancelFlag;
|
|
args.Cond = cond;
|
|
if (OnBtnSearchCallBack != null)
|
|
OnBtnSearchCallBack(sender, args);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show("搜索操作出错!" + Message);
|
|
}
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 单元格点击操作
|
|
/// <summary>
|
|
/// <para>说明:已完成主表格单元格单选中</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-11 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="RowCellClickEventArgs"/> instance containing the event data.</param>
|
|
private void GvFinish_SelectionChangedClick(object sender, DevExpress.Data.SelectionChangedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DataRow selRow = this.gridFinish.GridView.GetFocusedDataRow();
|
|
if (selRow == null) return;
|
|
// 动态表格和默认主表格的不同键值
|
|
string tmpField = !this.pl_top_searchCond.Visible ? this.KeyValue : this.TmpPrefix + this.BaseAccraditModelObj.DefaultParmaryField;
|
|
DataTable gridFlowData = BaseAuditImpl.GetGridFlowData(selRow[tmpField] + "", AuditComModelObj.SystemTabFlowStep, this.BaseAccraditModelObj.MenuCond);
|
|
gridFlow.SetGridViewDataSource(gridFlowData);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show(Message,ex.Message);
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// <para>说明:已完成主表格双击操作</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-11 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
private void GvFinish_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.OnGridFinshViewDoubleCallBack != null)
|
|
OnGridFinshViewDoubleCallBack(sender, e);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show(Message,ex.Message);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 返审操作
|
|
/// <summary>
|
|
/// <para>说明:返审操作</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2017-12-11 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
private void btnBack_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DataRow dr = this.gridFinish.GridView.GetFocusedDataRow();
|
|
if (dr == null)
|
|
{
|
|
MessageUtil.Show(ResourceKeys.NotReturnData);
|
|
return;
|
|
}
|
|
string billDocumentId = this.PanelCondVisible ? dr[this.BaseAccraditModelObj.DefaultParmaryField] + "" : dr[string.IsNullOrEmpty(this.BaseAccraditModelObj.KeyField + "") ? this.BaseAccraditModelObj.TmpParmaryField : this.BaseAccraditModelObj.KeyField + ""] + "";
|
|
string stepCode = this.PanelCondVisible ? dr[this.TmpPrefix + this.BaseAccraditModelObj.DefaultStepField] + "" : dr[this.BaseAccraditModelObj.TmpStepField] + "";
|
|
if (MessageUtil.Show(string.Format(ResourceKeys.ForcedReturnBill, billDocumentId), MessageBoxButtons.YesNo) == DialogResult.Yes)
|
|
{
|
|
string nextSelectStepCode = string.Empty;
|
|
string nextSelectStepOper = string.Empty;
|
|
//记录本次推送人员,审核过清除消息
|
|
string beforeMenuname = string.Empty, beforeUsers = string.Empty;
|
|
int beforeId = 0;
|
|
DataRow rowItem = BaseAuditImpl.GetSystemOperators(billDocumentId, stepCode, this.AuditComModelObj.Moduletype);
|
|
if (rowItem != null)
|
|
{
|
|
beforeMenuname = rowItem["menuname"] + "";
|
|
beforeUsers = rowItem["operators"] + "";
|
|
beforeId = Convert.ToInt32(rowItem["id"]);
|
|
}
|
|
bool isBack = string.IsNullOrEmpty(this.BaseAccraditModelObj.MenuCond) ||
|
|
this.SectionAccradit == null ||
|
|
Convert.ToInt32(stepCode) >= Convert.ToInt32(this.SectionAccradit["stepCode"] + "");
|
|
|
|
string prodouceName = isBack ? AuditComModelObj.ProcedureName + "back" : AuditComModelObj.ProcedureName;
|
|
string result = BaseAuditImpl.Audit(out nextSelectStepCode, out nextSelectStepOper, this.SysModel, stepCode, billDocumentId, isBack ? string.Format(ResourceKeys.ForcedReturnBill, billDocumentId) + "" : "", prodouceName, "R", "0", "", "", "", !isBack, -1);
|
|
string tag = isBack ? "1" : "0";
|
|
if (result == "1")
|
|
{
|
|
MessageUtil.Show(ResourceKeys.ForcedSuccess);
|
|
// 推送消息
|
|
PushHelper push = new PushHelper(billDocumentId, stepCode, this.SysModel.ModuleCode, beforeUsers, beforeMenuname, beforeId);
|
|
if (this.AuditComModelObj.Moduletype == "base")
|
|
{
|
|
push.Push_Base_Oper_Message();
|
|
}
|
|
else
|
|
{
|
|
push.Push_Bill_Oper_Message();
|
|
}
|
|
if (tag == "1")
|
|
{
|
|
if (this.PanelCondVisible)
|
|
{
|
|
btnSearch.PerformClick();
|
|
}
|
|
else
|
|
{
|
|
this._searchContrl.SearchLastGrid();
|
|
}
|
|
RefreshTabPage();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageUtil.Show(string.Format(ResourceKeys.ForcedFail, result));
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show("返审操作出错!" + Message);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
WebBrowserUtil.StartWebBrowser(this.SysModel.ModuleCode, "");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string Message = ErrorMessage.PromptErrorMessage(ex);
|
|
MessageUtil.Show(Message,ex.Message);
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// tabPage组成结构
|
|
/// </summary>
|
|
public class TabPageItemObj
|
|
{
|
|
/// <summary>
|
|
/// 审批模型
|
|
/// </summary>
|
|
public AccraditationModel AuditModel;
|
|
/// <summary>
|
|
/// 进度流层表格
|
|
/// </summary>
|
|
public GridControlEx GridControlObj;
|
|
/// <summary>
|
|
/// 进度流层审核
|
|
/// </summary>
|
|
public AuditPanel2 AuditPanelObj;
|
|
/// <summary>
|
|
/// 基础进度流层审核
|
|
/// </summary>
|
|
public AuditBasePanel AuditBasePanelObj;
|
|
/// <summary>
|
|
/// 进度流层名
|
|
/// </summary>
|
|
public LabelControl LabelObj;
|
|
}
|
|
|
|
/// <summary>
|
|
/// tabpage模型
|
|
/// </summary>
|
|
public class TabPageObj
|
|
{
|
|
/// <summary>
|
|
/// 选项卡
|
|
/// </summary>
|
|
public XtraTabPage TabPage;
|
|
/// <summary>
|
|
/// 表格集合
|
|
/// </summary>
|
|
public List<TabPageItemObj> TabPageItemObjs = new List<TabPageItemObj>();
|
|
/// <summary>
|
|
/// 步骤模型
|
|
/// </summary>
|
|
public FlowTypeStepModel FlowStepModel;
|
|
}
|
|
}
|
|
} |