ldj/epickpublic/BLL/wms/tables/WmsOutPickRequest.cs

608 lines
19 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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.

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