基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,375 @@
|
||||
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.Model;
|
||||
using Lskj.Util;
|
||||
using Lskj.Control;
|
||||
using Lskj.Data;
|
||||
using Lskj.Model;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Core;
|
||||
using DevExpress.XtraTab;
|
||||
using DevExpress.Utils;
|
||||
|
||||
namespace Lskj.ProductionTest
|
||||
{
|
||||
public partial class FrmMain : DevExpress.XtraEditors.XtraForm
|
||||
{
|
||||
#region 公共变量
|
||||
/// <summary>
|
||||
/// 入口模型
|
||||
/// </summary>
|
||||
public DynamicProductionModel SysModel;
|
||||
/// <summary>
|
||||
///查询条件控件
|
||||
/// </summary>
|
||||
public MyControl SearchObj;
|
||||
/// <summary>
|
||||
/// 主控件集
|
||||
/// </summary>
|
||||
public MyControl ControlObj;
|
||||
/// <summary>
|
||||
/// 父容器
|
||||
/// </summary>
|
||||
public MyControl ParentControl;
|
||||
/// <summary>
|
||||
/// 基础模型
|
||||
/// </summary>
|
||||
public ModuleModel MoudleObj;
|
||||
/// <summary>
|
||||
/// 表格明细集合
|
||||
/// </summary>
|
||||
public List<GridDetailModel> GridDetailModelObjs;
|
||||
/// <summary>
|
||||
/// 主键名
|
||||
/// </summary>
|
||||
private string _primaryKey;
|
||||
/// <summary>
|
||||
/// 选项卡排序Sql
|
||||
/// </summary>
|
||||
private Dictionary<string, string> _dicOrder = new Dictionary<string, string>();
|
||||
#endregion
|
||||
|
||||
|
||||
#region 私有变量
|
||||
/// <summary>
|
||||
/// 控件源数据
|
||||
/// </summary>
|
||||
private DataTable _dtFields;
|
||||
/// <summary>
|
||||
/// 主键值
|
||||
/// </summary>
|
||||
private string _keyValue;
|
||||
#endregion
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
#region 窗体加载时
|
||||
/// <summary>
|
||||
/// <para>说明:窗体加载时</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-27</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)
|
||||
{
|
||||
this.splitContainerMain.Visible = false;
|
||||
WaitForm.ShowForm();
|
||||
try
|
||||
{
|
||||
if (DBConfig.Instance.CreateConnection())
|
||||
{
|
||||
this.InitializeSetting();
|
||||
this.InitializeControl();
|
||||
//this.InitlizeSpiltLocation();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Instance.WriteError(ex, "生产排产模块");
|
||||
//MessageUtil.Show(ex);
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message,ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
|
||||
WaitForm.HideForm();
|
||||
this.splitContainerMain.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region 初始化属性
|
||||
/// <summary>
|
||||
/// <para>说明:初始化属性设置</para>
|
||||
/// <para>创建人:王一帆</para>
|
||||
/// <para>创建日期:2019-12-11</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void InitializeSetting()
|
||||
{
|
||||
this._primaryKey = BaseImpl.GetBasePrimaryKey("PC001");
|
||||
this.MoudleObj = new ModuleModel(MainImpl.GetSystemdllTab("PC001"));
|
||||
ERPInfo.Instance.UserName = "管理员";
|
||||
this._dtFields = BaseModuleImpl.GetControlLocation(this.MoudleObj.FormKey, "PC001");
|
||||
//this.GetDetailOrderCond();
|
||||
//if (!string.IsNullOrEmpty(this.SysModel.ParmaryValue))
|
||||
//{
|
||||
// this._keyValue = this.SysModel.ParmaryValue;
|
||||
//}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取明细SQL排序条件
|
||||
/// <summary>
|
||||
/// <para>说明:获取明细SQL排序条件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-07-26 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void GetDetailOrderCond()
|
||||
{
|
||||
string orderStr = string.Empty;
|
||||
foreach (GridDetailModel mode in GridDetailModelObjs)
|
||||
{
|
||||
if (mode.Orderid == -100) continue;
|
||||
DataRow dr = ProduceImpl.GetTabPageOrderCond(mode.UnionModule);
|
||||
if (dr != null) orderStr = dr["MobileOrderStr"] + "";
|
||||
_dicOrder.Add(mode.UnionModule, orderStr);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 初始化控件
|
||||
/// <summary>
|
||||
/// <para>说明:初始化控件</para>
|
||||
/// <para>创建人:王一帆</para>
|
||||
/// <para>创建日期:2019-12-11</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void InitializeControl()
|
||||
{
|
||||
//this.ControlObj = new MyControl();
|
||||
//this.ControlObj.InitControl(_dtFields, this.pl_left_top_search);
|
||||
this.GridDetailModelObjs = GetDetailGrids();
|
||||
this.tabLeftTopDetail.InitTabPages(this.GridDetailModelObjs.Where(o => o.Orderid <= -1 && o.Orderid >= -9).ToList());
|
||||
this.tabLeftBottomDetail.InitTabPages(this.GridDetailModelObjs.Where(o => o.Orderid < -9).ToList());
|
||||
this.tabRightTopDetail.InitTabPages(this.GridDetailModelObjs.Where(o => o.Orderid == 0).ToList());
|
||||
this.tabRightBottomDetail.InitTabPages(this.GridDetailModelObjs.Where(o => o.Orderid == 1).ToList());
|
||||
this.InitSearchFiled();
|
||||
this.SetTabPageStyle();
|
||||
}
|
||||
#endregion
|
||||
#region 设置动态TabPage的样式
|
||||
/// <summary>
|
||||
/// <para>说明:设置动态的TabPage的样式隐藏页签标题</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-27</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void SetTabPageStyle()
|
||||
{
|
||||
tabLeftTopDetail.TabControlObj.ShowTabHeader = tabLeftTopDetail.TabControlObj.TabPages.Count == 1 ? DefaultBoolean.False : DefaultBoolean.Default;
|
||||
tabLeftBottomDetail.TabControlObj.ShowTabHeader = tabLeftBottomDetail.TabControlObj.TabPages.Count == 1 ? DefaultBoolean.False : DefaultBoolean.Default;
|
||||
tabRightTopDetail.TabControlObj.ShowTabHeader = tabRightTopDetail.TabControlObj.TabPages.Count == 1 ? DefaultBoolean.False : DefaultBoolean.Default;
|
||||
tabRightBottomDetail.TabControlObj.HeaderLocation = tabLeftTopDetail.TabControlObj.HeaderLocation = tabLeftBottomDetail.TabControlObj.HeaderLocation = TabHeaderLocation.Bottom;
|
||||
}
|
||||
#endregion
|
||||
#region 初始化搜索
|
||||
/// <summary>
|
||||
/// <para>说明:初始化搜索</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-27</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void InitSearchFiled()
|
||||
{
|
||||
this.SearchObj = new MyControl(this.MoudleObj.MenuSql, null);
|
||||
DataTable queryTable = BaseModuleImpl.GetCustomQueryFields(this.MoudleObj.CondKey);
|
||||
this.SearchObj.ModuleId = 0;
|
||||
this.SearchObj.RememberRow = true;
|
||||
if (queryTable != null && queryTable.Rows.Count > 0)
|
||||
{
|
||||
// 加载自定义查询条件
|
||||
this.pl_left_top_search.Controls.Clear();
|
||||
// this.SearchObj.OtherParams = SysModel.OtherParams();
|
||||
this.SearchObj.InitSearchControl(queryTable, this.pl_left_top_search, null);
|
||||
this.SearchObj.OnSearchBeforeCallBack += new SearchEventHandler(SearchObj_OnSearchBefore);
|
||||
if (this.SearchObj.ControlModels != null && this.SearchObj.ControlModels.Count > 0)
|
||||
{
|
||||
BaseUserControl mControl = this.SearchObj.FindControl(this.SearchObj.ControlModels[0].FieldName);
|
||||
if (mControl != null)
|
||||
{
|
||||
//mControl.EditText = this.SysModel.ParmaryValue;
|
||||
SearchObj_OnSearchBefore(null, null);
|
||||
}
|
||||
|
||||
foreach (ControlModel item in this.SearchObj.ControlModels)
|
||||
{
|
||||
BaseUserControl uControl = this.SearchObj.FindControl(item.FieldName);
|
||||
if (uControl != null)
|
||||
{
|
||||
//this.SysModel.SearchControlEnable
|
||||
uControl.Enabled = true;
|
||||
SearchObj_OnSearchBefore(null, null);
|
||||
}
|
||||
}
|
||||
//this.SysModel.SearchControlEnable
|
||||
this.SearchObj.ButtonObj.Enabled = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 加载固定查询条件
|
||||
DataTable dtCond = BaseModuleImpl.GetFixedQueryFields(this.SysModel.ModuleCode);
|
||||
this.cbField.DisplayMember = "username1";
|
||||
this.cbField.ValueMember = "fieldname";
|
||||
this.cbField.DataSource = dtCond;
|
||||
this.SearchObj.InitDefaultSearchControl(dtCond, this.pl_left_top_search);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取明细
|
||||
/// <summary>
|
||||
/// <para>说明:获取报表明细</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-27 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private List<GridDetailModel> GetDetailGrids()
|
||||
{
|
||||
List<GridDetailModel> details = new List<GridDetailModel>();
|
||||
DataTable moduleDetailBottomTable = BaseModuleImpl.GetBaseDetailPages("PC001");
|
||||
if (moduleDetailBottomTable.Rows.Count == 0)
|
||||
{
|
||||
moduleDetailBottomTable = BaseModuleImpl.GetBaseAddTabDetail("PC001");
|
||||
}
|
||||
|
||||
foreach (DataRow item in moduleDetailBottomTable.Rows)
|
||||
{
|
||||
DataTable dtGridColumns = ReportImpl.GetReportDetailColumns("PC001", item["id"] + "");
|
||||
details.Add(new GridDetailModel(item, dtGridColumns, GridCustomColumnStruct.BaseDetailGridView));
|
||||
}
|
||||
return details;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 自定义搜索事件
|
||||
/// <summary>
|
||||
/// <para>说明:初始化自定义搜索</para>
|
||||
/// <para>创建人:王一帆</para>
|
||||
/// <para>创建日期:2018-02-27</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void SearchObj_OnSearchBefore(object sender, SearchArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
DataRow dataRow = MainImpl.GetDataRowResult(this.SearchObj.SetSearchSqlValue(this.MoudleObj.MenuSql));
|
||||
|
||||
if (dataRow != null)
|
||||
{
|
||||
this._keyValue = dataRow[this._primaryKey] + "";
|
||||
//三部分明细数据源更新
|
||||
setTabPageGridData(tabLeftTopDetail, dataRow);
|
||||
setTabPageGridData(tabLeftBottomDetail, dataRow);
|
||||
//setTabPageGridData(tabRightTopDetail, dataRow);
|
||||
//setTabPageGridData(tabRightBottonDetail, dataRow);
|
||||
//setTabPageGridData(tabRightDetail, dataRow);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message,ex.Message);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 设置选项卡数据源
|
||||
/// <summary>
|
||||
/// <para>说明:设置选项卡数据源</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-27</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void setTabPageGridData(TabControlEx tabDetail, DataRow rowItem)
|
||||
{
|
||||
foreach (XtraTabPage tabPage in tabDetail.TabControlObj.TabPages)
|
||||
{
|
||||
//附件预览跳过
|
||||
if (tabPage.Text == "附件预览")
|
||||
continue;
|
||||
GridDetailModel model = tabDetail.GetGridDetailModel(tabPage);
|
||||
GridControlEx gridControl = tabPage.Tag as GridControlEx;
|
||||
gridControl.LastSearchSql = this.GetSearchSql(model, rowItem);
|
||||
tabDetail.SetGridDataSource(tabPage, MainImpl.GetDataTableResult(gridControl.LastSearchSql));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 获取查询条件
|
||||
/// <summary>
|
||||
/// <para>说明:获取查询条件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-27 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="model">The model.</param>
|
||||
/// <param name="rowItem">The row item.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
protected string GetSearchSql(GridDetailModel model, DataRow rowItem)
|
||||
{
|
||||
string fieldName = !string.IsNullOrEmpty(model.UnionParentField) ? model.UnionParentField : this.MoudleObj.ParmaryKey;
|
||||
string sqlValue = model.IsReadOnly ? model.DetailSql : model.SystemModel.MenuSql;
|
||||
// string orderCond = _dicOrder.FirstOrDefault(o => o.Key == model.UnionModule).Value;
|
||||
if (ReplaceHelper.IsSelect(sqlValue) && !string.IsNullOrEmpty(model.UnionValue))
|
||||
{
|
||||
sqlValue = ReplaceHelper.ReplaceWhereCond(sqlValue) + string.Format(" and {0}='{1}'", model.UnionValue, rowItem[fieldName] + "");
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlValue = ReplaceHelper.ReplaceRowParam(rowItem, sqlValue);
|
||||
}
|
||||
return sqlValue;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user