You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
7.3 KiB
169 lines
7.3 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace SiaSun.LMS.WPFClient.Dialog
|
|
{
|
|
/// <summary>
|
|
/// DateBetweenSplitQueryWindow.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class DateSectSplitQueryWindow : AvalonDock.DocumentContent
|
|
{
|
|
string strStartDateTimeColumn = string.Empty;
|
|
string strEndDateTimeColumn = string.Empty;
|
|
string strTableName = string.Empty;
|
|
string strWhere = string.Empty;
|
|
string strOrder = string.Empty;
|
|
string strTotal = string.Empty;
|
|
|
|
string strSplitGroupColumn = string.Empty;
|
|
string strSplitGroupHeader = string.Empty;
|
|
string strSplitPropertyType = string.Empty;
|
|
string strSplitPropertyColumn = string.Empty;
|
|
|
|
public DateSectSplitQueryWindow(string _StartDateTimeColumn, string _EndDateTimeColumn,
|
|
string _TableName, string _Where, string _Order,string _strTotal,
|
|
string _SplitPropertyType,string _SplitGroupColumn, string _SplitGroupHeader, string _SplitPropertyColumn)
|
|
{
|
|
InitializeComponent();
|
|
|
|
strStartDateTimeColumn = _StartDateTimeColumn;
|
|
strEndDateTimeColumn = _EndDateTimeColumn;
|
|
strTableName = _TableName;
|
|
strWhere = _Where;
|
|
strOrder = _Order;
|
|
strTotal = _strTotal;
|
|
|
|
strSplitPropertyType = _SplitPropertyType;
|
|
strSplitGroupColumn = _SplitGroupColumn;
|
|
strSplitGroupHeader = _SplitGroupHeader;
|
|
strSplitPropertyColumn = _SplitPropertyColumn;
|
|
|
|
//判断是否显示时间段
|
|
panelDateTime.Visibility = (string.IsNullOrEmpty(strStartDateTimeColumn) && string.IsNullOrEmpty(strEndDateTimeColumn)) ? Visibility.Collapsed : System.Windows.Visibility.Visible;
|
|
if (strStartDateTimeColumn == "ENTRY_TIME" && strTableName == "V_STORAGE_LIST")
|
|
{
|
|
this.chkboxDate.IsChecked = false;
|
|
}
|
|
|
|
this.ucQuery.U_Query += new UC.ucQuickQuery.U_QueryEventHandler(ucQuery_U_Query);
|
|
}
|
|
|
|
private void DocumentContent_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
//默认日期
|
|
this.dtpStart.SelectedDate = DateTime.Now;
|
|
this.dtpEnd.SelectedDate = DateTime.Now;
|
|
|
|
//初始化属性面板
|
|
this.InitSplitPropertyPanel();
|
|
//初始化查询控件
|
|
this.InitQueryControl();
|
|
//加载查询
|
|
this.ucQuery_U_Query(null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 初始化属性面板
|
|
/// </summary>
|
|
private void InitSplitPropertyPanel()
|
|
{
|
|
this.ucSplitPanel.U_SplitPropertyType = strSplitPropertyType;
|
|
this.ucSplitPanel.U_SplitGroupColumn = strSplitGroupColumn;
|
|
this.ucSplitPanel.U_SplitGroupHeader = strSplitGroupHeader;
|
|
this.ucSplitPanel.U_SplitPropertyColumn = strSplitPropertyColumn;
|
|
this.ucSplitPanel.U_InitControl();
|
|
}
|
|
|
|
#region ------查询
|
|
|
|
/// <summary>
|
|
/// 初始化查询控件
|
|
/// </summary>
|
|
private void InitQueryControl()
|
|
{
|
|
this.ucQuery.U_WindowName = this.GetType().Name;
|
|
this.ucQuery.U_XmlTableName = strTableName ;
|
|
this.ucQuery.U_InitControl();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 开始查询
|
|
/// </summary>
|
|
void ucQuery_U_Query(string QueryWhere)
|
|
{
|
|
MainWindow.mainWin.Cursor = Cursors.Wait;
|
|
string strDateWhere = (this.panelDateTime.Visibility == System.Windows.Visibility.Visible ? this.GetDateStr() : string.Empty);
|
|
string strSplitWhere = this.ucSplitPanel.U_GetSplitPropertyWhere();
|
|
string strAppendWhere = string.Format("{0} AND {1} AND {2}",
|
|
string.IsNullOrEmpty(QueryWhere)?"1=1":QueryWhere,
|
|
string.IsNullOrEmpty(strDateWhere)?"1=1":strDateWhere,
|
|
string.IsNullOrEmpty(strSplitWhere)?"1=1":strSplitWhere);
|
|
|
|
this.ucSplitGrid.U_WindowName = this.GetType().Name;
|
|
this.ucSplitGrid.U_XmlTableName = strTableName;
|
|
this.ucSplitGrid.U_TableName = strTableName;
|
|
this.ucSplitGrid.U_AppendWhere = strAppendWhere;
|
|
this.ucSplitGrid.U_Where = strWhere;
|
|
this.ucSplitGrid.U_OrderField = strOrder;
|
|
this.ucSplitGrid.U_TotalColumnName = strTotal;
|
|
|
|
this.ucSplitGrid.U_AllowOperatData = false;
|
|
this.ucSplitGrid.U_AllowChecked = false;
|
|
|
|
this.ucSplitGrid.U_SplitPropertyType = this.strSplitPropertyType;
|
|
this.ucSplitGrid.U_SplitGroupColumn = this.strSplitGroupColumn;
|
|
this.ucSplitGrid.U_SplitGroupHeader = this.strSplitGroupHeader;
|
|
this.ucSplitGrid.U_SplitPropertyColumn = this.strSplitPropertyColumn;
|
|
this.ucSplitGrid.U_InitControl();
|
|
MainWindow.mainWin.Cursor = Cursors.Arrow;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获得时间查询条件
|
|
/// </summary>
|
|
private string GetDateStr()
|
|
{
|
|
string strDateWhere = string.Empty;
|
|
|
|
//判断是否添加时间查询
|
|
if (chkboxDate.IsChecked == true)
|
|
{
|
|
//判断选择的值
|
|
if (this.dtpStart.SelectedDate.HasValue && !this.dtpEnd.SelectedDate.HasValue)
|
|
{
|
|
strDateWhere = string.Format("({0}>='{1} 00:00:00')",
|
|
strStartDateTimeColumn,
|
|
this.dtpStart.SelectedDate.Value.ToString("yyyy-MM-dd"));
|
|
}
|
|
else if (!this.dtpStart.SelectedDate.HasValue && this.dtpEnd.SelectedDate.HasValue)
|
|
{
|
|
strDateWhere = string.Format("({0}<='{1} 24:60:60')",
|
|
strEndDateTimeColumn,
|
|
this.dtpEnd.SelectedDate.Value.ToString("yyyy-MM-dd"));
|
|
}
|
|
else if (this.dtpStart.SelectedDate.HasValue && this.dtpEnd.SelectedDate.HasValue)
|
|
{
|
|
strDateWhere = string.Format("({0}>='{1} 00:00:00' AND {2}<='{3} 24:60:60')",
|
|
strStartDateTimeColumn,
|
|
this.dtpStart.SelectedDate.Value.ToString("yyyy-MM-dd"),
|
|
strEndDateTimeColumn,
|
|
this.dtpEnd.SelectedDate.Value.ToString("yyyy-MM-dd"));
|
|
|
|
}
|
|
}
|
|
return strDateWhere;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|