2023-05-23 16:13:17 +08:00
using System ;
using System.Collections.Generic ;
using System.ComponentModel ;
using System.Data ;
using System.Drawing ;
using System.Text ;
using System.Linq ;
using System.Windows.Forms ;
using DevExpress.XtraBars ;
using DevExpress.XtraGrid.Views.Base ;
//using DeiNiu.wms.Logical;
using DeiNiu.wms.Data ;
using DevExpress.XtraGrid.Columns ;
using System.Threading ;
using DevExpress.XtraGrid.Views.Grid ;
using DevExpress.XtraEditors.DXErrorProvider ;
using DeiNiu.wms.Data.Model ;
using DevExpress.XtraEditors ;
using DevExpress.XtraEditors.Controls ;
using DeiNiu.Utils ;
using DeiNiu.wms.win.ServiceReferenceGoods ;
namespace DeiNiu.wms.win
{
public partial class GoodsStockQueryForm : BasicRibbonForm
{
// lWmsGoods lgt = new lWmsGoods();
private string fieldName = WmsLocation . fields . locationId . ToString ( ) ;
private string fieldGoodType = WmsLocation . fields . whGoodsType . ToString ( ) ;
private string lastQuery = "" ;
private DataTable dtSum ;
string queryStr = "" ;
private DataTable dtDetail ;
private int selectedRowIndex = - 1 ;
private string selectedGoodsId ;
private int selectedSkuId ;
private bool isWhLocationQuery = false , showLocDetail = true ;
public GoodsStockQueryForm ( )
{
InitializeComponent ( ) ;
2023-12-03 22:13:49 +08:00
try
{
initialControls ( ) ;
}
catch ( Exception er )
{
showErrorMsg ( er ) ;
}
2023-05-23 16:13:17 +08:00
// loadData();
}
#region initialControls
private void initialControls ( )
{
layoutControlWaitting . Expanded = true ;
initialComboBoxes ( ) ;
initialPagerControls ( ) ;
initialDataGrid ( ) ;
initialQueryInput ( ) ;
setValidationRule ( ) ;
chkBatch . Checked = false ;
}
private void initialComboBoxes ( )
{
//initialComboBoxe(comboType, this.stkdiff);
this . comboState . Properties . TextEditStyle = TextEditStyles . DisableTextEditor ;
initialComboBoxs ( comboState , this . stockState ) ;
Node [ ] nds = { } ;
DataRow [ ] drs = Park . getDictionary ( true ) . Select ( "flag >0" ) ;
foreach ( DataRow dr in drs )
{
int flag = Convert . ToInt32 ( dr [ "flag" ] . ToString ( ) ) ;
int parentId = Convert . ToInt32 ( dr [ "id" ] . ToString ( ) ) ;
DataRow [ ] drss = Park . getDictionary ( false ) . Select ( "parentId =" + parentId ) ;
switch ( flag )
{
case 1001 :
initialComboBoxs ( this . comboBoGoodsType , drss ) ; //商品类型
break ;
case 2001 :
initialComboBoxs ( this . comboBoWarehouse , drss ) ; //库房
2024-02-06 19:36:47 +08:00
initialComboBoxs ( this . comWarehouse , drss ) ; //库房
2023-05-23 16:13:17 +08:00
break ;
case 2005 :
initialComboBoxs ( this . comboBoPart , drss ) ; //分区
break ;
}
}
string [ ] alerts = { "低库存" , "高库存" , "无库存" } ;
2023-11-21 19:18:23 +08:00
initialComboBoxs ( this . comboStkType , whType , true ) ;
2023-05-23 16:13:17 +08:00
initialComboBoxs ( this . comStoreAlert , alerts , "全部" ) ;
}
private void setValidationRule ( )
{
// dxValidationProvider.SetValidationRule(comWarehouse, ValidationRules.notEmptyValidationRule);
//txtGoodType.Properties.MaxLength = 40;
//txtGoodDesc.Properties.MaxLength = 250;
//textEdit1.Properties.MaxLength = txtGoodType.Properties.MaxLength;
}
private void initialQueryInput ( )
{
}
private void initialDataGridColumns ( GridView gridview )
{
setupGridView ( gridview , true ) ;
// gridviewGoodsType.PopulateColumns();
gridview . Columns . Clear ( ) ;
// gridviewGoodsType.Columns.Remove(gridviewGoodsType.Columns["DealerPrice"]);
GridColumn myCol0 = new GridColumn ( ) { Caption = "ID" , Visible = true , FieldName = "id" } ;
myCol0 . Visible = false ;
GridColumn myCol1 = new GridColumn ( ) { Caption = "商品编码" , Visible = true , FieldName = WmsGoods . fields . goodsId . ToString ( ) } ;
GridColumn myCol2 = new GridColumn ( ) { Caption = "商品名称" , Visible = true , FieldName = WmsGoods . exfields . goodsName . ToString ( ) } ;
GridColumn myCol3 = new GridColumn ( ) { Caption = "厂家" , Visible = true , FieldName = WmsGoods . exfields . manufacturer . ToString ( ) } ;
GridColumn myCol4 = new GridColumn ( ) { Caption = "规格" , Visible = true , FieldName = WmsGoods . exfields . spec . ToString ( ) , Width = 100 } ;
GridColumn myCol5 = new GridColumn ( ) { Caption = "单位" , Visible = true , FieldName = WmsGoods . exfields . unit . ToString ( ) } ;
GridColumn myCol6 = new GridColumn ( ) { Caption = "大包装数量" , Visible = true , FieldName = WmsGoods . exfields . bigCount . ToString ( ) } ;
GridColumn myCol7 = new GridColumn ( ) { Caption = "剂型" , Visible = true , FieldName = WmsGoods . exfields . type . ToString ( ) } ;
GridColumn myCol8 = new GridColumn ( ) { Caption = "商品类型" , Visible = true , FieldName = WmsGoods . exfields . goodsTypeName . ToString ( ) } ;
/ * GridColumn myCol9 = new GridColumn ( ) { Caption = "大零" , Visible = true , FieldName = WmsGoods . fields . bulkMax . ToString ( ) } ;
GridColumn myCol10 = new GridColumn ( ) { Caption = "小整" , Visible = true , FieldName = WmsGoods . fields . batchMax1 . ToString ( ) } ;
GridColumn myCol11 = new GridColumn ( ) { Caption = "大整" , Visible = true , FieldName = WmsGoods . fields . batchMax2 . ToString ( ) } ; * /
GridColumn myCol12 = new GridColumn ( ) { Caption = "厂家批号" , Visible = true , FieldName = "batch" } ;
// GridColumn myCol13 = new GridColumn() { Caption = "拼音简码", Visible = true, FiemcldName ="pinYin" };
GridColumn myCol14 = new GridColumn ( ) { Caption = "货位" , Visible = true , FieldName = "locationId" } ;
2023-11-21 19:18:23 +08:00
GridColumn myCol141 = new GridColumn ( ) { Caption = "库房" , Visible = true , FieldName = "whType" } ;
GridColumn myCol201 = new GridColumn ( ) { Caption = "储位数量" , Visible = true , FieldName = "shelfCount" } ;
2023-05-23 16:13:17 +08:00
GridColumn myCol20 = new GridColumn ( ) { Caption = "可用数量" , Visible = true , FieldName = "avCount" } ;
GridColumn myCol21 = new GridColumn ( ) { Caption = "国药准字 " , Visible = true , FieldName = WmsGoods . exfields . regeditCode . ToString ( ) } ;
GridColumn myCol10 = new GridColumn ( ) { Caption = "生产日期" , Visible = true , FieldName = WmsStock . fields . productDate . ToString ( ) } ;
GridColumn myCol11 = new GridColumn ( ) { Caption = "有效期" , Visible = true , FieldName = WmsStock . fields . validDate . ToString ( ) } ;
2023-11-21 19:18:23 +08:00
GridColumn myCol22 = new GridColumn ( ) { Caption = "可用件数" , Visible = true , FieldName = "boxcnt" } ;
2023-05-23 16:13:17 +08:00
GridColumn myCol123 = new GridColumn ( ) { Caption = "货位状态" , Visible = true , FieldName = "locState" } ;
2023-11-21 19:18:23 +08:00
GridColumn myCol124 = new GridColumn ( ) { Caption = "库存状态" , Visible = true , FieldName = "state" } ;
2023-05-23 16:13:17 +08:00
GridColumn myCol125 = new GridColumn ( ) { Caption = "出库待下架" , Visible = true , FieldName = "countOuting" } ;
GridColumn myCol126 = new GridColumn ( ) { Caption = "入库待上架" , Visible = true , FieldName = "countIn" } ;
GridColumn myCol127 = new GridColumn ( ) { Caption = "低预警值" , Visible = true , FieldName = "lowStore" } ;
GridColumn myCol128 = new GridColumn ( ) { Caption = "高预警值" , Visible = true , FieldName = "highStore" } ;
GridColumn myCol130 = new GridColumn ( ) { Caption = "skuId" , Visible = true , FieldName = "skuId" } ;
GridColumn myCol131 = new GridColumn ( ) { Caption = "sku" , Visible = true , FieldName = "skuCode" } ;
GridColumn myCol132 = new GridColumn ( ) { Caption = "货主" , Visible = true , FieldName = "ownerName" } ;
GridColumn myCol133 = new GridColumn ( ) { Caption = "容器" , Visible = true , FieldName = "plateId" } ;
2023-11-21 19:18:23 +08:00
GridColumn myCol134 = new GridColumn ( ) { Caption = "配送在途数量" , Visible = true , FieldName = "plateCount" } ;
2024-02-06 19:36:47 +08:00
GridColumn myCol135 = new GridColumn ( ) { Caption = "出库借入数量" , Visible = true , FieldName = "virtialCount" } ;
GridColumn myCol136 = new GridColumn ( ) { Caption = "欠货数量" , Visible = true , FieldName = "lackCount" } ;
2023-11-21 19:18:23 +08:00
if ( gridview = = gridView2 )
2023-05-23 16:13:17 +08:00
{
gridview . Columns . Add ( myCol14 ) ;
2023-11-21 19:18:23 +08:00
gridview . Columns . Add ( myCol141 ) ;
2024-02-06 19:36:47 +08:00
gridview . Columns . Add ( myCol130 ) ;
2023-11-21 19:18:23 +08:00
gridview . Columns . Add ( myCol133 ) ;
2023-05-23 16:13:17 +08:00
gridview . Columns . Add ( myCol201 ) ;
gridview . Columns . Add ( myCol20 ) ;
gridview . Columns . Add ( myCol5 ) ;
gridview . Columns . Add ( myCol22 ) ;
gridview . Columns . Add ( myCol123 ) ;
gridview . Columns . Add ( myCol125 ) ;
gridview . Columns . Add ( myCol126 ) ;
}
else
{
gridview . Columns . Add ( myCol2 ) ;
2023-11-21 19:18:23 +08:00
gridview . Columns . Add ( myCol1 ) ;
// gridview.Columns.Add(myCol132);
//gridview.Columns.Add(myCol14);
gridview . Columns . Add ( myCol141 ) ;
gridview . Columns . Add ( myCol124 ) ;
2023-05-23 16:13:17 +08:00
2023-11-21 19:18:23 +08:00
if ( isWhLocationQuery )
2023-05-23 16:13:17 +08:00
{
2024-02-06 19:36:47 +08:00
gridview . Columns . Add ( myCol130 ) ;
gridview . Columns . Add ( myCol12 ) ;
2023-05-23 16:13:17 +08:00
gridview . Columns . Add ( myCol14 ) ;
2024-02-06 19:36:47 +08:00
if ( chkVir . Checked )
{
gridview . Columns . Add ( myCol136 ) ;
}
2023-05-23 16:13:17 +08:00
} else
2023-11-21 19:18:23 +08:00
if ( chkBatch . Checked )
2023-05-23 16:13:17 +08:00
{
2023-11-21 19:18:23 +08:00
2023-05-23 16:13:17 +08:00
gridview . Columns . Add ( myCol130 ) ;
gridview . Columns . Add ( myCol12 ) ;
}
2023-11-21 19:18:23 +08:00
gridview . Columns . Add ( myCol201 ) ;
2023-05-23 16:13:17 +08:00
gridview . Columns . Add ( myCol20 ) ;
2023-11-21 19:18:23 +08:00
gridview . Columns . Add ( myCol134 ) ;
2024-02-06 19:36:47 +08:00
gridview . Columns . Add ( myCol135 ) ;
gridview . Columns . Add ( myCol22 ) ;
2023-05-23 16:13:17 +08:00
gridview . Columns . Add ( myCol125 ) ;
gridview . Columns . Add ( myCol126 ) ;
gridview . Columns . Add ( myCol5 ) ;
if ( chkBatch . Checked )
{
gridview . Columns . Add ( myCol130 ) ;
gridview . Columns . Add ( myCol10 ) ;
gridview . Columns . Add ( myCol11 ) ;
}
gridview . Columns . Add ( myCol6 ) ;
gridview . Columns . Add ( myCol8 ) ;
gridview . Columns . Add ( myCol4 ) ;
gridview . Columns . Add ( myCol21 ) ;
2023-11-21 19:18:23 +08:00
2023-05-23 16:13:17 +08:00
gridview . Columns . Add ( myCol3 ) ;
2023-11-21 19:18:23 +08:00
if ( ! chkBatch . Checked )
{
gridview . Columns . Add ( myCol127 ) ;
gridview . Columns . Add ( myCol128 ) ;
}
}
2023-05-23 16:13:17 +08:00
//to show bottom scroll bar
gridview . OptionsView . ColumnAutoWidth = false ;
gridview . BestFitColumns ( ) ;
// gridview.Focus();
}
#endregion
/// <summary>
/// loading data
/// </summary>
private int loadData ( )
{
//this.gridviewGoodsType.DataSource = lgt.GetAllActiveData().Tables[0].DefaultView;
gridControl1 . DataSource = null ;
gridControl2 . DataSource = null ;
showWaitForm ( ) ;
try
{
// this.splashScreenManager1.ShowWaitForm();
// isWhLocationQuery =(comboBoWarehouse.SelectedIndex > 0 || txtLocation.Text.Trim().Length > 0);
queryStr = "" ;
if ( isWhLocationQuery )
{
queryStr = ( this . comboBoWarehouse . SelectedIndex < = 0 ? "" : string . Format ( "{0} = #{1};" , WmsLocation . fields . warehouse . ToString ( ) , ( ( Node ) this . comboBoWarehouse . SelectedItem ) . ID ) )
+ ( this . txtLocation . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} like # '%{1}%';" , WmsStock . fields . locationId . ToString ( ) , filtRiskChar ( txtLocation . Text . Trim ( ) ) ) )
+ ( this . txtPlate . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} = #{1};" , WmsStock . fields . plateId . ToString ( ) , filtRiskChar ( txtPlate . Text . Trim ( ) ) ) )
;
showLocDetail = false ;
}
else
{
showLocDetail = true ;
if ( ! chkBatch . Checked )
{
queryStr + = this . comStoreAlert . SelectedIndex < = 0 ? ""
: this . comStoreAlert . SelectedIndex = = 1 ? " 0< isnull(avCount,0) and isnull(avCount,0) <lowStore ;"
: this . comStoreAlert . SelectedIndex = = 2 ? " highStore >0 and isnull(avCount,0) > highStore;"
: " isnull(avCount,0) =0;"
;
showLocDetail = false ;
}
else
{
queryStr + = ( this . txtSkuId . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} =#{1};" , "SKUID" , filtRiskChar ( txtSkuId . Text . Trim ( ) ) ) ) ;
}
}
2023-11-21 19:18:23 +08:00
queryStr + = ( this . comboState . SelectedIndex < 0 ? "" : string . Format ( "{0} = #{1};" , WmsLocation . fields . whType . ToString ( ) , ( ( Colitem ) this . comboStkType . SelectedItem ) . key ) )
2023-05-23 16:13:17 +08:00
+ ( this . txtGoodsId . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} = # '{1}';" , WmsStock . fields . goodsId . ToString ( ) , filtRiskChar ( txtGoodsId . Text . Trim ( ) ) ) )
2024-02-06 19:36:47 +08:00
+ ( this . comboBoPart . SelectedIndex < = 0 ? "" : string . Format ( "{0} = #{1};" , WmsLocation . fields . part . ToString ( ) , ( ( Node ) this . comboBoPart . SelectedItem ) . ID ) )
2023-05-23 16:13:17 +08:00
+ ( this . comboState . SelectedIndex < = 0 ? "" : string . Format ( "{0} = #{1};" , WmsLocation . fields . state . ToString ( ) , ( ( Colitem ) this . comboState . SelectedItem ) . key ) )
+ ( this . comboBoGoodsType . SelectedIndex < = 0 ? "" : string . Format ( "{0} = #{1};" , WmsLocation . fields . goodsType . ToString ( ) , ( ( Node ) this . comboBoGoodsType . SelectedItem ) . ID ) )
+ ( this . txtGoodName . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} like # '%{1}%';" , WmsGoods . exfields . goodsName . ToString ( ) , filtRiskChar ( txtGoodName . Text . Trim ( ) ) ) )
+ ( this . txtpinyin . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} like # '%{1}%';" , WmsGoods . exfields . pinYin . ToString ( ) , filtRiskChar ( txtpinyin . Text . Trim ( ) ) ) )
2024-02-06 19:36:47 +08:00
+ ( chkBatch . Checked ?
2023-05-23 16:13:17 +08:00
( this . textBatch . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} like # '%{1}%';" , WmsStock . fields . batch . ToString ( ) , filtRiskChar ( textBatch . Text . Trim ( ) ) ) )
2024-02-06 19:36:47 +08:00
: "" )
2023-05-23 16:13:17 +08:00
+ ( this . txtProddate . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} like # '{1}%';" , WmsStock . fields . productDate . ToString ( ) , filtRiskChar ( txtProddate . Text . Trim ( ) ) ) )
+ ( this . txtValiddate . Text . Trim ( ) . Length = = 0 ? "" : string . Format ( "{0} like # '{1}%';" , WmsStock . fields . validDate . ToString ( ) , filtRiskChar ( txtValiddate . Text . Trim ( ) ) ) )
2024-02-06 19:36:47 +08:00
+ ( this . comWarehouse . SelectedIndex < = 0 ? "" : string . Format ( "{0} = #{1};" , WmsLocation . fields . warehouse . ToString ( ) , ( ( Node ) this . comWarehouse . SelectedItem ) . ID ) )
2023-05-23 16:13:17 +08:00
;
2024-02-06 19:36:47 +08:00
queryStr + = chkVir . Checked ?
string . Format ( "{0} = # '{1}';" , WmsLocation . fields . volType . ToString ( ) , ( int ) enumWhLocVol . 虚 拟 )
+ " lackCount>0 "
: "" ;
2023-05-23 16:13:17 +08:00
this . pager1 . PageCurrent = lastQuery . Equals ( queryStr ) ? this . pager1 . PageCurrent : 1 ; //根据查询条件的变化给pager赋值
int start = ( pager1 . PageSize * ( pager1 . PageCurrent - 1 ) + 1 ) ;
int end = ( pager1 . PageSize * pager1 . PageCurrent ) ;
lastQuery = queryStr ;
2024-02-06 19:36:47 +08:00
isWhLocationQuery = isWhLocationQuery | | chkVir . Checked ;
DataSet ds = isWhLocationQuery ? stkLocClient . queryStockGoods ( queryStr , start , end ) : //v_stockGoods
chkBatch . Checked ?
stkLocClient . querySumStockGoods ( queryStr , start , end ) : //批次信息 查询 v_stockGoodsSumDesc
stkLocClient . querySumStockGoodsNoBatch ( queryStr , start , end ) ; //无批次信息汇总 v_stockGoodsSumNoBatchAlert
2023-05-23 16:13:17 +08:00
closeClient ( ) ;
dtSum = ds . Tables [ 0 ] ;
int cnt = Convert . ToInt32 ( ds . Tables [ 1 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ) ;
//dt = lgt.Query(query, start, end); //string.IsNullOrEmpty(query) ? lgt.GetGoodType.getAllData(start, end) : lgt.g;
// dtSum.PrimaryKey = new DataColumn[] { dtSum.Columns["goodsId"], dtSum.Columns["batch"] };
this . gridControl1 . DataSource = dtSum . DefaultView ;
// gridView1.OptionsView.ColumnAutoWidth = true;
initialDataGridColumns ( this . gridView1 ) ;
//update selected row index to the last updated one.
if ( showLocDetail & & ! string . IsNullOrEmpty ( selectedGoodsId ) )
{
DataRow [ ] drs = dtSum . Select ( string . Format ( "goodsId='{0}' and skuId ='{1}'" , selectedGoodsId , selectedSkuId ) ) ;
DataRow dr = null ;
if ( drs . Length > 0 )
{
dr = drs [ 0 ] ;
}
if ( dr ! = null )
{
selectedRowIndex = dtSum . Rows . IndexOf ( dr ) ;
if ( selectedRowIndex > 0 & & dtSum . Rows . Count > selectedRowIndex )
{
// gridView1.SelectRow(selectedRowIndex);
gridView1 . FocusedRowHandle = selectedRowIndex ;
// gridView1.MakeRowVisible(selectedRowIndex);
}
}
else
{
gridView1 . FocusedRowHandle = 0 ;
gridView1 . SelectRow ( 0 ) ;
}
//gridView1.FocusedRowHandle = selectedRowIndex;
}
else
{
gridView1 . FocusedRowHandle = 0 ;
gridView1 . SelectRow ( 0 ) ;
}
if ( dtSum . Rows . Count > 0 & & selectedRowIndex = = - 1 )
{
selectedRowIndex = 0 ;
}
setCurrentRequestDetail ( ) ;
closeWaitForm ( ) ;
return cnt ; // lgt.getRowCount(query);
// return lgt.GetGoodType.QueryCount();
}
catch ( Exception er )
{
showErrorMsg ( er , er . Message ) ;
}
return 0 ;
}
/// <summary>
/// 分页控件产生的事件
/// </summary>
private int pager_EventPaging ( DeiNiu . Controls . pager . EventPagingArg e )
{
// selectedRowIndex = 0; //reset currentRowIndex
return loadData ( ) ;
}
private void initialPagerControls ( )
{
pager1 . MaximumSize = new Size ( 0 , 20 ) ;
pager1 . EventPaging + = new DeiNiu . Controls . pager . EventPagingHandler ( pager_EventPaging ) ;
#region DataGridView与Pager控件绑定
this . pager1 . PageCurrent = 1 ; //当前页为第一页
pager1 . PageSize = Utils . WmsConstants . PAGER_SIZE ; //每页行数
// this.pager1.Bind();//绑定
#endregion
}
private void initialDataGrid ( )
{
gridView1 . OptionsSelection . MultiSelect = true ; //按shift / control 多选
this . gridView1 . OptionsBehavior . AutoPopulateColumns = false ;
this . gridView1 . FocusRectStyle = DevExpress . XtraGrid . Views . Grid . DrawFocusRectStyle . RowFocus ;
this . gridView1 . OptionsBehavior . Editable = false ;
this . gridView1 . OptionsSelection . EnableAppearanceFocusedCell = false ;
this . gridView1 . FocusedRowObjectChanged + = new DevExpress . XtraGrid . Views . Base . FocusedRowObjectChangedEventHandler ( this . gridView1_FocusedRowObjectChanged ) ;
this . gridView1 . DataSourceChanged + = new System . EventHandler ( this . gridView1_DataSourceChanged ) ;
//show line number
2023-11-21 19:18:23 +08:00
this . gridView1 . IndicatorWidth = 80 ;
this . gridView2 . IndicatorWidth = 80 ;
2023-05-23 16:13:17 +08:00
this . gridView1 . CustomDrawRowIndicator + = new DevExpress . XtraGrid . Views . Grid . RowIndicatorCustomDrawEventHandler ( gridView1_CustomDrawRowIndicator ) ;
this . gridView2 . CustomDrawRowIndicator + = new DevExpress . XtraGrid . Views . Grid . RowIndicatorCustomDrawEventHandler ( gridView1_CustomDrawRowIndicator ) ;
gridView1 . CustomColumnDisplayText + = gridView1_CustomColumnDisplayText ;
gridView2 . CustomColumnDisplayText + = gridView1_CustomColumnDisplayText ;
}
2023-11-21 19:18:23 +08:00
private void gridView2_CustomColumnDisplayText ( object sender , DevExpress . XtraGrid . Views . Base . CustomColumnDisplayTextEventArgs e )
{
if ( sender = = gridView2 )
{
if ( e . Column . FieldName = = "state" )
{
if ( ! stockInLocationStatus . ContainsValue ( e . DisplayText ) )
{
int display = - 100 ;
string disTxt = e . DisplayText ;
try
{
display = Convert . ToInt32 ( e . DisplayText ) ;
e . DisplayText = stockInLocationStatus [ display ] ;
}
catch
{
return ;
}
}
// e.DisplayText = stockInLocationStatus.ContainsKey(display) ? stockInLocationStatus[display] : display+"";
}
else if ( e . Column . FieldName = = "whType" )
{
if ( ! whType . ContainsValue ( e . DisplayText ) )
{
int display = - 100 ;
string disTxt = e . DisplayText ;
try
{
display = Convert . ToInt32 ( e . DisplayText ) ;
e . DisplayText = whType [ display ] ;
}
catch
{
return ;
}
}
// e.DisplayText = stockInLocationStatus.ContainsKey(display) ? stockInLocationStatus[display] : display+"";
}
}
}
2023-05-23 16:13:17 +08:00
//显示行的序号
private void gridView1_CustomDrawRowIndicator ( object sender , RowIndicatorCustomDrawEventArgs e )
{
if ( e . Info . IsRowIndicator & & e . RowHandle > = 0 )
{
e . Info . DisplayText = ( e . RowHandle + 1 ) . ToString ( ) ;
}
}
protected void query ( )
{
pager1 . Bind ( ) ;
}
private void queryGoods ( )
{
showWaitForm ( ) ;
try
{
query ( ) ; // loadData();
}
catch ( Exception e )
{
showErrorMsg ( e , e . Message ) ;
}
finally
{
// WaitFormService.Close();
closeWaitForm ( ) ;
bbQuery . Enabled = true ;
}
}
private void bbQuery_ItemClick_1 ( object sender , ItemClickEventArgs e )
{
this . bbQuery . Enabled = false ;
queryGoods ( ) ;
}
private void updateObjects ( List < WmsGoods > goods )
{
showWaitForm ( ) ;
//WaitFormService.Show(this);
try
{
// lgt.update(wgoods);
//get updated data
query ( ) ;
}
catch ( Exception e )
{
showErrorMsg ( e , e . Message ) ;
}
finally
{
// WaitFormService.Close();
closeWaitForm ( ) ;
}
}
private void txtpinyin_KeyUp ( object sender , KeyEventArgs e )
{
if ( e . KeyCode = = Keys . Enter )
{
loadData ( ) ;
}
}
private void bbQuery_ItemClick ( object sender , ItemClickEventArgs e )
{
isWhLocationQuery = ( comboBoWarehouse . SelectedIndex > 0 | | txtLocation . Text . Trim ( ) . Length > 0 ) ;
query ( ) ;
}
private void btnQuery_Click_1 ( object sender , EventArgs e )
{
isWhLocationQuery = false ;
query ( ) ;
}
private void gridView1_CustomColumnDisplayText ( object sender , DevExpress . XtraGrid . Views . Base . CustomColumnDisplayTextEventArgs e )
{
if ( e . Column . FieldName = = "state" )
{
if ( ! stockState . ContainsValue ( e . DisplayText ) )
{
int display = - 100 ;
string disTxt = e . DisplayText ;
try
{
2023-11-21 19:18:23 +08:00
display = Convert . ToInt32 ( e . DisplayText ) ;
2023-05-23 16:13:17 +08:00
e . DisplayText = stockState [ display ] ;
}
catch
{
return ;
}
}
}
else if ( e . Column . FieldName = = "locState" )
{
if ( ! stockState . ContainsValue ( e . DisplayText ) )
{
int display = - 100 ;
string disTxt = e . DisplayText ;
try
{
2023-11-21 19:18:23 +08:00
display = Convert . ToInt32 ( e . DisplayText ) ;
2023-05-23 16:13:17 +08:00
e . DisplayText = stockState [ display ] ;
}
catch
{
return ;
}
}
}
2023-11-21 19:18:23 +08:00
else if ( e . Column . FieldName = = "whType" )
{
if ( ! whType . ContainsValue ( e . DisplayText ) )
{
int display = - 100 ;
string disTxt = e . DisplayText ;
try
{
display = Convert . ToInt32 ( e . DisplayText ) ;
e . DisplayText = whType [ display ] ;
}
catch
{
return ;
}
}
// e.DisplayText = stockInLocationStatus.ContainsKey(display) ? stockInLocationStatus[display] : display+"";
}
2023-05-23 16:13:17 +08:00
}
bool isDataSourceChanged = false ;
private void gridView1_DataSourceChanged ( object sender , EventArgs e )
{
isDataSourceChanged = true ;
if ( selectedRowIndex > 0 & & dtSum . Rows . Count > selectedRowIndex )
{
gridView1 . FocusedRowHandle = selectedRowIndex ;
gridView1 . MakeRowVisible ( selectedRowIndex ) ;
}
else
{
selectedRowIndex = 0 ;
}
}
private void gridView1_FocusedRowObjectChanged ( object sender , FocusedRowObjectChangedEventArgs e )
{
if ( gridView1 . FocusedRowHandle < 0 | | gridView1 . FocusedRowHandle = = selectedRowIndex | | isDataSourceChanged )
{
isDataSourceChanged = false ;
if ( gridView1 . IsGroupRow ( e . RowHandle ) ) //set first row of group selected
{
selectedRowIndex = gridView1 . GetChildRowHandle ( e . RowHandle , 0 ) ;
// setCurrentRequestDetail();
}
setCurrentRequestDetail ( ) ;
return ;
}
selectedRowIndex = gridView1 . FocusedRowHandle ;
// showErrorMsg("selection:"+ selectedRowIndex);
this . gridControl2 . DataSource = null ;
clearInputs ( ) ;
setCurrentRequestDetail ( ) ;
}
private void clearInputs ( )
{
gridControl2 . DataSource = null ;
}
private void setCurrentRequestDetail ( )
{
if ( ! showLocDetail )
{
lgLocDetail . Visibility = DevExpress . XtraLayout . Utils . LayoutVisibility . Never ;
return ;
}
lgLocDetail . Visibility = DevExpress . XtraLayout . Utils . LayoutVisibility . Always ;
if ( ! getCurrentObject ( ) | | string . IsNullOrEmpty ( selectedGoodsId ) )
{
return ;
}
showWaitForm ( ) ;
try
{
2023-11-21 19:18:23 +08:00
dtDetail = stkLocClient . getWmsStockDetails ( selectedGoodsId , selectedSkuId , queryStr ) ;
2023-05-23 16:13:17 +08:00
closeClient ( ) ;
clearInputs ( ) ;
this . gridControl2 . DataSource = dtDetail ;
initialDataGridColumns ( gridView2 ) ;
}
catch ( Exception e )
{
showErrorMsg ( e , e . Message ) ;
}
closeWaitForm ( ) ;
}
private bool getCurrentObject ( )
{
if ( selectedRowIndex < 0 | | selectedRowIndex > = dtSum . Rows . Count )
{
return false ;
}
// DataRow currentRow = dt.Rows[selectedRowIndex];
DataRowView dr = ( DataRowView ) ( GetGridViewFilteredAndSortedData ( gridView1 ) [ selectedRowIndex ] ) ;
selectedGoodsId = dr [ "goodsId" ] . ToString ( ) ; ;
2023-11-21 19:18:23 +08:00
selectedSkuId = Convert . ToInt32 ( dr [ "skuId" ] . ToString ( ) ) ;
2023-05-23 16:13:17 +08:00
this . gridControl2 . DataSource = null ;
return true ;
}
private void btnQuery2_Click ( object sender , EventArgs e )
{
isWhLocationQuery = true ;
query ( ) ;
}
private void bbiExport_ItemClick ( object sender , ItemClickEventArgs e )
{
2023-11-21 19:18:23 +08:00
exportExcel ( gridView1 ) ;
2023-05-23 16:13:17 +08:00
}
2024-02-06 19:36:47 +08:00
private void btnImport_ItemClick ( object sender , ItemClickEventArgs e )
{
}
2023-05-23 16:13:17 +08:00
private void chkBatch_CheckedChanged ( object sender , EventArgs e )
{
comStoreAlert . Enabled = ! chkBatch . Checked ;
}
2024-02-06 19:36:47 +08:00
bool isVirQuery = false ;
private void chkVir_CheckedChanged ( object sender , EventArgs e )
{
isVirQuery = chkVir . Checked ;
}
protected override void FillDataToDs ( DataRow dr ) //string itemid, string itemplu, string itemName)
{
string goodsId = string . Empty ;
string goodsName = string . Empty ;
string cate1 = string . Empty ;
string cate2 = string . Empty ;
string cate3 = string . Empty ;
string custName = string . Empty ;
string unit = string . Empty ;
string spec = string . Empty ;
string barcode = string . Empty ;
// int partion = 0;
int count = 0 ;
if ( dr [ "goodsId" ] . ToString ( ) . Trim ( ) ! = string . Empty )
goodsId = dr [ "goodsId" ] . ToString ( ) . Trim ( ) ;
if ( dr [ "门店名称" ] . ToString ( ) . Trim ( ) ! = string . Empty )
custName = dr [ "门店名称" ] . ToString ( ) . Trim ( ) ;
if ( dr [ "商品条码" ] . ToString ( ) . Trim ( ) ! = string . Empty )
barcode = dr [ "商品条码" ] . ToString ( ) . Trim ( ) ;
if ( dr [ "商品名称" ] . ToString ( ) . Trim ( ) ! = string . Empty )
goodsName = dr [ "商品名称" ] . ToString ( ) . Trim ( ) ;
if ( dr [ "单位名称" ] . ToString ( ) . Trim ( ) ! = string . Empty )
unit = dr [ "单位名称" ] . ToString ( ) . Trim ( ) ;
if ( dr [ "规格" ] . ToString ( ) . Trim ( ) ! = string . Empty )
spec = dr [ "规格" ] . ToString ( ) . Trim ( ) ;
if ( dr [ "发货数量" ] . ToString ( ) . Trim ( ) ! = string . Empty )
{
try
{
count = Convert . ToInt16 ( dr [ "发货数量" ] . ToString ( ) . Trim ( ) ) ;
}
catch
{
// count = Convert.ToDecimal(dr["发货数量"].ToString().Trim());
}
}
if ( barcode ! = string . Empty & & custName ! = string . Empty )
{
}
else
{
// if(seedsNo =="10445")
// showErrorMsg(count+"c...."+barcode+"..."+custName);
}
}
2023-05-23 16:13:17 +08:00
}
}