Files
lserp_cs_6.0/插件库/Lskj.PubAccraditation2/FrmMain.cs
T
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

191 lines
7.9 KiB
C#

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.Model;
using Lskj.Control.Model;
using Lskj.Business.Impl;
using DevExpress.XtraEditors;
using DevExpress.XtraTab;
using Lskj.Util;
using Lskj.Data;
using DevExpress.XtraGrid.Views.Grid;
using Lskj.PubAccraditation;
using Lskj.Business;
namespace Lskj.PubAccraditation2
{
public partial class FrmMain : BaseForm
{
/// <summary>
/// 审批配置对象
/// </summary>
public BaseAccraditationModel BaseAccraditModelObj;
/// <summary>
/// 审批公共model
/// </summary>
public BillAuditCommonModel BillComModelObj;
/// <summary>
/// 系统模块配置
/// </summary>
public DynamicPubAccraditionModel SysModel;
/// <summary>
/// 是否在存储过程获得数据
/// </summary>
private bool ProcessExists;
public FrmMain()
{
InitializeComponent();
SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.Selectable | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.SupportsTransparentBackColor, true);
}
#region 方法相关
/// <summary>
/// <para>说明:初始化属性</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-05</para>
/// <para>修改人:龚宇超</para>
/// <para>修改日期:2018-04-19</para>
/// <para>修改备注:1. menuCondRow有为空的情况,需要判断.</para>
/// <para>版本:1.1</para>
/// </summary>
private void InitializeSetting()
{
ProcessExists = (Lskj.Data.Caches.CacheSYSConfig.Instance().JudgeProcessExists()&&SystemInfo.Instance.isExecload);
DataRow menuCondRow = null;
//审批模型
if (ProcessExists)
{
this.BaseAccraditModelObj = new BaseAccraditationModel(Lskj.Data.Caches.CacheSYSConfig.Instance().GetSystemdllTab());
menuCondRow = Lskj.Data.Caches.CacheSYSConfig.Instance().GetMenuConfigTab();
}
else {
DataRow modelRow = BillAuditImpl.GetPubAuditProperty(this.SysModel.ModuleCode);//获取单个模块信息
if (modelRow == null)
{
throw new Exception("模块编号[" + this.SysModel.ModuleCode + "],配置错误!\r\n该模块信息未找到!");
}
this.BaseAccraditModelObj = new BaseAccraditationModel(modelRow);
menuCondRow = BaseImpl.GetMenuConfigTab(this.SysModel.ModuleId);
}
this.BaseAccraditModelObj.MenuCond = menuCondRow != null && menuCondRow.Table.Columns.Contains("StepCodeCond") ? menuCondRow["StepCodeCond"] + "" : "";
this.BaseAccraditModelObj.ColumnPrefix = ProcessExists ? Lskj.Data.Caches.CacheSYSConfig.Instance().GetColumnPrefix():BaseImpl.GetColumnPrefix(this.BaseAccraditModelObj.BillTable);
this.BillComModelObj = new BillAuditCommonModel();
this.auditPanelEx.SectionAccradit = ProcessExists? Lskj.Data.Caches.CacheSYSConfig.Instance().AccessToContentRow(): BaseAuditImpl.GetFlowStepCode(this.SysModel.ModuleCode);
this.auditPanelEx.KeyValue = this.BaseAccraditModelObj.GetParmaryKey(ModuleType.BillAudit);
this.auditPanelEx.InitializeSetting(this.BillComModelObj, SysModel, BaseAccraditModelObj);
//this.auditPanelEx.OnGridViewDoubleCallBack += new EventHandler(OnGridViewDoubleEvent);
//this.auditPanelEx.OnGridFinshViewDoubleCallBack += new EventHandler(OnGridFinshViewDoubleEvent);
this.auditPanelEx.OnBtnSearchCallBack += new BtnSearchGridFinishEventHandler(OnGridFinshSerachEvent);
}
#endregion
#region 事件相关
/// <summary>
/// <para>说明:初始化</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2020-01-26 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
protected override void OnLoad(EventArgs e)
{
WaitForm.ShowForm();
this.auditPanelEx.Visible = false;
try
{
this.InitializeSetting();
}
catch (Exception ex)
{
LogHelper.Instance.WriteError(ex, ResourceKeys.BaseModuleAudit);
//MessageUtil.Show(ex);
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
finally
{
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
WaitForm.HideForm();
this.auditPanelEx.Visible = true;
}
}
/// <summary>
/// 搜索数据
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
void OnGridFinshSerachEvent(object sender, BtnSearchGridFinishArgs e)
{
try
{
this.auditPanelEx.FinishGridObj.SetGridViewDataSource(BillAuditImpl.GetGridFinishData(this.BaseAccraditModelObj, e.CancelFlag, e.Cond));
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
/// <summary>
/// <para>说明:已完成表格双击弹出模块</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-11-30 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="sender">The sender.</param>
void OnGridFinshViewDoubleEvent(object sender, EventArgs e)
{
try
{
GridView gc = sender as GridView;
DataRow dr = gc.GetFocusedDataRow();
if (dr == null) return;
//单据审批弹出模块加载
string[] defaultArgs = string.Format(ModuleArgs.DefaultArgs, this.SysModel.FormText, ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, this.SysModel.Privilege, this.SysModel.ModuleCode).Split('~');
string[] menuArgs = { this.SysModel.ModuleId + "", "", dr[this.auditPanelEx.TmpPrefix + this.BaseAccraditModelObj.DefaultStepField] + "", dr[this.auditPanelEx.TmpPrefix + this.BaseAccraditModelObj.DefaultParmaryField] + "", "", "1" };
string[] args = defaultArgs.Concat(menuArgs).ToArray();
FrmAccraditation frm = new FrmAccraditation();
frm.SysModel = new DynamicPubAccraditionPopModel(args);
frm.Text = this.Text;
DialogResult drr = frm.ShowDialog();
this.auditPanelEx.RefreshTabPage();
frm.Dispose();
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
/// <summary>
/// 优化加载速度
/// </summary>
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
#endregion
}
}