352 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			352 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			C#
		
	
	
	
|  |  | |||
|  | /// <summary> | |||
|  | ///LOGIC CLASS FOR TABLE t_wmsOutPickRequest | |||
|  | ///By wm with codesmith.  | |||
|  | ///on 05/22/2017 | |||
|  | /// </summary> | |||
|  | 
 | |||
|  | 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; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get all data | |||
|  |         /// </summary> | |||
|  |         public DataSet getAllData() | |||
|  |         { | |||
|  |             return _obj.Query(); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         ///get pick details | |||
|  |         ///if no pick data,return order details | |||
|  |         /// </summary> | |||
|  |         public DataSet getPickDetails(string orderNo,enumOutOrderType orderType) | |||
|  |         { | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |             return _obj.getPickDetailByOrder(orderNo,orderType); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// get all data | |||
|  |         /// </summary> | |||
|  |         public DataSet getAllActiveData() | |||
|  |         { | |||
|  |             return _obj.QueryActived(); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get a record by id | |||
|  |         /// </summary> | |||
|  |         public void initialize(int id) | |||
|  |         { | |||
|  |             _obj = id != 0 ? new WmsOutPickRequest(id) : new WmsOutPickRequest(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get a record by id 0 | |||
|  |         /// </summary> | |||
|  |         public void initialize() | |||
|  |         { | |||
|  |             initialize(0); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get a record by id | |||
|  |         /// </summary> | |||
|  |         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;   | |||
|  |         } | |||
|  | 
 | |||
|  |   | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// batch pick orders waiting for out | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         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; | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// pick order detail | |||
|  |         /// </summary> | |||
|  |         /// <param name="pickOrderNo"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataSet getBatchOutPickOrderDetails(string pickOrderNo) | |||
|  |         { | |||
|  | 
 | |||
|  |             return outRequest.getBatchOutPickOrderDetails(pickOrderNo, enumOutStockDetailStatus.等待分拣, enumOutStockPickStatus.待处理); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// get batch pick detail by id | |||
|  |         /// </summary> | |||
|  |         /// <param name="recordId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataTable getBatchOutPickOrderDetail(int id) | |||
|  |         { | |||
|  |             return outPickPort.getPickDetail(id); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// batch pick order pick detail | |||
|  |         /// </summary> | |||
|  |         /// <param name="pickOrderNo"></param> | |||
|  |         /// <returns></returns> | |||
|  |         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); | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  |      | |||
|  | } | |||
|  |   |