/// ///INTERFACE 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 System.Data; using DeiNiu.Utils; namespace DeiNiu.wms.Data.Model { [Serializable] public class WmsOutPickRequest : WmsOutPickRequest_base { public WmsOutPickRequest() { } public WmsOutPickRequest(int id): base(id) { } public WmsOutPickRequest(DataRow dr): base(dr) { } public WmsOutPickRequest(string orderNo) { cmdParameters[0] = orderNo; getModel(100); } protected override void getImp() { model_imp = new WmsOutPickRequest_Imp(); } //begin cust db operation, query, excute sql etc. public DataSet QueryByName(string name) { cmdParameters[0] = name; return CustQuery(100); } /// /// 出库单详情(根据customer合并订单明细) /// /// public DataSet getOutDetail() { cmdParameters[0] = this._pickOrderNo; return CustQuery(200); } /// /// 出库单详情(根据货物id,批号合并原始单明细) /// /// public DataSet getOutDetailMerged() { cmdParameters[0] = this._pickOrderNo; return CustQuery(210); } private List _outDetails; private string orderNo; /// /// 查询订单出库详情 /// public List outDetails { get { if (_outDetails == null && !string.IsNullOrEmpty(_pickOrderNo)) { _outDetails = new List(); DataTable dt = getOutDetail().Tables[0]; foreach (DataRow dr in dt.Rows) { _outDetails.Add(new WmsOutPickDetail(dr)); } } return _outDetails; } } /// /// 查询订单出库详情 /// public List outDetailsMergedByOrderNo { get { if (_outDetails == null && !string.IsNullOrEmpty(_pickOrderNo)) { _outDetails = new List(); DataTable dt = getOutDetail().Tables[0]; foreach (DataRow dr in dt.Rows) { _outDetails.Add(new WmsOutPickDetail(dr)); } } return _outDetails; } } /// /// 获取出库订单 /// /// 订单类型 /// 订单状态 /// public DataSet getRequests(DeiNiu.Utils.enumOutOrderType orderType, DeiNiu.Utils.enumOutStockRequestStatus orderStatus) { cmdParameters[0] = (int)orderType; cmdParameters[1] = (int)orderStatus; return CustQuery(300); } /// /// 获取波次出库单 /// /// /// /// public List getRequests4Wave( ) { if (WmsConstants.WAVE_LINE == -1 && string.IsNullOrEmpty(WmsConstants.WAVE_SALE)) { return getRequestObjects(enumOutOrderType.拣货单, enumOutStockRequestStatus.等待波次); } List lst = new List(); cmdParameters[0] = (int)enumOutOrderType.拣货单; cmdParameters[1] = (int)enumOutStockRequestStatus.等待波次; cmdParameters[2] = WmsConstants.WAVE_LINE; cmdParameters[3] = WmsConstants.WAVE_SALE; DataTable dt = CustQuery(301).Tables[0]; foreach (DataRow dr in dt.Rows) { lst.Add(new WmsOutPickRequest(dr)); } return lst; } /// /// 获取出库订单 /// /// 订单类型 /// 订单状态 /// public List getRequestObjects(DeiNiu.Utils.enumOutOrderType orderType, DeiNiu.Utils.enumOutStockRequestStatus orderStatus) // , int lines=-1,string sales="") { List lst = new List(); DataTable dt = getRequests(orderType,orderStatus).Tables[0]; foreach (DataRow dr in dt.Rows) { lst.Add(new WmsOutPickRequest(dr)); } return lst; } /// /// 进入波次,更新零货捡货状态 /// /// /// public void updateBulkPickStatus(string pickOrderNo,enumOutStockPickStatus state,int operater) { cmdParameters[0] = pickOrderNo; cmdParameters[1] = (int)state; cmdParameters[2] = operater; CustOper(410); } /// /// 更新整货捡货状态 /// 需要事物 /// /// /// public int updateBatchPickStatus(string pickOrderNo, enumOutStockPickStatus state,int operater) { cmdParameters[0] = pickOrderNo; cmdParameters[1] = (int)state; cmdParameters[2] = operater; return CustOper(420); } /// /// 更新整货捡货、复核状态 /// 完成订单明细的全部拣货、复核动作时执行此方法 /// 需要事物 /// /// /// /// /// /// /// public int updateBatchOrderStatus(string pickOrderNo, enumOutStockRequestStatus orderState, enumOutStockDetailStatus detailState, int operater) { cmdParameters[0] = pickOrderNo; cmdParameters[1] = (int)orderState; cmdParameters[2] = (int)detailState; cmdParameters[3] = operater; return CustOper(430); } /// /// 波次完成,更新bulkPickState /// 全是零货的订单状态 state一并更新 /// 有整货的,待整货完成分拣后再更新 /// /// /// public bool completeWaveBulkPickStatus(string waveNo, int operater) { cmdParameters[0] = waveNo; cmdParameters[1] = operater; CustOper(400); return true; } /// /// 单个订单零货分拣完成 /// /// /// /// public bool completeBulkPickStatus(string pickRequestNo, int operater) { cmdParameters[0] = pickRequestNo; cmdParameters[1] = operater; CustOper(400); return true; } public bool canNewWave() { //int cnt1 = CustQuery(500).Tables[0].Rows.Count; //判断是否有正在拣选数据 //int cnt2 = CustQuery(550).Tables[0].Rows.Count;//判断是否有待拣选数据 return CustQuery(500).Tables[0].Rows.Count == 0 && CustQuery(550).Tables[0].Rows.Count > 0; } public DataSet getPickDetailByOrder(string orderNo, DeiNiu.Utils.enumOutOrderType orderType) { cmdParameters[0] = (int)orderType; cmdParameters[1] = orderNo; return CustQuery(600); } /// /// pick details by wave order /// including batch and bulk /// /// /// public DataSet getPickDetailByWaveOrder(string waveOrder) { cmdParameters[0] = waveOrder; return CustQuery(700); } /// /// current bulk details /// /// public DataSet getBulkDetailInCurrentWave() { return CustQuery(710); } /// /// pick details by wave order /// including bulk details in current wave /// /// /// 2 tables, first for pick details , second for current bulk detail public DataSet getPickDetailByWaveOrderWithCurrentBulks(string waveOrder) { DataSet ds = getPickDetailByWaveOrder(waveOrder); ds.Tables.Add(getBulkDetailInCurrentWave().Tables[0]); return ds; } /// /// 取待审核、播种订单列表 /// /// /// public DataSet getPickRequest4BulkVailidate(object desk) { cmdParameters[0] = desk; return CustQuery(800); } public DataSet getOutRequestDetail(string pickOrderNo) { cmdParameters[0] = pickOrderNo; return CustQuery(810); } /// /// 生成波次后,保存相关出库单的明细到临时表 for 复核 /// /// /// /// public int saveTempData4Validation(string waveNo) { cmdParameters[0] = waveNo; return CustOper(900); } /// /// 取复核明细 /// /// /// //public int getValidationDetail(string pickOrder) //{ // cmdParameters[0] = pickOrder; // return CustOper(1000); //} /// /// pick details by pickOrderNo /// including batch and bulk /// /// /// public DataSet getPickDetailByPickOrderNo(string pickOrderNo) { cmdParameters[0] = pickOrderNo; return CustQuery(1100); } /// /// to light labels for pick orders by seedPickNo ,goodsId, batch /// /// /// /// /// public DataSet getSeedsLightData(string seedsPickNo,string goodsId,string batch) { cmdParameters[0] = seedsPickNo; cmdParameters[1] = goodsId; cmdParameters[2] = batch; return CustQuery(1101); } public int getUnSeedsCnt(string seedsPickNo, string goodsId, string batch) { cmdParameters[0] = seedsPickNo; cmdParameters[1] = goodsId; cmdParameters[2] = batch; string tmp = CustQuery(1102).Tables[0].Rows[0][0].ToString(); return tmp != string.Empty ? Convert.ToInt32(tmp) : 0; } public int getUnSeedsCnt(string seedsPickNo) { cmdParameters[0] = seedsPickNo; string tmp = CustQuery(1103).Tables[0].Rows[0][0].ToString(); return tmp != string.Empty ? Convert.ToInt32(tmp) : 0; } public DataTable getSeedsData(string seedsPickNo) { cmdParameters[0] = seedsPickNo; return CustQuery(1104).Tables[0] ; } /// /// delete the tmp data by pickOrderNo /// /// public void deleteTempValidationData(string pickOrderNo) { cmdParameters[0] = pickOrderNo; CustOper(1200); } /// /// 待处理零货复核异常 /// /// /// public DataSet getBulkValidationException(enumOutStockPickStatus status) { cmdParameters[0] = (int)status; return CustQuery(1300); } /// ///已处理收货异常 /// /// /// public DataSet getBulkValidationExceptionSolutions(object desk =null) { cmdParameters[0] = desk; return CustQuery(1400); } /// /// get batch pickorders /// /// /// /// public DataSet getBatchOutPickOrders(enumOutStockRequestStatus status,enumOutStockPickStatus batchPickStatus1 ,enumOutStockPickStatus batchPickStatus2) { cmdParameters[0] = (int)status; cmdParameters[1] = (int)batchPickStatus1; cmdParameters[2] = (int)batchPickStatus2; return CustQuery(1500); } /// /// 查当日(未完成补货的)补库单 /// 补货还未入零库(enumOutStockPickStatus.复核完成) /// /// /// /// public DataTable getRepRequestDetailsLessThan(enumOutStockPickStatus pickStatus = enumOutStockPickStatus.复核完成) { List requests = new List(); cmdParameters[0] = (int)pickStatus; DataTable dt = CustQuery(1510).Tables[0]; return dt; //foreach (DataRow dr in dt.Rows) //{ // requests.Add(new WmsOutPickDetail(dr)); //} //return requests; } /// /// get batch pickorder details /// /// /// /// /// public DataSet getBatchOutPickOrderDetails(string pickOrderNo, enumOutStockDetailStatus status, enumOutStockPickStatus batchPickStatus) { cmdParameters[0] = (int)status; cmdParameters[1] = (int)batchPickStatus; cmdParameters[2] = pickOrderNo; return CustQuery(1700); } /// /// pick details for batch pick order /// /// /// /// /// public DataSet getBatchOutPickOrderPickDetails(string pickOrderNo, enumOutStockRequestStatus status, enumOutStockPickStatus batchPickStatus) { cmdParameters[0] = (int)status; cmdParameters[1] = (int)batchPickStatus; cmdParameters[2] = pickOrderNo; return CustQuery(1600); } /// /// pick details for batch pick order by pickorderNo /// /// /// public DataSet getBatchOutPickOrderPickDetails(string pickOrderNo) { cmdParameters[0] = pickOrderNo; return CustQuery(1610); } public DataTable getPickOrderTmsInfo(string pickOrderNo) { cmdParameters[0] = pickOrderNo; return CustQuery(1620).Tables[0]; } /// /// 取出库货位、数量详细 /// /// /// public DataTable getPickDetail (int stockRecordId) { cmdParameters[0] = stockRecordId; return CustQuery(1900).Tables[0]; } /// /// 根据捡货状态取捡货明细 /// /// /// public DataTable getBatchPickDetails(enumPickState state) { cmdParameters[0] = (int)state; return CustQuery(2000).Tables[0]; } /// /// pickorders that ready for validation /// for wince Only /// /// /// public DataTable getBatchPickOrders4Validation() { return CustQuery(2100).Tables[0]; } /// /// batch pickorder detail /// for wince Only /// /// /// public DataTable getBatchPickOrderDetail4Wince(string pickOrderNo) { cmdParameters[0] = pickOrderNo; return CustQuery(2200).Tables[0]; } /// /// 取整货出库分拣明细 /// /// /// /// 默认当天和昨天两天的 /// public DataTable getBatchPickOrderDetail(enumOutOrderType orderType, enumPickState pickState,string orderDate = "") { cmdParameters[0] = (int)orderType; cmdParameters[1] = (int)pickState; cmdParameters[2] = orderDate; return CustQuery(2300).Tables[0]; } public bool updatePriority(string orders, int priority,int operId) { cmdParameters[0] = orders; cmdParameters[1] = priority; cmdParameters[2] = operId; return CustOper(2400) > 0; } } }