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

608 lines
19 KiB
C#
Raw Normal View History

2023-05-23 16:13:17 +08:00

/// <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;
}
}
}