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.Navigation; using System.Windows.Shapes; using System.Data; namespace SiaSun.LMS.WPFClient.WH { /// /// WH_CELL_STATUS.xaml 的交互逻辑 /// public partial class WH_CELL_STATUS : AvalonDock.DocumentContent { bool boolAllowEdit = true; string strTableName = string.Empty; string strOrderField = string.Empty; string strTotalColumn = string.Empty; string strWhere = string.Empty; DataRowView[] listDataRowView = null; public WH_CELL_STATUS(string TabText, string TableName, string QueryWhere, string OrderField, bool AllowEdit, string TotalColumnName) { InitializeComponent(); //设置空间属性 this.Title = TabText; this.boolAllowEdit = AllowEdit; this.strTableName = TableName; this.strOrderField = OrderField; this.strTotalColumn = TotalColumnName; this.strWhere = QueryWhere; this.ucQKQuery.U_Query += new UC.ucQuickQuery.U_QueryEventHandler(ucQKQuery_U_Query); } //加载窗体 private void DocumentContent_Loaded(object sender, RoutedEventArgs e) { //初始化查询控件 InitQueryControl(); //加载数据 LoadDataGrid(); CELL_STATUS_Bind(); RUN_STATUS_Bind(); } /// /// 初始化查询控件 /// private void InitQueryControl() { try { this.ucQKQuery.U_WindowName = this.GetType().Name; this.ucQKQuery.U_XmlTableName = this.strTableName; this.ucQKQuery.U_InitControl(); } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } /// /// 加载数据 /// private void LoadDataGrid() { try { this.gridQuery.U_WindowName = this.GetType().Name; this.gridQuery.U_TableName = this.strTableName; this.gridQuery.U_Where = this.strWhere; this.gridQuery.U_OrderField = this.strOrderField; this.gridQuery.U_TotalColumnName = this.strTotalColumn; this.gridQuery.U_AllowOperatData = this.boolAllowEdit; this.gridQuery.U_AllowPage = true; this.gridQuery.U_AllowChecked = true; this.gridQuery.U_InitControl(); } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } private void CELL_STATUS_Bind() { this.cbbCELL_STATUS.DisplayMemberPath = "ITEM_LIST_NAME"; this.cbbCELL_STATUS.SelectedValuePath = "ITEM_LIST_CODE"; try { this.cbbCELL_STATUS.ItemsSource = MainApp._I_SystemService.ITEM_LIST_GetList_ITEM_CODE("CELL_STATUS"); } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } private void RUN_STATUS_Bind() { this.cbbRUN_STATUS.DisplayMemberPath = "ITEM_LIST_NAME"; this.cbbRUN_STATUS.SelectedValuePath = "ITEM_LIST_CODE"; try { this.cbbRUN_STATUS.ItemsSource = MainApp._I_SystemService.ITEM_LIST_GetList_ITEM_CODE("RUN_STATUS"); } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } void ucQKQuery_U_Query(string QueryWhere) { try { //查询 this.strWhere = string.IsNullOrEmpty(strWhere) ? "1=1" : strWhere; this.gridQuery.U_Where = string.IsNullOrEmpty(QueryWhere) ? strWhere : (QueryWhere.Length == 0 ? string.Empty : QueryWhere + " AND " + strWhere); this.gridQuery.U_InitControl(); } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } //点击按钮 private void WrapPanel_Click(object sender, RoutedEventArgs e) { Button btn = e.OriginalSource as Button; if (btn != null) { switch (btn.Name) { case "btnConfirm": this.Confirm(); break; case "btnRefresh": this.Refresh(); break; default: break; } } } private void Confirm() { string strCELL_ID=string.Empty; string strCELL_NAME = string.Empty; try { #region 校验所选记录 listDataRowView = this.gridQuery.U_GetCheckedDataRows(); if (listDataRowView.Length == 0) { MainApp._MessageDialog.Show(false, "请选中要维护的货位记录"); return; } #endregion #region 校验货位状态、运行状态 if (this.cbbCELL_STATUS.SelectedValue == null && this.cbbRUN_STATUS.SelectedValue == null) { MainApp._MessageDialog.Show(false, "请选择[货位状态]或[运行状态]"); return; } #endregion string CELL_STATUS = string.Empty; if (this.cbbCELL_STATUS.SelectedValue != null) { CELL_STATUS = this.cbbCELL_STATUS.SelectedValue.ToString(); } string RUN_STATUS = string.Empty; if (this.cbbRUN_STATUS.SelectedValue != null) { RUN_STATUS = this.cbbRUN_STATUS.SelectedValue.ToString(); } if (MainApp._MessageDialog.ShowDialog(string.Format("确认编辑所选记录:{0} {1}", string.IsNullOrEmpty(CELL_STATUS) ? string.Empty : string.Format("货位状态[{0}]", CELL_STATUS), string.IsNullOrEmpty(RUN_STATUS) ? string.Empty : string.Format("运行状态[{0}]", RUN_STATUS))) == Sid.Windows.Controls.TaskDialogResult.Cancel) { return; } var cell_id_group = from v in listDataRowView group v by v["CELL_ID"].ToString() into a select a; var cell_name_group = from v in listDataRowView group v by v["CELL_NAME"].ToString() into a select a; foreach (var cell_id in cell_id_group) { strCELL_ID += "," + cell_id.Key; } foreach (var cell_name in cell_name_group) { strCELL_NAME += "," + cell_name.Key; } strCELL_ID = strCELL_ID.Substring(1, strCELL_ID.Length-1); strCELL_NAME = strCELL_NAME.Substring(1, strCELL_NAME.Length - 1); string strUPDATE = string.Format(@"UPDATE WH_CELL SET LOGIC_ID=0{0}{1} WHERE CELL_ID IN ({2})", string.IsNullOrEmpty(CELL_STATUS)?string.Empty:string.Format(",CELL_STATUS='{0}'",CELL_STATUS), string.IsNullOrEmpty(RUN_STATUS)?string.Empty:string.Format(",RUN_STATUS='{0}'",RUN_STATUS), strCELL_ID); int sCount = MainApp._I_BaseService.ExecuteNonQuery_ReturnInt(strUPDATE); #region 生成日志 MainApp._I_BaseService.CreateSYS_LOG("货位状态维护", MainApp._USER.USER_NAME, "1", string.Format("{0} {1} 货位[{2}]", string.IsNullOrEmpty(CELL_STATUS)?string.Empty:string.Format("货位状态[{0}]",CELL_STATUS), string.IsNullOrEmpty(RUN_STATUS)?string.Empty:string.Format("运行状态[{0}]",RUN_STATUS), strCELL_NAME)); if (sCount > 0) { MainApp._MessageDialog.Show(true, "操作成功"); this.Refresh(); } #endregion } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } /// /// 刷新 /// private void Refresh() { this.LoadDataGrid(); CELL_STATUS_Bind(); RUN_STATUS_Bind(); } } }