1256 lines
48 KiB
C#
1256 lines
48 KiB
C#
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;
|
||
|
||
|
||
namespace DeiNiu.wms.win
|
||
{
|
||
public partial class GoodsOutValidationQueryForm : BasicRibbonForm
|
||
{
|
||
// lWmsStock ls = new lWmsStock();
|
||
lWmsOutPickRequest lgt = new lWmsOutPickRequest();
|
||
lWmsOutRequest lgOutReq = new lWmsOutRequest();
|
||
// lWmsOutPickRequest outPickRequest = new lWmsOutPickRequest();
|
||
private string lastQuery = "";
|
||
DataSet dsPickOrders;
|
||
private DataTable dtPickOrders;
|
||
private DataTable dtPickOrdersDetail;
|
||
private DataTable dtPickOrders4Validation;
|
||
private DataTable dtPickOrdersValidated;
|
||
private DataTable dtPickDetails;
|
||
private int selectedRowIndex = -1;
|
||
private WmsOutPickDetail_tmp currentDetail;
|
||
string lastScanBarcode = "";
|
||
private int desk =1;
|
||
Thread threadPreProcess;
|
||
bool autoOrder;
|
||
string currentPickOrder = "";
|
||
public GoodsOutValidationQueryForm()
|
||
{
|
||
InitializeComponent();
|
||
initialControls();
|
||
initialBackGroundTasks();
|
||
|
||
}
|
||
#region initialControls
|
||
private void initialControls()
|
||
{
|
||
initialComboBoxes();
|
||
// initialPagerControls();
|
||
initialDataGrid();
|
||
initialQueryInput();
|
||
setValidationRule();
|
||
textEditBarcode.GotFocus += new EventHandler(textEditBarcode_GotFocus);
|
||
textEditBarcode.MouseUp += new MouseEventHandler(textEditBarcode_MouseUp);
|
||
|
||
}
|
||
private void initialBackGroundTasks()
|
||
{
|
||
|
||
|
||
swAutoOrder.IsOn = WmsConstants.AUTO_SYNC_SALE_ORDER;
|
||
autoOrder = swAutoOrder.IsOn;
|
||
// lgOutReq.UpdateUIDelegate += updateValidationList;
|
||
|
||
if (autoOrder)
|
||
{
|
||
this.getValidationOrders();
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
private void initialComboBoxes()
|
||
{
|
||
|
||
}
|
||
|
||
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()
|
||
{
|
||
setupGridView(gridView1,false);
|
||
//setupGridView(gridView2, false,false);
|
||
//setupGridView(gridView3, false,false);
|
||
// gridviewGoodsType.PopulateColumns();
|
||
gridView1.Columns.Clear();
|
||
// gridviewGoodsType.Columns.Remove(gridviewGoodsType.Columns["DealerPrice"]);
|
||
GridColumn myCol0 = new GridColumn() { Caption = "ID", Visible = true, FieldName = "id" };
|
||
myCol0.Visible = false;
|
||
this.gridView1.Columns.Add(myCol0);
|
||
GridColumn myCol1 = new GridColumn() { Caption = "单号", Visible = true, FieldName = WmsOutPickRequest.fields.pickOrderNo.ToString() };
|
||
// GridColumn myCol2 = new GridColumn() { Caption = "类别", Visible = true, FieldName = WmsOutPickRequest.fields.orderTypeName.ToString() };
|
||
GridColumn myCol3 = new GridColumn() { Caption = "状态", Visible = true, FieldName = "orderState" };
|
||
|
||
GridColumn myCol4 = new GridColumn() { Caption = "客户", Visible = true, FieldName = WmsOutPickRequest.fields.customerName. ToString() };
|
||
GridColumn myCol5 = new GridColumn() { Caption = "备注", Visible = true, FieldName = WmsOutPickRequest.fields.description.ToString() };
|
||
//GridColumn myCol6 = new GridColumn() { Caption = "日期", Visible = true, FieldName = WmsOutPickRequest.fields.orderDate.ToString() };
|
||
|
||
|
||
|
||
this.gridView1.Columns.Add(myCol1);
|
||
// this.gridView1.Columns.Add(myCol6);
|
||
// this.gridView1.Columns.Add(myCol3);
|
||
|
||
this.gridView1.Columns.Add(myCol4);
|
||
this.gridView1.Columns.Add(myCol5);
|
||
|
||
//to show bottom scroll bar
|
||
gridView1.OptionsView.ColumnAutoWidth = false;
|
||
gridView1.BestFitColumns();
|
||
// gridView1.Focus();
|
||
|
||
|
||
// initialGridView2Columns();
|
||
//gridControl2.DataSource = null;
|
||
}
|
||
private void initialGridView2Columns(GridView gridview)
|
||
{
|
||
setupGridView(gridview, false, true, false);
|
||
gridview.FocusRectStyle = DrawFocusRectStyle.None;
|
||
// gridviewGoodsType.PopulateColumns();
|
||
gridview.Columns.Clear();
|
||
// gridviewGoodsType.Columns.Remove(gridviewGoodsType.Columns["DealerPrice"]);
|
||
GridColumn myCol0 = new GridColumn() { Caption = "ID", Visible = true, FieldName = "id" };
|
||
myCol0.Visible = false;
|
||
gridview.Columns.Add(myCol0);
|
||
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() };
|
||
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 = WmsGoods.exfields.regeditCode.ToString() };
|
||
|
||
GridColumn myCol100 = new GridColumn() { Caption = "数量", Visible = true, FieldName = WmsOutDetail.fields.count.ToString() };
|
||
GridColumn myCol101 = new GridColumn() { Caption = "零货", Visible = true, FieldName = WmsOutDetail.fields.bulkCount.ToString() };
|
||
// GridColumn myCol102 = new GridColumn() { Caption = "小整", Visible = true, FieldName = WmsOutDetail.fields.batch1Count.ToString() };
|
||
// GridColumn myCol103 = new GridColumn() { Caption = "大整", Visible = true, FieldName = WmsOutDetail.fields.batch2Count.ToString() };
|
||
// GridColumn myCol104 = new GridColumn() { Caption = "箱", Visible = true, FieldName = WmsOutDetail.fields.boxcnt.ToString() };
|
||
GridColumn myCol14 = new GridColumn() { Caption = "批号", Visible = true, FieldName = WmsOutDetail.fields.batch.ToString() };
|
||
GridColumn myCol15 = new GridColumn() { Caption = "生产日期", Visible = true, FieldName = WmsOutDetail.fields.productDate.ToString() };
|
||
GridColumn myCol16 = new GridColumn() { Caption = "有效期", Visible = true, FieldName = WmsOutDetail.fields.validDate.ToString() };
|
||
|
||
// GridColumn myCol17 = new GridColumn() { Caption = "状态", Visible = true, FieldName = WmsOutDetail.fields.state.ToString() };
|
||
GridColumn myCol18 = new GridColumn() { Caption = "说明", Visible = true, FieldName = WmsOutDetail.fields.description.ToString() };
|
||
|
||
GridColumn myCol25 = new GridColumn() { Caption = "订单", Visible = true, FieldName = WmsOutPickDetail_error.fields.orderNo.ToString() };
|
||
GridColumn myCol26 = new GridColumn() { Caption = "条码", Visible = true, FieldName = "barCode" };
|
||
if (gridview == gridViewSaleOrders)
|
||
{
|
||
gridview.Columns.Add(myCol25);
|
||
}
|
||
else
|
||
{
|
||
gridview.Columns.Add(myCol26);
|
||
}
|
||
gridview.Columns.Add(myCol2);
|
||
gridview.Columns.Add(myCol14);
|
||
gridview.Columns.Add(myCol100);
|
||
gridview.Columns.Add(myCol101);
|
||
// gridview.Columns.Add(myCol102);
|
||
// gridview.Columns.Add(myCol103);
|
||
// gridview.Columns.Add(myCol104);
|
||
gridview.Columns.Add(myCol6);
|
||
gridview.Columns.Add(myCol5);
|
||
|
||
gridview.Columns.Add(myCol15);
|
||
gridview.Columns.Add(myCol16);
|
||
gridview.Columns.Add(myCol3);
|
||
|
||
|
||
|
||
gridview.Columns.Add(myCol3);
|
||
|
||
gridview.Columns.Add(myCol8);
|
||
//gridview.Columns.Add(myCol9);
|
||
|
||
|
||
gridview.Columns.Add(myCol2);
|
||
// gridview.Columns.Add(myCol6);
|
||
|
||
|
||
gridview.Columns.Add(myCol4);
|
||
gridview.Columns.Add(myCol7);
|
||
|
||
gridview.Columns.Add(myCol12);
|
||
gridview.Columns.Add(myCol1);
|
||
// gridview.Columns.Add(myCol17);
|
||
gridview.Columns.Add(myCol18);
|
||
|
||
|
||
//to show bottom scroll bar
|
||
gridview.OptionsView.ColumnAutoWidth = false;
|
||
gridview.BestFitColumns();
|
||
// gridView2.Focus();
|
||
}
|
||
|
||
private void initialGridView3Columns(GridView gridview)
|
||
{
|
||
setupGridView(gridview, false, true, false);
|
||
gridview.FocusRectStyle = DrawFocusRectStyle.None;
|
||
// gridviewGoodsType.PopulateColumns();
|
||
gridview.Columns.Clear();
|
||
// gridviewGoodsType.Columns.Remove(gridviewGoodsType.Columns["DealerPrice"]);
|
||
GridColumn myCol0 = new GridColumn() { Caption = "ID", Visible = true, FieldName = "id" };
|
||
myCol0.Visible = false;
|
||
gridview.Columns.Add(myCol0);
|
||
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() };
|
||
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 = WmsGoods.exfields.regeditCode.ToString() };
|
||
|
||
GridColumn myCol100 = new GridColumn() { Caption = "数量", Visible = true, FieldName = WmsOutDetail.fields.count.ToString() };
|
||
// GridColumn myCol101 = new GridColumn() { Caption = "零货", Visible = true, FieldName = WmsOutDetail.fields.count.ToString() };
|
||
// GridColumn myCol102 = new GridColumn() { Caption = "整货", Visible = true, FieldName = WmsOutDetail.fields.batch1Count.ToString() };
|
||
// GridColumn myCol103 = new GridColumn() { Caption = "大整", Visible = true, FieldName = WmsOutDetail.fields.batch2Count.ToString() };
|
||
// GridColumn myCol104 = new GridColumn() { Caption = "箱", Visible = true, FieldName = WmsOutDetail.fields.boxcnt.ToString() };
|
||
GridColumn myCol14 = new GridColumn() { Caption = "批号", Visible = true, FieldName = WmsOutDetail.fields.batch.ToString() };
|
||
GridColumn myCol15 = new GridColumn() { Caption = "生产日期", Visible = true, FieldName = WmsOutDetail.fields.productDate.ToString() };
|
||
GridColumn myCol16 = new GridColumn() { Caption = "有效期", Visible = true, FieldName = WmsOutDetail.fields.validDate.ToString() };
|
||
|
||
GridColumn myCol17 = new GridColumn() { Caption = "状态", Visible = true, FieldName = WmsOutDetail.fields.state.ToString() };
|
||
GridColumn myCol18 = new GridColumn() { Caption = "说明", Visible = true, FieldName = WmsOutDetail.fields.description.ToString() };
|
||
|
||
|
||
GridColumn myCol20 = new GridColumn() { Caption = "波次", Visible = true, FieldName = WmsOutPickLable.fields.waveOrder.ToString() };
|
||
GridColumn myCol21 = new GridColumn() { Caption = "颜色", Visible = true, FieldName = WmsOutPickLable.fields.color.ToString() };
|
||
GridColumn myCol22 = new GridColumn() { Caption = "货位", Visible = true, FieldName = WmsOutPickLable.fields.locationId.ToString() };
|
||
GridColumn myCol23 = new GridColumn() { Caption = "标签", Visible = true, FieldName = WmsOutPickLable.fields.elabId.ToString() };
|
||
GridColumn myCol24 = new GridColumn() { Caption = "客户", Visible = true, FieldName = WmsOutPickRequest.fields.customerName.ToString() };
|
||
// GridColumn myCol25 = new GridColumn() { Caption = "订单", Visible = true, FieldName = WmsOutPickDetail.fields.orderNo.ToString() };
|
||
|
||
// gridview.Columns.Add(myCol25);
|
||
gridview.Columns.Add(myCol2);
|
||
gridview.Columns.Add(myCol14);
|
||
// gridview.Columns.Add(myCol21);
|
||
gridview.Columns.Add(myCol100);
|
||
gridview.Columns.Add(myCol22);
|
||
gridview.Columns.Add(myCol23);
|
||
/*
|
||
gridview.Columns.Add(myCol5);
|
||
gridview.Columns.Add(myCol17);
|
||
gridview.Columns.Add(myCol24);
|
||
|
||
gridview.Columns.Add(myCol7);
|
||
|
||
|
||
gridview.Columns.Add(myCol3);
|
||
|
||
gridview.Columns.Add(myCol15);
|
||
gridview.Columns.Add(myCol16);
|
||
gridview.Columns.Add(myCol3);
|
||
gridview.Columns.Add(myCol8);
|
||
//gridview.Columns.Add(myCol9);
|
||
gridview.Columns.Add(myCol2);
|
||
// gridview.Columns.Add(myCol6);
|
||
gridview.Columns.Add(myCol4);
|
||
gridview.Columns.Add(myCol12);
|
||
gridview.Columns.Add(myCol1);
|
||
gridview.Columns.Add(myCol18);
|
||
|
||
*/
|
||
|
||
//to show bottom scroll bar
|
||
gridview.OptionsView.ColumnAutoWidth = false;
|
||
gridview.BestFitColumns();
|
||
// gridView2.Focus();
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 预处理,按客户分拆订单,生成分拣单,并出库
|
||
/// </summary>
|
||
private void getValidationOrders()
|
||
{
|
||
|
||
threadPreProcess = new Thread(this.getPickOrders4Validation);
|
||
threadPreProcess.IsBackground = true;
|
||
threadPreProcess.Start();
|
||
}
|
||
|
||
private void getPickOrders4Validation()
|
||
{
|
||
dsPickOrders = lgt.getPickRequest4BulkValidate(desk);
|
||
dtPickOrders = dsPickOrders.Tables[1];
|
||
dtPickOrdersDetail = dsPickOrders.Tables[0];
|
||
dtPickOrdersDetail.PrimaryKey = new DataColumn[] { dtPickOrdersDetail.Columns["id"] };
|
||
updateValidationList();
|
||
|
||
}
|
||
|
||
//完成任务时需要调用
|
||
delegate void loadNewPickOrders();
|
||
private void updateValidationList()
|
||
{
|
||
//还可以进行其他的一些完任务完成之后的逻辑处理
|
||
|
||
|
||
|
||
if (InvokeRequired)
|
||
{
|
||
this.Invoke(new loadNewPickOrders(delegate()
|
||
{
|
||
swAutoOrder.Enabled = true;
|
||
btnPickOrders.Enabled = !autoOrder;
|
||
this.loadPickOrders();
|
||
}));
|
||
|
||
}
|
||
else
|
||
{
|
||
swAutoOrder.Enabled = true;
|
||
btnPickOrders.Enabled = !autoOrder;
|
||
this.loadPickOrders();
|
||
}
|
||
|
||
if (autoOrder)
|
||
{
|
||
Int32 milseconds = Convert.ToInt32( 1000*spinOrder.Value * 60);
|
||
|
||
Thread.CurrentThread.Join(milseconds);
|
||
//继续后台处理
|
||
getValidationOrders();
|
||
}
|
||
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新拣选明细
|
||
/// </summary>
|
||
private void updatePickDetails() {
|
||
gridPickDetails.DataSource = null;
|
||
Thread threadPickdetail = new Thread(this.getPickOrdersPickDetail);
|
||
threadPickdetail.IsBackground = true;
|
||
threadPickdetail.Start();
|
||
}
|
||
|
||
|
||
private void getPickOrdersPickDetail()
|
||
{
|
||
|
||
dtPickDetails = lgt.getWmsOutPickRequest. getPickDetailByPickOrderNo(this.currentPickOrder).Tables[0];
|
||
|
||
|
||
if (InvokeRequired)
|
||
{
|
||
this.Invoke(new loadNewPickOrders(delegate()
|
||
{
|
||
bindPickDetails();
|
||
|
||
}));
|
||
|
||
}
|
||
else
|
||
{
|
||
bindPickDetails();
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
private void bindPickDetails()
|
||
{
|
||
gridPickDetails.DataSource = dtPickDetails;
|
||
initialGridView3Columns(gridViewPickDetails);
|
||
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// loading waiting pick orders
|
||
/// </summary>
|
||
private int pagerQuery()
|
||
{
|
||
// initialRequestOrders();
|
||
//this.gridviewGoodsType.DataSource = lgt.GetAllActiveData().Tables[0].DefaultView;
|
||
showWaitForm();
|
||
|
||
try
|
||
{
|
||
// this.splashScreenManager1.ShowWaitForm();
|
||
string query = string.Format("{0} =#'{1}';", WmsOutRequest.fields.orderType.ToString(), (int)enumOutOrderType.拣货单);
|
||
query += string.Format("{0} =#'{1}';", WmsOutRequest.fields.state.ToString(), (int) enumOutStockRequestStatus.波次处理 );
|
||
bool isQueryNotChanged = lastQuery.Equals(query);
|
||
this.pager1.PageCurrent = isQueryNotChanged ? this.pager1.PageCurrent : 1; //根据查询条件的变化给pager赋值
|
||
int start = (pager1.PageSize * (pager1.PageCurrent - 1) + 1);
|
||
int end = (pager1.PageSize * pager1.PageCurrent);
|
||
lastQuery = query;
|
||
DataSet ds = lgt.Query(query, start, end);
|
||
dtPickOrders = 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;
|
||
|
||
dtPickOrders.PrimaryKey = new DataColumn[] { dtPickOrders.Columns["pickOrderNo"] };
|
||
bool firstLoad = !isQueryNotChanged || this.gridControl1.DataSource == null;
|
||
this.gridControl1.DataSource = dtPickOrders.DefaultView;
|
||
initialDataGridColumns();
|
||
//update selected row index to the last updated one.
|
||
|
||
if (false && !string.IsNullOrEmpty( currentPickOrder))
|
||
{
|
||
selectedRowIndex = -1;
|
||
DataRow dr = dtPickOrders.Rows.Find(currentPickOrder);
|
||
if (dr != null)
|
||
{
|
||
selectedRowIndex = dtPickOrders.Rows.IndexOf(dr);
|
||
}
|
||
|
||
if (selectedRowIndex >= 0 && dtPickOrders.Rows.Count > selectedRowIndex)
|
||
{
|
||
// gridView1.SelectRow(selectedRowIndex);
|
||
gridView1.FocusedRowHandle = selectedRowIndex;
|
||
// gridView1.MakeRowVisible(selectedRowIndex);
|
||
|
||
}
|
||
|
||
//gridView1.FocusedRowHandle = selectedRowIndex;
|
||
}else
|
||
// if (firstLoad)
|
||
{
|
||
gridView1.FocusedRowHandle = 0;
|
||
gridView1.SelectRow(0);
|
||
setCurrentRequestDetail();
|
||
}
|
||
closeWaitForm();
|
||
return cnt;
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
showErrorMsg(e.Message);
|
||
}
|
||
|
||
closeWaitForm();
|
||
return 0;// lgt.getRowCount(query);
|
||
// return lgt.GetGoodType.QueryCount();
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
private void bindDetail()
|
||
{
|
||
|
||
}
|
||
private void setDataBack()
|
||
{
|
||
|
||
|
||
}
|
||
private bool validData()
|
||
{
|
||
bool isvalid = dxValidationProvider1.Validate();
|
||
|
||
// MessageBox.Show("goodtype is " + txtGoodType.Text +", is valid ? " + isvalid);
|
||
|
||
return isvalid;
|
||
//String gdtype = txtGoodType.Text.Trim();
|
||
//if (gdtype.Length == 0)
|
||
//{
|
||
|
||
// dxValidationProvider.Validate();
|
||
// return false;
|
||
//}
|
||
|
||
//return true;
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 分页控件产生的事件
|
||
/// </summary>
|
||
private int pager_EventPaging(DeiNiu.Controls.pager.EventPagingArg e)
|
||
{
|
||
selectedRowIndex = 0; //reset currentRowIndex
|
||
return pagerQuery();
|
||
}
|
||
|
||
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 = 200;//每页行数
|
||
this.pager1.Bind();//绑定
|
||
#endregion
|
||
|
||
}
|
||
|
||
private void gridView1_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
|
||
{
|
||
if (gridView1.FocusedRowHandle < 0 || gridView1.FocusedRowHandle == selectedRowIndex || isDataSourceChanged && selectedRowIndex >0)
|
||
{
|
||
if (gridView1.IsGroupRow(e.RowHandle)) //set first row of group selected
|
||
{
|
||
selectedRowIndex = gridView1.GetChildRowHandle(e.RowHandle, 0);
|
||
setCurrentRequestDetail();
|
||
}
|
||
|
||
isDataSourceChanged = false;
|
||
return; ;
|
||
}
|
||
isDataSourceChanged = false;
|
||
selectedRowIndex = gridView1.FocusedRowHandle;
|
||
// showErrorMsg("selection:"+ selectedRowIndex);
|
||
setCurrentRequestDetail();
|
||
}
|
||
|
||
|
||
|
||
|
||
private void clearInputs()
|
||
{
|
||
|
||
}
|
||
|
||
bool isDataSourceChanged = false;
|
||
private void gridView1_DataSourceChanged(object sender, EventArgs e)
|
||
{
|
||
isDataSourceChanged = true;
|
||
if (selectedRowIndex >= 0 && dtPickOrders.Rows.Count > selectedRowIndex)
|
||
{
|
||
gridView1.FocusedRowHandle = selectedRowIndex;
|
||
gridView1.MakeRowVisible(selectedRowIndex);
|
||
|
||
}
|
||
}
|
||
|
||
private void btnDelete_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
|
||
|
||
}
|
||
|
||
protected void query()
|
||
{
|
||
// pager1.Bind();
|
||
}
|
||
|
||
|
||
private void loadPickOrders()
|
||
{
|
||
|
||
// showWaitForm();
|
||
try
|
||
{
|
||
|
||
gridControl1.DataSource = dtPickOrders;
|
||
|
||
//dt = lgt.Query(query, start, end); //string.IsNullOrEmpty(query) ? lgt.GetGoodType.getAllData(start, end) : lgt.g;
|
||
|
||
dtPickOrders.PrimaryKey = new DataColumn[] { dtPickOrders.Columns["pickOrderNo"] };
|
||
bool firstLoad = this.gridControl1.DataSource == null;
|
||
this.gridControl1.DataSource = dtPickOrders.DefaultView;
|
||
initialDataGridColumns();
|
||
//update selected row index to the last updated one.
|
||
|
||
if (!string.IsNullOrEmpty(currentPickOrder) )
|
||
{
|
||
selectedRowIndex = -1;
|
||
DataRow dr = dtPickOrders.Rows.Find(currentPickOrder);
|
||
if (dr != null)
|
||
{
|
||
selectedRowIndex = dtPickOrders.Rows.IndexOf(dr);
|
||
}
|
||
|
||
if (selectedRowIndex >= 0 && dtPickOrders.Rows.Count > selectedRowIndex)
|
||
{
|
||
// gridView1.SelectRow(selectedRowIndex);
|
||
gridView1.FocusedRowHandle = selectedRowIndex;
|
||
// gridView1.MakeRowVisible(selectedRowIndex);
|
||
|
||
}
|
||
|
||
//gridView1.FocusedRowHandle = selectedRowIndex;
|
||
}
|
||
else
|
||
// if (firstLoad)
|
||
{
|
||
gridView1.FocusedRowHandle = 0;
|
||
gridView1.SelectRow(0);
|
||
setCurrentRequestDetail();
|
||
}
|
||
|
||
|
||
|
||
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
showErrorMsg(e.Message);
|
||
}
|
||
finally
|
||
{
|
||
// WaitFormService.Close();
|
||
// closeWaitForm();
|
||
bbQuery.Enabled = true;
|
||
}
|
||
|
||
}
|
||
|
||
private void bbQuery_ItemClick_1(object sender, ItemClickEventArgs e)
|
||
{
|
||
this.bbQuery.Enabled = false;
|
||
loadPickOrders();
|
||
}
|
||
|
||
|
||
|
||
private void updateObjects(List<WmsGoods> goods)
|
||
{
|
||
showWaitForm();
|
||
//WaitFormService.Show(this);
|
||
try
|
||
{
|
||
// lgt.update(goods);
|
||
|
||
//get updated data
|
||
query();
|
||
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
showErrorMsg(e.Message);
|
||
}
|
||
finally
|
||
{
|
||
// WaitFormService.Close();
|
||
closeWaitForm();
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
private bool getCurrentObject()
|
||
{
|
||
if (selectedRowIndex <0 || selectedRowIndex >= dtPickOrders.Rows.Count)
|
||
{
|
||
return false;
|
||
}
|
||
|
||
// DataRow currentRow = dtPickOrders.Rows[selectedRowIndex];
|
||
DataRowView currentRow = (DataRowView)(GetGridViewFilteredAndSortedData(gridView1)[selectedRowIndex]);
|
||
// selectedRequest = new WmsOutPickRequest(currentRow);
|
||
currentPickOrder = currentRow["pickOrderNo"].ToString();
|
||
lbPickOrderNo.Text = currentPickOrder;
|
||
lbCustmer.Text = currentRow["customerName"].ToString();
|
||
|
||
return true;
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
private void btnQuery_Click(object sender, EventArgs e)
|
||
{
|
||
loadPickOrders();
|
||
}
|
||
|
||
private void gridView1_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e)
|
||
{
|
||
if (gridView1.FocusedRowHandle <0 || gridView1.FocusedRowHandle == selectedRowIndex)
|
||
{
|
||
return;
|
||
}
|
||
selectedRowIndex = gridView1.FocusedRowHandle;
|
||
// showErrorMsg("selection:"+ selectedRowIndex);
|
||
setCurrentRequestDetail();
|
||
}
|
||
|
||
private void initialDataGrid()
|
||
{
|
||
gridView1.OptionsSelection.MultiSelect = false;//按shift / control 多选
|
||
this.gridView1.OptionsBehavior.AutoPopulateColumns = false;
|
||
this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
|
||
this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.CellFocus;
|
||
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
|
||
this.gridView1.IndicatorWidth = 40;
|
||
this.gridView1.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
|
||
|
||
this.gridViewValidated.IndicatorWidth = 40;
|
||
this.gridViewValidated.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
|
||
|
||
this.gridViewSaleOrders .IndicatorWidth = 40;
|
||
this.gridViewSaleOrders.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
|
||
gridViewSaleOrders.OptionsSelection.EnableAppearanceFocusedCell = false;
|
||
|
||
|
||
this.gridViewPickDetails.IndicatorWidth = 40;
|
||
this.gridViewPickDetails.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
|
||
|
||
gridViewPickDetails.OptionsSelection.MultiSelect = false;
|
||
gridViewPickDetails.OptionsSelection.EnableAppearanceFocusedCell = false;
|
||
|
||
this.gridView4Valid.IndicatorWidth = 40;
|
||
this.gridView4Valid.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
|
||
this.gridView4Valid.FocusedRowObjectChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventHandler(this.gridView4Validation_FocusedRowObjectChanged);
|
||
gridView4Valid.OptionsSelection.MultiSelect = false;
|
||
gridView4Valid.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
|
||
gridView4Valid.OptionsSelection.EnableAppearanceFocusedCell = false;
|
||
|
||
|
||
|
||
|
||
|
||
this.gridViewValidated.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
|
||
gridViewValidated.OptionsSelection.EnableAppearanceFocusedCell = false;
|
||
gridViewValidated.OptionsSelection.MultiSelect = false;
|
||
gridViewValidated.RowCellStyle += gridView_RowCellStyle;
|
||
gridView1.RowCellStyle += gridView_RowCellStyle;
|
||
}
|
||
|
||
|
||
|
||
|
||
private void gridView2_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
||
{
|
||
|
||
if (sender == gridViewValidated)
|
||
{
|
||
|
||
if (e.Column.FieldName == "state")
|
||
{
|
||
if (!pickDetailStatus.ContainsValue(e.DisplayText))
|
||
{
|
||
|
||
int display = -100;
|
||
string disTxt = e.DisplayText;
|
||
|
||
try
|
||
{
|
||
display = Convert.ToInt16(e.DisplayText);
|
||
|
||
e.DisplayText = pickDetailStatus[display];
|
||
|
||
}
|
||
catch
|
||
{
|
||
return;
|
||
}
|
||
}
|
||
|
||
|
||
// e.DisplayText = pickDetailStatus.ContainsKey(display) ? pickDetailStatus[display] : display+"";
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
void gridView_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
||
{
|
||
//var currentView = sender as GridView;
|
||
//if (currentView != null && e.RowHandle == currentView.FocusedRowHandle) return;
|
||
Rectangle r = e.Bounds;
|
||
if (e.Column.FieldName == "state")
|
||
{
|
||
string a = e.CellValue.ToString();
|
||
string b = e.DisplayText;
|
||
if (b.Equals("未分配货位"))
|
||
{
|
||
e.Appearance.ForeColor = Color.Red;
|
||
e.Appearance.DrawString(e.Cache, e.DisplayText, r);
|
||
e.Handled = true;
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
void gridView_RowCellStyle(object sender,DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
|
||
{
|
||
|
||
var currentView = sender as GridView;
|
||
if( currentView != null){return;}
|
||
string state = currentView.GetDataRow(e.RowHandle)["state"].ToString().Trim();
|
||
|
||
if (state == "0")
|
||
{
|
||
return;
|
||
}
|
||
|
||
bool isFocused = e.RowHandle == currentView.FocusedRowHandle;
|
||
DevExpress.Utils.AppearanceDefault rowStyle = null;
|
||
DevExpress.Utils.AppearanceDefault appBlueRed =
|
||
new DevExpress.Utils.AppearanceDefault (Color.White, Color.Red, Color.Empty, Color.Blue, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
|
||
DevExpress.Utils.AppearanceDefault appYB =
|
||
new DevExpress.Utils.AppearanceDefault(Color.White, Color.Red, Color.Green);
|
||
|
||
DevExpress.Utils.AppearanceDefault alertFocus = new DevExpress.Utils.AppearanceDefault(Color.White, Color.Red, Color.Green, Color.Yellow);
|
||
DevExpress.Utils.AppearanceDefault alert = new DevExpress.Utils.AppearanceDefault(Color.Red, Color.White );
|
||
|
||
DevExpress.Utils.AppearanceDefault passedFocus = new DevExpress.Utils.AppearanceDefault(Color.White, Color.Gray);
|
||
DevExpress.Utils.AppearanceDefault passed = new DevExpress.Utils.AppearanceDefault(Color.Gray,Color.White);
|
||
|
||
if (state == "1")
|
||
{
|
||
rowStyle = isFocused ? passedFocus : passed;
|
||
}
|
||
else if (state == "2")
|
||
{
|
||
rowStyle = isFocused ? alertFocus : alert;
|
||
}
|
||
|
||
|
||
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, rowStyle);
|
||
/*
|
||
if (sender == this.gridView2)
|
||
{
|
||
if (this.gridView2.GetDataRow(e.RowHandle)["state"].ToString().Trim() == "2")
|
||
{
|
||
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, alert);
|
||
}
|
||
}else if(sender == this.gridView1){
|
||
|
||
if ( state == "2")
|
||
{
|
||
if (currentView != null && e.RowHandle == currentView.FocusedRowHandle)
|
||
{
|
||
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, alertFocus);
|
||
}
|
||
else
|
||
{
|
||
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, alert);
|
||
}
|
||
}
|
||
else if (state == "1")
|
||
{
|
||
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, passed);
|
||
}
|
||
}
|
||
*/
|
||
}
|
||
|
||
private void setCurrentRequestDetail()
|
||
{
|
||
if (!getCurrentObject() || string.IsNullOrEmpty( currentPickOrder))
|
||
{
|
||
return;
|
||
}
|
||
|
||
|
||
// showWaitForm();
|
||
|
||
try
|
||
{
|
||
|
||
DataView dv = dtPickOrdersDetail.DefaultView;
|
||
dv.Sort = "orderNo ASC";
|
||
dv.RowFilter = string.Format("pickOrderNo ='{0}'", currentPickOrder);
|
||
this.gridSaleOrders.DataSource = dv;
|
||
initialGridView2Columns(gridViewSaleOrders);
|
||
|
||
|
||
bindValidationTables();
|
||
|
||
|
||
//set pick details
|
||
updatePickDetails();
|
||
|
||
|
||
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
showErrorMsg(e.Message);
|
||
}
|
||
// closeWaitForm();
|
||
|
||
}
|
||
|
||
|
||
private void bindValidationTables()
|
||
{
|
||
|
||
resetValidationDetails();
|
||
//set sales order details
|
||
DataView dv = dtPickOrdersDetail.DefaultView;
|
||
dv.Sort = "orderNo ASC";
|
||
dv.RowFilter = string.Format("pickOrderNo ='{0}'", currentPickOrder);
|
||
|
||
dtPickOrders4Validation = dv.ToTable();
|
||
|
||
// dtPickOrders4Validation.PrimaryKey = new DataColumn[] { dtPickOrders4Validation.Columns["barCode"] };
|
||
DataView dv1 = dtPickOrders4Validation.DefaultView;
|
||
dv1.RowFilter = string.Format("bulkCount>0 and state <{0}", (int)enumOutStockDetailStatus.复核完成);
|
||
this.grid4Valid.DataSource = dv1;
|
||
initialGridView2Columns(gridView4Valid);
|
||
dtPickOrders4Validation = dv1.ToTable();
|
||
dtPickOrders4Validation.PrimaryKey = new DataColumn[] { dtPickOrders4Validation.Columns["id"] };
|
||
|
||
btnPrint .Enabled = dtPickOrders4Validation.Rows.Count == 0;
|
||
dtPickOrdersValidated = dv.ToTable();
|
||
DataView dv2 = dtPickOrdersValidated.DefaultView;
|
||
dv2.RowFilter = string.Format("bulkCount>0 and state >={0}", (int)enumOutStockDetailStatus.复核完成);
|
||
this.gridValidated.DataSource = dv2;
|
||
|
||
gridViewValidated.FocusedRowHandle = -1;
|
||
gridViewValidated.SelectRow(-1);
|
||
|
||
dtPickOrdersValidated = dv2.ToTable();
|
||
dtPickOrdersValidated.PrimaryKey = new DataColumn[] { dtPickOrdersValidated.Columns["id"] };
|
||
|
||
initialGridView2Columns(gridViewValidated);
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
private void btnPickOrders_Click(object sender, EventArgs e)
|
||
{
|
||
getValidationOrders();
|
||
}
|
||
|
||
private void swAutoOrder_Toggled(object sender, EventArgs e)
|
||
{
|
||
autoOrder = swAutoOrder.IsOn;
|
||
btnPickOrders.Enabled = !autoOrder;
|
||
if (autoOrder)
|
||
{
|
||
getValidationOrders();
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
private void ribbon_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
private void gridView1_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
|
||
{
|
||
|
||
}
|
||
private void resetValidationDetails()
|
||
{
|
||
lastScanBarcode = "";
|
||
selectedValidationItem = -1;
|
||
currentDetail = null;
|
||
lbGoodsName.Text ="";
|
||
this.lbBatch.Text = ""; ;
|
||
this.lbManufacturer.Text = "";
|
||
this.lbPickCount.Text = "";
|
||
this.lbSaleCount.Text = "";
|
||
this.textEditValidCount.Text = "";
|
||
this.textEditValidtionRemark.Text = "";
|
||
// this.comValidException.SelectedIndex = Convert.ToInt16( dr[WmsOutPickDetail.fields.validReason.ToString()].ToString());
|
||
|
||
this.lbProductDate.Text = "";
|
||
this.lbValidDate.Text = "";
|
||
this.lbType.Text = "";
|
||
this.lbUnit.Text = "";
|
||
this.checkEditPass.Checked = false;
|
||
textEditBarcode.Text = "";
|
||
this.btnValidateItem.Enabled = false;
|
||
|
||
|
||
|
||
}
|
||
|
||
// gridview4validate
|
||
|
||
int selectedValidationItem = -1;
|
||
private void gridView4Validation_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
|
||
{
|
||
if (this.gridView4Valid.FocusedRowHandle < 0 || gridView4Valid.FocusedRowHandle == selectedValidationItem)
|
||
{
|
||
if (gridView4Valid.IsGroupRow(e.RowHandle)) //set first row of group selected
|
||
{
|
||
selectedValidationItem = gridView4Valid.GetChildRowHandle(e.RowHandle, 0);
|
||
setCurrentValidationDetail();
|
||
gridViewValidated.FocusedRowHandle = -1;
|
||
gridViewValidated.SelectRow(-1);
|
||
}
|
||
return;
|
||
|
||
}
|
||
selectedValidationItem = gridView4Valid.FocusedRowHandle;
|
||
setCurrentValidationDetail();
|
||
gridViewValidated .FocusedRowHandle = -1;
|
||
gridViewValidated.SelectRow(-1);
|
||
}
|
||
private void setCurrentValidationDetail()
|
||
{
|
||
if (selectedValidationItem < 0 || selectedValidationItem >= dtPickOrders4Validation.Rows.Count)
|
||
{
|
||
return;
|
||
}
|
||
|
||
// DataRow dr = dtPickOrders4Validation.Rows[selectedValidationItem];
|
||
DataRowView dr = (DataRowView)(GetGridViewFilteredAndSortedData(gridView4Valid)[selectedValidationItem]);
|
||
|
||
currentDetail = new WmsOutPickDetail_tmp(dr.Row);
|
||
lbGoodsName.Text = dr[WmsGoods.exfields.goodsName.ToString()].ToString(); ;
|
||
this.lbBatch .Text = dr["batch"].ToString(); ;
|
||
this.lbManufacturer.Text = dr[WmsGoods.exfields.manufacturer.ToString()].ToString();
|
||
this.lbPickCount.Text = dr[WmsOutPickDetail.fields.bulkCount.ToString()].ToString();
|
||
this.lbSaleCount.Text = dr[WmsOutPickDetail.fields.bulkCount.ToString()].ToString();
|
||
this.textEditValidCount.Text = dr[WmsOutPickDetail.fields.bulkCount.ToString()].ToString();
|
||
this.textEditValidtionRemark.Text = dr[WmsOutPickDetail.fields.validRemark.ToString()].ToString();
|
||
// this.comValidException.SelectedIndex = Convert.ToInt16( dr[WmsOutPickDetail.fields.validReason.ToString()].ToString());
|
||
|
||
this.lbProductDate.Text = dr[WmsOutPickDetail.fields.productDate.ToString()].ToString();
|
||
this.lbValidDate.Text = dr[WmsOutPickDetail.fields.validDate.ToString()].ToString();
|
||
this.lbType.Text = dr[WmsGoods.exfields.type.ToString()].ToString();
|
||
this.lbUnit.Text = dr[WmsGoods.exfields.unit.ToString()].ToString();
|
||
this.checkEditPass.Checked = true;
|
||
enumOutStockPickStatus state = (enumOutStockPickStatus)Convert.ToInt16(dr["bulkPickState"].ToString());
|
||
if(state == enumOutStockPickStatus.复核异常){
|
||
this.checkEditPass.Checked = false;
|
||
}
|
||
textEditBarcode.Text = dr[WmsGoods.exfields.barcode.ToString()].ToString();
|
||
//textEditBarcode.SelectedText = textEditBarcode.Text;
|
||
//textEditBarcode.SelectionLength = textEditBarcode.Text.Length;
|
||
textEditBarcode.Focus();
|
||
textEditBarcode.SelectAll();
|
||
|
||
this.btnValidateItem.Enabled = true;
|
||
|
||
|
||
|
||
}
|
||
|
||
private void textEditBarcode_EditValueChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
|
||
|
||
}
|
||
|
||
private void btnValidateItem_Click(object sender, EventArgs e)
|
||
{
|
||
validation();
|
||
|
||
}
|
||
|
||
private void validation()
|
||
{
|
||
if (currentDetail == null)
|
||
{
|
||
return;
|
||
}
|
||
|
||
currentDetail.bulkPickState = checkEditPass.Checked ? (int)enumOutStockPickStatus.复核完成 : (int)enumOutStockPickStatus.复核异常;
|
||
currentDetail.validRemark = textEditValidtionRemark.Text.Trim();
|
||
currentDetail.validReason = comValidException.SelectedIndex;
|
||
currentDetail.confirmedCount = Convert.ToDecimal(textEditValidCount.Text.Trim());
|
||
|
||
Thread updateValidation = new Thread(updateValidationItem);
|
||
updateValidation.IsBackground = true;
|
||
updateValidation.Start();
|
||
|
||
|
||
DataRow dr = this.dtPickOrdersDetail.Rows.Find(currentDetail.ID);
|
||
if (dr != null)
|
||
{
|
||
dr["state"] = currentDetail.state;
|
||
|
||
|
||
}
|
||
bindValidationTables();
|
||
|
||
|
||
|
||
}
|
||
private void updateValidationItem()
|
||
{
|
||
if (currentDetail == null)
|
||
{
|
||
return;
|
||
}
|
||
currentDetail.Update();
|
||
}
|
||
|
||
private void gridView4Valid_KeyDown(object sender, KeyEventArgs e)
|
||
{
|
||
if(e.KeyCode == Keys.Enter){
|
||
|
||
validation();
|
||
}
|
||
}
|
||
|
||
private void textEditBarcode_Properties_Enter(object sender, EventArgs e)
|
||
{
|
||
textEditBarcode.SelectAll();
|
||
}
|
||
|
||
|
||
void textEditBarcode_MouseUp(object sender, MouseEventArgs e)
|
||
{
|
||
//如果鼠标左键操作并且标记存在,则执行全选
|
||
if (e.Button == MouseButtons.Left && (bool)textEditBarcode.Tag == true)
|
||
{
|
||
textEditBarcode.SelectAll();
|
||
}
|
||
|
||
//取消全选标记
|
||
textEditBarcode.Tag = false;
|
||
}
|
||
|
||
|
||
void textEditBarcode_GotFocus(object sender, EventArgs e)
|
||
{
|
||
textEditBarcode.Tag = true; //设置标记
|
||
textEditBarcode.SelectAll(); //注意1
|
||
}
|
||
|
||
private void textEditBarcode_KeyDown(object sender, KeyEventArgs e)
|
||
{
|
||
if (e.KeyCode != Keys.Enter)
|
||
{
|
||
return;
|
||
}
|
||
string barcode = textEditBarcode.Text;
|
||
|
||
if (string.IsNullOrEmpty(barcode))
|
||
{
|
||
return;
|
||
}
|
||
|
||
if(lastScanBarcode.Equals(barcode)){
|
||
validation();
|
||
}
|
||
lastScanBarcode = barcode;
|
||
|
||
DataRow[] drs = dtPickOrders4Validation.Select(string.Format("barcode ='{0}'", barcode)); ;
|
||
if (drs.Length == 0)
|
||
{
|
||
setCurrentValidationDetail();
|
||
return;
|
||
}
|
||
textEditBarcode.BackColor = textEditValidCount.BackColor; ;
|
||
if (drs.Length > 1)
|
||
{
|
||
textEditBarcode.BackColor = Color.OrangeRed;
|
||
}
|
||
|
||
DataRow dr = drs[0];
|
||
if (drs != null)
|
||
{
|
||
selectedValidationItem = dtPickOrders4Validation.Rows.IndexOf(dr);
|
||
}
|
||
|
||
if (selectedValidationItem >= 0 && dtPickOrders4Validation.Rows.Count > selectedValidationItem)
|
||
{
|
||
this.gridView4Valid.FocusedRowHandle = selectedValidationItem;
|
||
}
|
||
setCurrentValidationDetail();
|
||
}
|
||
|
||
private void btnPrint_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
//save the box/bag info
|
||
|
||
//handle tran system
|
||
|
||
//print
|
||
|
||
//close current order
|
||
|
||
Thread completeThread = new Thread(completeValidation);
|
||
completeThread.IsBackground = true;
|
||
completeThread.Start();
|
||
//remove the order from pickorder list
|
||
|
||
if (dtPickOrders.Rows.Count < 2)
|
||
{
|
||
showWaitForm();
|
||
try
|
||
{
|
||
getPickOrders4Validation();
|
||
}
|
||
catch (Exception ee)
|
||
{
|
||
LogHelper.WriteLog(typeof(GoodsOutValidationForm), ee);
|
||
closeWaitForm();
|
||
}
|
||
closeWaitForm();
|
||
}
|
||
else
|
||
{
|
||
|
||
DataRow dr = dtPickOrders.Rows.Find(currentPickOrder);
|
||
dtPickOrders.Rows.Remove(dr);
|
||
loadPickOrders();
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
void completeValidation()
|
||
{
|
||
|
||
|
||
}
|
||
}
|
||
} |