ldj/winform/出库/零货复核/GoodsOutPartValidationForm.cs

2339 lines
86 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.ServiceReferenceStockOutPickRequest;
using System.ServiceModel;
using DeiNiu.wms.win.utils.print;
using DevExpress.XtraLayout;
using DeiNiu.wms.win.ServiceReferenceLot;
namespace DeiNiu.wms.win
{
public partial class GoodsOutPartValidationForm : 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 DataTable dtExceptionSolutions;
private int selectedRowIndex = -1;
private WmsOutPickDetail_tmp currentDetail;
string lastScanBarcode = "";
bool isDoubleChk = false;
string boxId = "";
private int desk
{
get
{
if (combColors.SelectedIndex == -1)
{
showErrorMsg(null,"请选择控制台");
combColors.Focus();
return -1;
}
return Convert.ToInt16( ((Node)combColors.SelectedItem).name);
}
}
// Thread threadPreProcess;
bool autoOrder;
string currentPickOrder = "";
string currentWave = "";
string boxPickOrder = "";
int boxDesk = 0;
Dictionary<string, string> isDoublChk = new Dictionary<string, string>();
public GoodsOutPartValidationForm()
{
InitializeComponent();
initialControls();
initialBackGroundTasks();
initialTimer();
isDoublChk.Add("N", "否");
isDoublChk.Add("Y", "是");
}
#region initialControls
private void initialControls()
{
initialComboBoxes();
// initialPagerControls();
initialDataGrid();
initialQueryInput();
setValidationRule();
textEditBarcode.GotFocus += new EventHandler(textEditBarcode_GotFocus);
textEditBarcode.MouseUp += new MouseEventHandler(textEditBarcode_MouseUp);
txtBoxId.GotFocus += new EventHandler(textBoxId_GotFocus);
txtBoxId.MouseUp += new MouseEventHandler(textBoxId_MouseUp);
}
private void initialBackGroundTasks()
{
swAutoOrder.IsOn = WmsConstants.AUTO_PICK_BULK_VALIDATION_ORDER;
autoOrder = swAutoOrder.IsOn;
// lgOutReq.UpdateUIDelegate += updateValidationList;
if (autoOrder)
{
this.getValidationOrders();
}
}
private void initialComboBoxes()
{
Node[] nds = { };
DataTable dt = Park.getDictionary(false);
if (dt.Rows.Count == 0)
{
return;
}
DataRow[] drs = dt.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 2006:
initialComboBoxs(this.comValidException, drss,false); //
break;
case 4001:
initialComboBoxs(this.combColors, drss,false); //复合台
if (combColors.Properties.Items.Count > 0)
{
combColors.SelectedIndex = 0;
}
break;
}
}
}
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 initialBoxColumns(GridView gridView1)
{
setupGridView(gridView1, false,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;
gridView1.Columns.Add(myCol0);
GridColumn myCol1 = new GridColumn() { Caption = "颜色", Visible = true, FieldName = "colorName" };
GridColumn myCol2 = new GridColumn() { Caption = "箱子编号", Visible = true, FieldName = "boxid" };
GridColumn myCol3 = new GridColumn() { Caption = "分区", Visible = true, FieldName = "partion" };
GridColumn myCol4 = new GridColumn() { Caption = "", Visible = true, FieldName = " " };
//
gridView1.Columns.Add(myCol3);
gridView1.Columns.Add(myCol2);
gridView1.Columns.Add(myCol1);
//to show bottom scroll bar
gridView1.OptionsView.ColumnAutoWidth = true;
// gridView1.BestFitColumns();
gridView1.Focus();
// initialGridView2Columns();
//gridControl2.DataSource = null;
}
private void initialDataGridColumns()
{
setupGridView(gridView1,false,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() };
GridColumn myCol7 = new GridColumn() { Caption = "波次", Visible = true, FieldName = WmsOutPickRequest.fields.waveOrder.ToString() };
// this.gridView1.Columns.Add(myCol7);
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 = "IsDouChk" };
// 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 myCol161 = new GridColumn() { Caption = "复核状态", Visible = true, FieldName = WmsOutPickDetail.fields.bulkPickState.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 = WmsOutRequest.fields.orderNo.ToString() };
GridColumn myCol26 = new GridColumn() { Caption = "条码", Visible = true, FieldName = "BarCode" };
GridColumn myCol29 = new GridColumn() { Caption = "复核结果", Visible = true, FieldName = "validResult" };
GridColumn myCol27 = new GridColumn() { Caption = "异常回馈", Visible = true, FieldName = "solution" };
GridColumn myCol28 = new GridColumn() { Caption = "回馈说明", Visible = true, FieldName = WmsOutPickDetail.fields.solutionRemark.ToString() };
GridColumn myCol30 = new GridColumn() { Caption = "复核数量", Visible = true, FieldName = WmsOutPickDetail.fields.confirmedCount.ToString() };
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" };
if (gridview == gridViewSaleOrders)
{
gridview.Columns.Add(myCol25);
}else if( gridview == gridViewValidated){
gridview.Columns.Add(myCol29);// gridview.Columns.Add(myCol17); gridview.Columns.Add(myCol161);
gridview.Columns.Add(myCol30);
gridview.Columns.Add(myCol102);
gridview.Columns.Add(myCol27);
gridview.Columns.Add(myCol28);
}
else
{
gridview.Columns.Add(myCol26);
gridview.Columns.Add(myCol101);
gridview.Columns.Add(myCol102);
}
gridview.Columns.Add(myCol2);
gridview.Columns.Add(myCol132);
gridview.Columns.Add(myCol130);
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(myCol131);
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();
if (dtPickOrders4Validation.Rows.Count > 0)
{
switchGridViewRowSelection(gridView4Valid, true);
switchGridViewRowSelection(gridViewValidated, false);
if (gridView4Valid.IsFocusedView)
{
return;
}
gridView4Valid.Focus();
}
else if (dtPickOrdersValidated!=null && dtPickOrdersValidated.Rows.Count > 0)
{
if (gridViewValidated.IsFocusedView)
{
return;
}
this.gridViewValidated.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 ="pdaOuting"};// 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 myCol19 = new GridColumn() { Caption = "分拣状态", Visible = true, FieldName = WmsOutPickDetail.fields.bulkPickState.ToString() };
GridColumn myCol20 = new GridColumn() { Caption = "波次", Visible = true, FieldName = WmsOutPickLable.fields.dpsOrder.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.pickOrderNo.ToString() };
GridColumn myCol26 = new GridColumn() { Caption = "异常回馈", Visible = true, FieldName = "solution" };
GridColumn myCol27 = new GridColumn() { Caption = "回馈说明", Visible = true, FieldName = WmsOutPickDetail.fields.solutionRemark.ToString() };
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" };
if (gridview == gridViewException)
{
gridview.Columns.Add(myCol25);
gridview.Columns.Add(myCol26);
gridview.Columns.Add(myCol27);
gridViewException.OptionsSelection.EnableAppearanceFocusedRow = true;
gridViewException.FocusRectStyle = DrawFocusRectStyle.RowFocus;
}
// gridview.Columns.Add(myCol25);
gridview.Columns.Add(myCol2);
gridview.Columns.Add(myCol19);
gridview.Columns.Add(myCol130);
gridview.Columns.Add(myCol14);
// gridview.Columns.Add(myCol21);
gridview.Columns.Add(myCol100);
gridview.Columns.Add(myCol22);
gridview.Columns.Add(myCol131);
gridview.Columns.Add(myCol132);
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()
{
this.getPickOrders4Validation();
//threadPreProcess = new Thread(this.getPickOrders4Validation);
//threadPreProcess.IsBackground = true;
//threadPreProcess.Start();
}
private void getPickOrders4Validation()
{
try
{
showWaitForm();
dsPickOrders = pickClient.getPickRequest4BulkValidate(desk);
dtExceptionSolutions = pickClient.getBulkValidationExceptionSolutions(desk);
closeClient();
closeWaitForm();
}
catch (Exception e)
{
showErrorMsg(e,e.Message);
LogHelper.WriteLog(this.GetType(), e);
return;
}
dtPickOrders = dsPickOrders.Tables[2];
dtPickOrdersDetail = dsPickOrders.Tables[0];
dtPickOrders.PrimaryKey = new DataColumn[] { dtPickOrders.Columns["pickOrderNo"] };
dtPickOrdersDetail.PrimaryKey = new DataColumn[] { dtPickOrdersDetail.Columns["id"] };
// updateValidationList(null,null);
if (InvokeRequired)
{
this.Invoke(new loadNewPickOrders(delegate()
{
swAutoOrder.Enabled = true;
btnPickOrders.Enabled = !autoOrder;
this.loadPickOrders();
}));
}
else
{
swAutoOrder.Enabled = true;
btnPickOrders.Enabled = !autoOrder;
this.loadPickOrders();
}
// getValidationOrders();
}
DateTime lastRefreshTime;
int refreshInterval = 5;
//完成任务时需要调用
delegate void loadNewPickOrders();
private void updateValidationList(object source, System.Timers.ElapsedEventArgs e)
{
//还可以进行其他的一些完任务完成之后的逻辑处理
if (autoOrder)
{
TimeSpan ts = DateTime.Now - lastRefreshTime;
if ( ts.TotalSeconds < refreshInterval)
{
return;
}
lastRefreshTime = DateTime.Now;
refreshInterval = Convert.ToInt32( spinOrder.Value * 60);
getValidationOrders();
}
// Thread.CurrentThread.Join(refreshInterval);
//继续后台处理
}
System.Timers.Timer timer = new System.Timers.Timer();//实例化Timer类
private void timeCnt()
{
timer.Start(); ;
}
private void initialTimer()
{
int intTime = 10000;
timer.Interval = intTime;//设置间隔时间,为毫秒;
timer.Elapsed += new System.Timers.ElapsedEventHandler(updateValidationList);//到达时间的时候执行事件;
timer.AutoReset = true;//设置是执行一次false还是一直执行(true)
timer.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件
timer.Start();
}
/// <summary>
/// 更新拣选明细
/// </summary>
private void updatePickDetails() {
gridPickDetails.DataSource = null;
try
{
Thread threadPickdetail = new Thread(this.getPickOrdersPickDetail);
threadPickdetail.IsBackground = true;
threadPickdetail.Start();
}
catch (Exception e)
{
LogHelper.WriteLog(this.GetType(), e);
}
}
private void getPickOrdersPickDetail()
{
try
{
dtPickDetails = pickClient.getPickDetailByPickOrderNo(this.currentPickOrder);
closeClient();
}
catch(Exception e)
{
showErrorMsg(e,e.Message);
}
if (InvokeRequired)
{
try
{
this.Invoke(new loadNewPickOrders(delegate()
{
bindPickDetails();
}));
}
catch (Exception er)
{
LogHelper.WriteLog(this.GetType(), er);
}
}
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.pickOrder);
query += string.Format("{0} =#'{1}';", WmsOutRequest.fields.state.ToString(), (int) enumOutStockRequestStatus.prePicking );
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();
}
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
{
bool firstLoad = this.gridControl1.DataSource == null;
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"] };
// DataRow drx = dtPickOrders.Rows.Find(currentPickOrder);
DataView dvp = dtPickOrders.DefaultView;
dvp.RowFilter ="";
if (!string.IsNullOrEmpty(boxId) && !string.IsNullOrEmpty(boxPickOrder) && desk == boxDesk)
{
dvp.RowFilter = string.Format("pickOrderNo='{0}' and desk={1}", boxPickOrder,boxDesk);
}
this.gridControl1.DataSource = dvp;
//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);
selectedRowIndex = 0;
foreach (DataRowView drv in GetGridViewFilteredAndSortedData(gridView1))
{
if (drv["pickOrderNo"].ToString().Equals(currentPickOrder))
{
break;
}
selectedRowIndex++;
}
}else{
selectedRowIndex = 0;
}
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();
}
if (firstLoad && dtPickOrders.Rows.Count > 0)
{
selectedRowIndex =0;
selectedValidatedItem =0;
selectedValidationItem = 0;
}
setCurrentRequestDetail();
//to load exception solutions
DataView dv = dtExceptionSolutions.DefaultView;
#if DEBUG
#else
dv.RowFilter = "desk =" + desk;
#endif
gridControlException.DataSource = dv;
try
{
initialGridView3Columns(gridViewException);
initialDataGridColumns();
}
catch { }
if (firstLoad)
{
setCurrentValidatedDetail();
setCurrentValidationDetail();
textEditBarcode.Focus();
textEditBarcode.SelectAll();
}
}
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;
}
//clearDetails();
int cnt = GetGridViewFilteredAndSortedData(gridView1).Count;
if (selectedRowIndex + 1 > cnt)
{
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();
currentWave = currentRow["waveOrder"].ToString();
return true;
}
private void btnQuery_Click(object sender, EventArgs e)
{
clearDetails();
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;
gridView4Valid.CustomColumnDisplayText += gridView2_CustomColumnDisplayText;
gridView4Valid.CustomDrawCell += gridView_CustomDrawCell;
this.gridView4Valid.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
this.gridViewValidated.FocusedRowObjectChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventHandler(this.gridViewValidated_FocusedRowObjectChanged);
this.gridViewValidated.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
gridViewValidated.OptionsSelection.EnableAppearanceFocusedCell = false;
gridViewValidated.OptionsSelection.MultiSelect = false;
this.gridViewException.IndicatorWidth = 40;
this.gridViewException.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
this.gridViewException.FocusedRowObjectChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventHandler(this.gridViewException_FocusedRowObjectChanged);
gridViewException.OptionsSelection.MultiSelect = false;
gridViewException.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
gridViewException.OptionsSelection.EnableAppearanceFocusedCell = false;
gridView4Valid.GotFocus += new EventHandler(gridview_GotFocus);
gridViewValidated.GotFocus += new EventHandler(gridview_GotFocus);
switchGridViewRowSelection(gridViewException,false);
switchGridViewRowSelection(gridViewPickDetails, false);
switchGridViewRowSelection(gridViewSaleOrders, false);
gridViewException.LostFocus += new EventHandler(gridview_LostFocus);
gridViewSaleOrders.LostFocus += new EventHandler(gridview_LostFocus);
gridViewPickDetails.LostFocus += new EventHandler(gridview_LostFocus);
gridViewException.GotFocus += new EventHandler(gridview_GotFocus);
gridViewSaleOrders.GotFocus += new EventHandler(gridview_GotFocus);
gridViewPickDetails.GotFocus += new EventHandler(gridview_GotFocus);
gridViewValidated.RowCellStyle += gridView_RowCellStyle;
//gridView1.RowCellStyle += gridView_RowCellStyle;
gridViewValidated.CustomColumnDisplayText += gridView2_CustomColumnDisplayText;
gridViewPickDetails.CustomColumnDisplayText += gridView2_CustomColumnDisplayText;
this.gridViewException.CustomColumnDisplayText += gridView2_CustomColumnDisplayText;
this.gvBox.IndicatorWidth = 40;
this.gvBox.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(gridView_CustomDrawRowIndicator);
}
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;
}
}
}
else if (e.Column.FieldName == "bulkPickState")
{
if (!pickStatus.ContainsValue(e.DisplayText))
{
int display = -100;
string disTxt = e.DisplayText;
try
{
display = Convert.ToInt16(e.DisplayText);
e.DisplayText = pickStatus[display];
}
catch
{
return;
}
}
}
if (e.Column.FieldName == "IsDouChk")
{
if (!isDoublChk.ContainsValue(e.DisplayText))
{
string disTxt = e.DisplayText;
try
{
e.DisplayText = isDoublChk[disTxt];
}
catch
{
return;
}
}
}
}
}
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 == "IsDouChk" && e.CellValue != null)
{
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)["bulkPickState"].ToString().Trim();
if (string.IsNullOrEmpty(state))
{
return;
}
enumOutStockPickStatus status = (enumOutStockPickStatus)Convert.ToInt16(state);
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 alertFocus = new DevExpress.Utils.AppearanceDefault(Color.White,Color.Red);
DevExpress.Utils.AppearanceDefault alert = new DevExpress.Utils.AppearanceDefault(Color.Red, Color.White );
DevExpress.Utils.AppearanceDefault passedFocus = new DevExpress.Utils.AppearanceDefault(Color.Gray, Color.WhiteSmoke);
DevExpress.Utils.AppearanceDefault passed = new DevExpress.Utils.AppearanceDefault(Color.Gray,Color.White);
DevExpress.Utils.AppearanceDefault solutionFocus = new DevExpress.Utils.AppearanceDefault(Color.Green, Color.Yellow);
DevExpress.Utils.AppearanceDefault solution = new DevExpress.Utils.AppearanceDefault(Color.Green, Color.White);
if (status == enumOutStockPickStatus.)
{
rowStyle = isFocused ? passedFocus : passed;
}
else if (status == enumOutStockPickStatus.)
{
rowStyle = isFocused ? alertFocus : alert;
}
else if (status == enumOutStockPickStatus.)
{
rowStyle = isFocused ? solutionFocus : solution;
}
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);
bindValidationTables();
if (lgOutPickDetail.Expanded)
{
showOrderPickDetail();
}
bindBoxes();
}
catch (Exception e)
{
showErrorMsg(e,e.Message);
}
// closeWaitForm();
}
void bindBoxes()
{
if (string.IsNullOrEmpty(currentPickOrder))
{
this.gridControlBox.DataSource = null;
return;
}
try
{
DataTable dt = pickClient.getBoxsByPickOrder(currentPickOrder);
initialBoxColumns(gvBox);
this.gridControlBox.DataSource = dt;
}
catch (Exception e)
{
showErrorMsg(e, "");
}
}
void showOrderPickDetail()
{
if (string.IsNullOrEmpty(currentPickOrder))
{
return;
}
try
{
this.gridSaleOrders.DataSource = pickClient.getOutRequestDetail(currentPickOrder).DefaultView;
closeClient();
}
catch (Exception ex)
{
showErrorMsg(ex,ex.Message);
return;
}
initialGridView2Columns(gridViewSaleOrders);
//set pick details
updatePickDetails();
}
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"] };
//bind data validated
dtPickOrdersValidated = dv.ToTable();
DataView dv2 = dtPickOrdersValidated.DefaultView;
dv2.RowFilter = string.Format("bulkCount>0 and bulkPickState >{0}", (int)enumOutStockPickStatus.);
dv2.Sort = "lastmodified desc";
this.gridValidated.DataSource = dv2;
initialGridView2Columns(gridViewValidated);
//gridViewValidated.FocusedRowHandle = -1;
//gridViewValidated.SelectRow(-1);
dtPickOrdersValidated = dv2.ToTable();
dtPickOrdersValidated.PrimaryKey = new DataColumn[] { dtPickOrdersValidated.Columns["id"] };
//bind data to be validated
DataView dv1 = dtPickOrders4Validation.DefaultView;
dv1.RowFilter = string.Format("bulkCount>0 and bulkPickState <={0}", (int)enumOutStockPickStatus.);
dtPickOrders4Validation = dv1.ToTable();
dtPickOrders4Validation.PrimaryKey = new DataColumn[] { dtPickOrders4Validation.Columns["id"] };
this.grid4Valid.DataSource = dv1;
initialGridView2Columns(gridView4Valid);
btnPrint.Enabled = dtPickOrders4Validation.Rows.Count == 0 && dtPickOrdersValidated.Select("bulkpickstate < " + (int)enumOutStockPickStatus.).Length ==0;
;
}
private void clearDetails()
{
resetValidationDetails();
this.gridValidated.DataSource = null;
this.grid4Valid.DataSource = null;
lbPickOrderNo.Text = "";
lbCustmer.Text = "";
spinBulkBox.Value = 0;
spinBulkBag.Value = 0;
isDoubleChk = false;
txtAccount.Text = txtPasswd.Text = "";
}
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.lbManufacturer.Text = "";
this.lbPickCount.Text = "";
this.lbSaleCount.Text = "";
this.textEditValidCount.Text = "";
this.textEditValidtionRemark.Text = "";
this.comValidException.SelectedIndex = -1;
this.lbType.Text = "";
this.lbUnit.Text = "";
this.checkEditPass.Checked = false;
textEditBarcode.Text = "";
this.btnValidateItem.Enabled = false;
textEditBarcode.BackColor = textEditValidCount.BackColor; ;
foreach (LotAtt la in SKUs.Keys)
{
SKUs[la].Text = "";
}
}
//gridviewvalidated
int selectedValidatedItem = -1;
private void gridViewValidated_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
{
if (this.gridViewValidated.FocusedRowHandle < 0 || gridViewValidated.FocusedRowHandle == selectedValidatedItem)
{
if (gridViewValidated.IsGroupRow(e.RowHandle)) //set first row of group selected
{
selectedValidatedItem = gridViewValidated.GetChildRowHandle(e.RowHandle, 0);
}
else
{
return;
}
}
selectedValidatedItem = gridViewValidated.FocusedRowHandle >= 0 ? gridViewValidated.FocusedRowHandle : selectedValidatedItem;
setCurrentValidatedDetail();
gridView4Valid.FocusedRowHandle = -1;
gridView4Valid.SelectRow(-1);
}
private void setCurrentValidatedDetail()
{
if (!this.gridValidated.IsFocused)
{
// return;
}
if (selectedValidatedItem < 0 || selectedValidatedItem >= this.dtPickOrdersValidated .Rows.Count)
{
return;
}
// DataRow dr = dtPickOrdersValidated.Rows[selectedValidatedItem];
DataRowView dr = (DataRowView)(GetGridViewFilteredAndSortedData(gridViewValidated)[selectedValidatedItem]);
setValidataDetail(dr.Row);
}
//exception
int selectedExceptionItem = -1;
private void gridViewException_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
{
if (this.gridViewException.FocusedRowHandle < 0 || gridViewException.FocusedRowHandle == selectedExceptionItem)
{
if (gridViewException.IsGroupRow(e.RowHandle)) //set first row of group selected
{
selectedExceptionItem = gridViewException.GetChildRowHandle(e.RowHandle, 0);
setCurrentExceptionDetail();
}
return;
}
selectedExceptionItem = gridViewException.FocusedRowHandle;
setCurrentExceptionDetail();
}
private void setCurrentExceptionDetail()
{
if (selectedExceptionItem < 0 || selectedExceptionItem >= dtExceptionSolutions.Rows.Count)
{
return;
}
//DataRow dr = this.dtExceptionSolutions.Rows[selectedExceptionItem];
DataRowView dr = (DataRowView)(GetGridViewFilteredAndSortedData(gridViewException)[selectedExceptionItem]);
if (dr != null)
{
this.currentPickOrder = dr["pickOrderNo"].ToString();
isDataSourceChanged = true;
loadPickOrders();
this.setCurrentRequestDetail();
this.switchGridViewRowSelection(gridViewException, true);
}
else
{
showErrorMsg("no record found");
}
}
// 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);
}
else
{
return;
}
}
selectedValidationItem = gridView4Valid.FocusedRowHandle >= 0 ? gridView4Valid.FocusedRowHandle : selectedValidationItem;
setCurrentValidationDetail();
gridViewValidated .FocusedRowHandle = -1;
gridViewValidated.SelectRow(-1);
}
private void setCurrentValidationDetail()
{
if (!grid4Valid.IsFocused)
{
//return;
}
if (selectedValidationItem < 0 || selectedValidationItem >= dtPickOrders4Validation.Rows.Count)
{
return;
}
// DataRow dr = dtPickOrders4Validation.Rows[selectedValidationItem];
DataRowView dr = (DataRowView)(GetGridViewFilteredAndSortedData(gridView4Valid)[selectedValidationItem]);
setValidataDetail(dr.Row);
this.textEditValidCount.Text = this.lbPickCount.Text;
}
void setValidataDetail(DataRow dr)
{
if (currentDetail != null && currentDetail.ID == Convert.ToInt32(dr["id"].ToString()))
{
textEditBarcode.Focus();
textEditBarcode.SelectAll();
return;
}
currentDetail = new WmsOutPickDetail_tmp(dr);
lbGoodsName.Text = dr[WmsGoods.exfields.goodsName.ToString()].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.confirmedCount.ToString()].ToString();
this.textEditValidtionRemark.Text = dr[WmsOutPickDetail.fields.validRemark.ToString()].ToString();
isDoubleChk =!"N".Equals( dr["IsDouChk"].ToString().Trim());
lgDoulbeChk.Visibility = isDoubleChk ? DevExpress.XtraLayout.Utils.LayoutVisibility.Always
: DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
try
{
string tmp = dr[WmsOutPickDetail.fields.validReason.ToString()].ToString();
if (string.IsNullOrEmpty(tmp))
{
this.comValidException.SelectedIndex = 0;
}
else
{
int validReason = Convert.ToInt16(tmp);
validReason = validReason > 0 ? validReason : 0;
if (validReason > 0)
{
DataRow ndr = Park.getDictionary().Rows.Find(validReason);
Node n = new Node(ndr);
foreach (Node cc in comValidException.Properties.Items)
{
if (cc.ID == n.ID)
{
comValidException.SelectedItem = cc;
break;
}
}
}
else
{
this.comValidException.SelectedIndex = 0;
}
}
}
catch (Exception e)
{
this.comValidException.SelectedIndex = 0;
}
createSKUinputs(currentDetail.goodsId, currentDetail.skuId);
// this.lbBatch.Text = dr["batch"].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;
}
if (currentDetail.bulkPickState < (int)enumOutStockPickStatus.)
{
showErrorMsg("此货物还未完成分拣,不能复核");
return;
}
if (isDoubleChk)
{
if (string.IsNullOrEmpty(txtAccount.Text) || string.IsNullOrEmpty(txtPasswd.Text.Trim()))
{
showErrorMsg("重点商品,需要双人验收!");
this.txtAccount.Focus();
return ;
}
if (!checkPermission(WmsConstants.SPECIAL_AUTHS_DOUBLE_CHECK))
{
showErrorMsg(LoginInfo.Account + " 权限不足,需要特殊权限:" + WmsConstants.SPECIAL_AUTHS_DOUBLE_CHECK);
return ;
}
currentDetail.checkedBy1 = checkPermission(txtAccount.Text, txtPasswd.Text, WmsConstants.SPECIAL_AUTHS_DOUBLE_CHECK);
if (currentDetail.checkedBy1 < 0)
{
showErrorMsg(txtAccount.Text + " 权限不足,需要特殊权限:" + WmsConstants.SPECIAL_AUTHS_DOUBLE_CHECK);
return ;
}
}
currentDetail.bulkPickState = checkEditPass.Checked ? (int)enumOutStockPickStatus. : (int)enumOutStockPickStatus.;
currentDetail.validRemark = textEditValidtionRemark.Text.Trim();
currentDetail.validReason = ((Node)comValidException.SelectedItem).ID;
currentDetail.confirmedCount = Convert.ToDecimal(textEditValidCount.Text.Trim());
updateValidationItem();
//Thread updateValidation = new Thread(updateValidationItem);
//updateValidation.IsBackground = true;
//updateValidation.Start();
DataRow dr = this.dtPickOrdersDetail.Rows.Find(currentDetail.ID);
if (dr != null)
{
dr[WmsOutPickDetail.fields.validReason.ToString()] = currentDetail.validReason;
dr["bulkPickState"] = currentDetail.bulkPickState;
dr["validResult"] = this.comValidException.Text ;
dr[WmsOutPickDetail.fields.validRemark.ToString()] = this.textEditValidtionRemark.Text;
dr[WmsOutPickDetail.fields.confirmedCount.ToString()] = currentDetail.confirmedCount;
}
bindValidationTables();
}
private void updateValidationItem()
{
if (currentDetail == null)
{
return;
}
try
{
bool b = this.pickClient.updateValidBulkPickStatus(currentDetail.ID, currentDetail.bulkPickState, currentDetail.validRemark,
currentDetail.validReason, currentDetail.confirmedCount,currentDetail.checkedBy1);
closeClient();
}
catch (Exception ex)
{
showErrorMsg(ex.Message);
}
// currentDetail.Update();
}
private void gridView4Valid_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter){
validation();
}
}
protected new void gridview_GotFocus(object sender, EventArgs e)
{
if (sender == gridView4Valid && dtPickOrders4Validation !=null)
{
//grid4Valid.ForeColor = Color.Blue;
// gridView4Valid.OptionsSelection.EnableAppearanceHideSelection = true;
if (this.dtPickOrders4Validation.Rows.Count == 0)
{
gridViewValidated.Focus();
}
this.setCurrentValidationDetail();
switchGridViewRowSelection(gridView4Valid,true);
switchGridViewRowSelection(gridViewValidated, false);
}
else if (sender == gridViewValidated)
{
this.setCurrentValidatedDetail();
switchGridViewRowSelection(gridViewValidated, true);
switchGridViewRowSelection(gridView4Valid, false);
}
else
{
switchGridViewRowSelection((GridView)sender, true);
}
}
void textEditBarcode_MouseUp(object sender, MouseEventArgs e)
{
//如果鼠标左键操作并且标记存在,则执行全选
if (e.Button == MouseButtons.Left &&textEditBarcode.Tag!=null&& (bool)textEditBarcode.Tag == true)
{
textEditBarcode.SelectAll();
}
//取消全选标记
textEditBarcode.Tag = false;
}
void textBoxId_GotFocus(object sender, EventArgs e)
{
this.txtBoxId.Tag = true; //设置标记
txtBoxId.SelectAll(); //注意1
}
void textBoxId_MouseUp(object sender, MouseEventArgs e)
{
//如果鼠标左键操作并且标记存在,则执行全选
if (e.Button == MouseButtons.Left && txtBoxId.Tag != null && (bool)txtBoxId.Tag == true)
{
txtBoxId.SelectAll();
}
//取消全选标记
txtBoxId.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 (barcode.StartsWith("H-"))
{
boxId = barcode;
getPickdetailByBoxId();
return;
}
if (dtPickOrders4Validation == null)
{
textEditBarcode.Text = "";
return;
}
if(lastScanBarcode.Equals(barcode)){
validation();
return;
}
lastScanBarcode = barcode;
textEditBarcode.BackColor = textEditValidCount.BackColor; ;
DataRow[] drs = dtPickOrders4Validation.Select(string.Format("barcode ='{0}'", barcode));
if (drs.Length == 0)
{
//check validated
drs = this.dtPickOrdersValidated.Select(string.Format("barcode ='{0}'", barcode));
if (drs.Length == 0)
{
setCurrentValidationDetail();
return;
}
if (drs.Length > 1)
{
textEditBarcode.BackColor = Color.OrangeRed;
}
DataRow dr0 = drs[0];
if (drs != null)
{
// selectedValidatedItem = dtPickOrdersValidated.Rows.IndexOf(dr0);
selectedValidatedItem = 0;
foreach (DataRowView drv in GetGridViewFilteredAndSortedData(gridViewValidated))
{
if (drv["barcode"].ToString().Equals(barcode))
{
break;
}
selectedValidatedItem++;
}
}
if (selectedValidatedItem >= 0 && dtPickOrdersValidated.Rows.Count > selectedValidatedItem)
{
this.gridViewValidated.FocusedRowHandle = selectedValidatedItem;
}
gridViewValidated.Focus();
this.setCurrentValidatedDetail();
return;
}
if (drs.Length > 1)
{
textEditBarcode.BackColor = Color.OrangeRed;
}
DataRow dr = drs[0];
if (drs != null)
{
// selectedValidationItem = dtPickOrders4Validation.Rows.IndexOf(dr);
selectedValidationItem = 0;
foreach (DataRowView drv in GetGridViewFilteredAndSortedData(gridView4Valid))
{
if (drv["barcode"].ToString().Equals(barcode))
{
break;
}
selectedValidationItem++;
}
}
if (selectedValidationItem >= 0 && dtPickOrders4Validation.Rows.Count > selectedValidationItem)
{
this.gridView4Valid.FocusedRowHandle = selectedValidationItem;
}
gridView4Valid.Focus();
setCurrentValidationDetail();
}
string tmpOrder = string.Empty;
int boxcnt =0;
int bagcnt = 0;
private void btnPrint_Click(object sender, EventArgs e)
{
boxcnt = Convert.ToInt16(spinBulkBox.Value);
bagcnt = Convert.ToInt16(spinBulkBag.Value);
if (boxcnt + bagcnt == 0)
{
showErrorMsg("请设置零货拼箱、拼袋数量");
return;
}
//save the box/bag info
//handle tran system
//print
//close current order
getCurrentObject();
tmpOrder = currentPickOrder;
Thread completeThread = new Thread(completeValidation);
completeThread.IsBackground = true;
completeThread.Start();
//remove the order from pickorder list
clearDetails();
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);
if (dr != null)
{
dtPickOrders.Rows.Remove(dr);
}
currentPickOrder = null;
this.selectedRowIndex = 0;
loadPickOrders();
}
}
printIn reqportPrint = new printIn();
void completeValidation()
{
try
{
// pickClient.completeBulkValidation(tmpOrder,boxcnt, bagcnt, dtPickOrdersValidated);
pickClient.completeBulkValidation(tmpOrder, boxcnt, bagcnt);
closeClient();
//TODO: print bulk boxs\bags label
//t_tmsStock
DataTable dt = tmsClient.getTmsStockBulkDetail(tmpOrder);
reqportPrint.printBulkPackingNoStore(dt, boxcnt, bagcnt);
closeClient();
}
catch (Exception ex)
{
showErrorMsg(ex,ex.Message);
}
// lgt.completeBulkValidation(currentPickOrder, dtPickOrdersValidated);
// currentPickOrder = null;
}
private void testPrint()
{
tmpOrder = "PICK050000002875";
DataTable dt = tmsClient.getTmsStockBulkDetail(tmpOrder);
// reqportPrint.printBulkPacking(dt);
closeClient();
}
private void textEditValidCount_EditValueChanged(object sender, EventArgs e)
{
if (currentDetail == null)
{
return;
}
this.checkEditPass.Checked = textEditValidCount.Value == currentDetail.bulkCount;
if (textEditValidCount.Value != currentDetail.bulkCount)
{
this.comValidException.SelectedIndex = -1;
}
}
private void comValidException_SelectedIndexChanged(object sender, EventArgs e)
{
this.checkEditPass.Checked = comValidException.SelectedIndex == 0;
}
private void btnEndWave_Click(object sender, EventArgs e)
{
}
private void GoodsOutValidationForm_FormClosing(object sender, FormClosingEventArgs e)
{
timer.Stop();
timer.Close();
closeClient();
}
private void lgOutPickDetail_CustomButtonChecked(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e)
{
this.gridSaleOrders.DataSource = null;
gridPickDetails.DataSource = null;
}
private void lgOutPickDetail_CustomButtonUnchecked(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e)
{
showOrderPickDetail();
}
private void combColors_SelectedIndexChanged(object sender, EventArgs e)
{
showWaitForm();
this.refreshInterval = 0;
clearDetails();
getValidationOrders();
closeWaitForm();
}
private void spinOrder_EditValueChanged(object sender, EventArgs e)
{
refreshInterval = Convert.ToInt32(spinOrder.Value * 60);
}
private void txtBoxId_KeyUp(object sender, KeyEventArgs e)
{
// string boxId = txtBoxId.Text.Trim();
boxId = txtBoxId.Text.Trim();
if (string.IsNullOrEmpty(boxId))
{
boxPickOrder = string.Empty;
boxDesk = 0;
}
if (e.KeyCode != Keys.Enter)
{
return;
}
if (string.IsNullOrEmpty(boxId))
{
boxPickOrder = string.Empty;
boxDesk = 0;
getPickOrders4Validation();
return;
}
getPickdetailByBoxId();
}
private void getPickdetailByBoxId()
{
try
{
DataTable dt = pickClient.getPartionPickDetailByBoxId(boxId);
if (dt.Rows.Count==0)
{
clearDetails();
lbGoodsName.Text = "未找到该箱子的注册信息";
//showErrorMsg("未找到该箱子的注册信息");
return;
}
boxPickOrder = dt.Rows[0]["pickOrderNo"].ToString();
if (String.IsNullOrEmpty(boxPickOrder))
{
lbGoodsName.Text = "该箱子无相关订单";
//showErrorMsg("该箱子无相关订单");
return;
}
boxDesk = Convert.ToInt16( dt.Rows[0]["desk"].ToString());
if (boxDesk != desk)
{
showErrorMsg(string.Format("该箱子属于复核台{0}",boxDesk));
return;
}
getPickOrders4Validation();
//loadPickOrders();
}
catch (Exception er)
{
showErrorMsg(er, "");
}
}
//-----------create sku input controls
// List<LotAtt> ATTs = new List<LotAtt>();
// Dictionary<LotAtt, BaseEdit> SKUs = new Dictionary<LotAtt, BaseEdit>();
Dictionary<LotAtt, Label> SKUs = new Dictionary<LotAtt, Label>();
int lastLotId = 0;
private void createSKUinputs(string goodsId,int skuId)
{
// skuId = 1;
DataTable skuValues = null;
DataTable lotAtts = null;
using (LotServiceClient client = new LotServiceClient("BasicHttpBinding_ILotService",
buildSvrAddress("LotService.svc")))
{
try
{
showWaitForm();
lotAtts = client.getLotAtts(goodsId);
skuValues = client.querySkuValues(skuId);
closeWaitForm();
}
catch (Exception e)
{
closeWaitForm();
showErrorMsg(e, "出错了");
return;
}
}
List<LayoutControlItem> liSKU = new List<LayoutControlItem>();
int pjCount = lotAtts.Rows.Count;
if (pjCount == 0)
{
return;
}
int lotId = Convert.ToInt16(lotAtts.Rows[0]["lotId"].ToString());
if (lastLotId == lotId) //批次定义相同不需从新创建sku控件
{
foreach (LotAtt la in SKUs.Keys)
{
SKUs[la].Text = "";
}
}
else
{
lcgSKUGroup.BeginUpdate();
lcgSKUGroup.Clear();
lcgSKUGroup.Items.Clear();
SKUs.Clear();
LayoutControlItem lastItem = null;
int i = 0;
foreach (DataRow dr in lotAtts.Rows)
{
Label be;
LotAtt la = new LotAtt(dr);
enumLotAttType enLt = (enumLotAttType)la.attType;
be = new Label();
be.Name = "SKU" + la.ID;
be.TabIndex = 40 + (i * 8);
be.Font = new System.Drawing.Font("微软雅黑", 16F);
if (!la.isOptional)
{
be.ForeColor = Color.Red;
}
LayoutControlItem item = lcgSKUGroup.AddItem(la.attName, be) as LayoutControlItem;
item.MaxSize = new System.Drawing.Size(270, 44);
item.MinSize = new System.Drawing.Size(270, 44);
item.Name = "lci" + la.attName;
item.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 2, 2, 2);
item.Size = new System.Drawing.Size(839, 44);
item.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
// this.layoutControlItem2.Text = "批次信息";
item.TextSize = new System.Drawing.Size(51, 14);
if (lastItem != null && i % 4 != 0)
{
item.Move(lastItem, DevExpress.XtraLayout.Utils.InsertType.Right);
}
lastItem = item;
SKUs.Add(la, be);
i++;
}
}
lcgSKUGroup.EndUpdate();
lastLotId = lotId;
foreach (LotAtt la in SKUs.Keys)
{
Label be = SKUs[la];
DataRow[] drs = skuValues.Select(string.Format("attID ={0}", la.ID));
if (la.isList && la.listId > 0)
{
foreach (DataRow drr in drs)
{
DataRow[] drss = Park.getDictionary(false).Select(string.Format("ID ={0}", drr["value"].ToString()));
if (drss.Length > 0)
be.Text = drss[0]["name"].ToString();
break;
}
}
else
{
if (drs.Length > 0)
be.Text = drs[0]["value"].ToString();
}
}
}
}
}