/// ///LOGIC CLASS FOR TABLE t_wmsOutPickRequest ///By wm with codesmith. ///on 05/22/2017 /// using System; using System.Collections.Generic; using System.Linq; using System.Text; using DeiNiu.wms.Data.Model; using System.Data; using System.Transactions; using DeiNiu.Utils; using System.Threading; namespace DeiNiu.wms.Logical { [Serializable] public class lWmsOutPickRequest : lbase { WmsOutPickRequest _obj; WmsOutDesk _desk; WmsOutPickRequest outRequest { get { if (_outRequest == null) { _outRequest = new WmsOutPickRequest(); } return _outRequest; } } WmsStockRecord stkRecord { get { if(_stkRecord == null){ _stkRecord = new WmsStockRecord(); } return _stkRecord; } } WmsOutPickLable pickLabelDetail { get { if (_pickLabelDetail == null) { _pickLabelDetail = new WmsOutPickLable(); } return _pickLabelDetail; } } WmsOutPickPort outPickPort { get { if (_outPickPort == null) { _outPickPort = new WmsOutPickPort(); ; } return _outPickPort; } } WmsOutPickPort _outPickPort; WmsOutPickRequest _outRequest ; WmsStockRecord _stkRecord ; WmsOutPickLable _pickLabelDetail ; WmsOutDesk desk { get { if (_desk == null) { _desk = new WmsOutDesk(); } return _desk; } } public lWmsOutPickRequest() { initialize(); } public lWmsOutPickRequest(int p) :base(p) { initialize(); } public WmsOutPickRequest getWmsOutPickRequest { get { if (_obj == null) { _obj = new WmsOutPickRequest(); } return _obj; } } /// /// get all data /// public DataSet getAllData() { return _obj.Query(); } /// ///get pick details ///if no pick data,return order details /// public DataSet getPickDetails(string orderNo,enumOutOrderType orderType) { return _obj.getPickDetailByOrder(orderNo,orderType); } /// /// get all data /// public DataSet getAllActiveData() { return _obj.QueryActived(); } /// /// get a record by id /// public void initialize(int id) { _obj = id != 0 ? new WmsOutPickRequest(id) : new WmsOutPickRequest(); } /// /// get a record by id 0 /// public void initialize() { initialize(0); } /// /// get a record by id /// public void initialize(DataRow dr) { _obj = new WmsOutPickRequest(dr); } protected override DeiNiu.Data.BaseObject.BaseModel getModel() { return _obj; } //begin cust db operation, query, excute sql etc. public DataSet getPickRequest4BulkValidate(object desk) { DataSet ds = outRequest.getPickRequest4BulkVailidate(desk); DataTable tmp = ds.Tables[0]; //test for barcode #if DEBUG Int64 i =6900000000000; foreach (DataRow dr in tmp.Rows) { i++; if(string.IsNullOrEmpty(dr["barCode"].ToString())){ dr["barCode"] = i; } } #endif DataView dv = ds.Tables[0].DefaultView; dv.Sort = "waveOrder ASC"; //fifo DataTable dt = dv.ToTable(true, "pickOrderNo","orderState","customerName"); // distinct pickOrderNo dt.TableName = "tablePickOrderList"; ds.Tables.Add(dt); //DataView dv2 = outRequest.getValidationExceptionSolutions(desk).Tables[0].DefaultView; //dv2.RowFilter = "state =" + (int)enumOutStockDetailStatus.validatedExceptionSulution ; //DataTable dtExceptionSolution = dv.ToTable(); //dtExceptionSolution.TableName = "exsolutions"; //ds.Tables.Add(dtExceptionSolution); //DataTable dtExceptionSolution = outRequest.getValidationExceptionSolutions(desk).Tables[0].Clone(); //dtExceptionSolution.TableName = "exsolutions"; //ds.Tables.Add(dtExceptionSolution); return ds; } /// /// batch pick orders waiting for out /// /// public DataSet getBatchOutPickOrders4Pick() { DataSet ds = outRequest.getBatchOutPickOrders(enumOutStockRequestStatus.正在分拣, enumOutStockPickStatus.待处理, enumOutStockPickStatus.正在分拣); //DataTable dt = outRequest.getRepRequestDetailsLessThan(enumOutStockPickStatus.复核完成); // DataTable repTable = outRequest.getRequests(enumOutOrderType.repOrderOut, enumOutStockRequestStatus.等待分拣).Tables[0]; DataView dv = ds.Tables[0].DefaultView; dv.RowFilter = "orderType =" + (int) enumOutOrderType.补货单; DataTable dt = dv.ToTable(); dt.TableName = "repOrder"; ds.Tables.Add(dt); return ds; } /// /// pick order detail /// /// /// public DataSet getBatchOutPickOrderDetails(string pickOrderNo) { return outRequest.getBatchOutPickOrderDetails(pickOrderNo, enumOutStockDetailStatus.等待分拣, enumOutStockPickStatus.待处理); } /// /// get batch pick detail by id /// /// /// public DataTable getBatchOutPickOrderDetail(int id) { return outPickPort.getPickDetail(id); } /// /// batch pick order pick detail /// /// /// public DataSet getBatchOutPickOrderPickDetails(string pickOrderNo) { // return outRequest.getBatchOutPickOrderPickDetails(pickOrderNo,enumOutStockRequestStatus.正在分拣, enumOutStockPickStatus.待处理); return outRequest.getBatchOutPickOrderPickDetails(pickOrderNo); } public DataTable getBatchPickOrders4Validate() { DataTable dt = getWmsOutPickRequest.getBatchPickOrders4Validation(); return dt; } public int getPickCount4valid(string pickOrderNo) { return outPickPort.getPickDetailsCnt(pickOrderNo, enumPickState.已拣); } public DataTable repTodayDetails4Pick() { DataTable dt = getWmsOutPickRequest.getBatchPickOrderDetail(enumOutOrderType.补货单, enumPickState.未拣); dt.Columns.Remove("状态"); //dt.Columns.Remove("pickOrderNo"); dt.Columns.Remove("state"); dt.Columns.Remove("orderType"); dt.Columns.Remove("orderDate"); dt.Columns.Remove("pickCount"); dt.Columns.Remove("goodsid"); return dt; } public DataTable repTodayDetails4In() { DataTable dt = getWmsOutPickRequest.getBatchPickOrderDetail(enumOutOrderType.补货单, enumPickState.已拣); dt.Columns.Remove("货位"); dt.Columns.Remove("状态"); dt.Columns.Remove("state"); dt.Columns.Remove("orderType"); dt.Columns.Remove("orderDate"); dt.Columns.Remove("pickCount"); return dt; } //-------------------------out logs----------------------begin--- private WmsOutLog _outLog; WmsOutLog outLog { get { if (_outLog == null) { _outLog = new WmsOutLog(); } return _outLog; } } public DataTable getOrderLogs(string orderNo, string pickOrderNo) { return outLog.getOrderLogs(orderNo,pickOrderNo); } public DataTable getOrderLogs(string orderNo, enumOutOrderType orderType) { if (orderType == enumOutOrderType.销售订单) { return outLog.getOrderLogs(orderNo, ""); } else { return outLog.getOrderLogs("",orderNo); } } } }