ldj/wavePick/BLL/wms/tables/WmsOutRequest.cs

207 lines
6.1 KiB
C#
Raw Normal View History

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

/// <summary>
///INTERFACE CLASS FOR TABLE t_wmsOutRequest
///By wm with codesmith.
///on 05/18/2017
/// </summary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DeiNiu.Utils;
using System.Transactions;
namespace DeiNiu.wms.Data.Model
{
[Serializable]
public class WmsOutRequest : WmsOutRequest_base
{
public WmsOutRequest()
{
}
public WmsOutRequest(int id): base(id)
{
}
public WmsOutRequest(DataRow dr): base(dr)
{
}
public WmsOutRequest(String orderNo)
{
cmdParameters[0] = orderNo;
getModel(100);
}
protected override void getImp()
{
model_imp = new WmsOutRequest_Imp();
}
//begin cust db operation, query, excute sql etc.
public DataSet QueryByState(DeiNiu.Utils.enumOutStockRequestStatus state)
{
cmdParameters[0] = (int)state;
return CustQuery(200);
}
/// <summary>
/// 出库请求原始单详情
/// </summary>
/// <returns></returns>
public DataSet getRequestDetail()
{
cmdParameters[0] = this.orderNo;
return CustQuery(300);
}
/// <summary>
/// 出库单详情根据货物id,批号合并原始单明细)
/// </summary>
/// <returns></returns>
public DataSet getOutDetail()
{
cmdParameters[0] = this.orderNo;
return CustQuery(400);
}
/// <summary>
/// 待出库新订单
/// </summary>
/// <returns></returns>
public DataSet getNewOrders()
{
return CustQuery(600);
}
/// <summary>
/// 拉取erp订单
/// </summary>
/// <returns></returns>
public int syncOutRequest()
{
return CustOper(500);
}
private List<WmsOutDetail> _outDetails;
/// <summary>
/// 查询订单出库详情
/// </summary>
public List<WmsOutDetail> outDetails
{
get {
if (_outDetails == null && !string.IsNullOrEmpty( _orderNo))
{
// DeiNiu.Utils.LogHelper.WriteLog(this.GetType(), "start to get outDetails");
_outDetails = new List<WmsOutDetail>();
DataTable dt = getOutDetail().Tables[0];
foreach (DataRow dr in dt.Rows)
{
_outDetails.Add( new WmsOutDetail(dr));
}
// DeiNiu.Utils.LogHelper.WriteLog(this.GetType(), "end get outDetails");
}
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(800);
}
/// <summary>
/// get new request for merged pre to pick request
/// </summary>
/// <returns></returns>
public DataSet getNewRequests()
{
return QueryByState(Utils.enumOutStockRequestStatus.);
}
/// <summary>
/// get merged view of new requests
/// </summary>
/// <returns></returns>
public DataSet getNewRequestPickDetails()
{
// cmdParameters[0] = (int)Utils.enumOutStockRequestStatus.待处理;
return CustQuery(900);
}
/// <summary>
/// get error pick details
/// </summary>
/// <returns></returns>
public DataSet getErroredPickDetails()
{
return CustQuery(1000);
}
/// <summary>
/// get sales man list
/// </summary>
/// <returns></returns>
public DataTable getSalesMen()
{
return CustQuery(1100).Tables[0];
}
/// <summary>
/// 合并销售订单或取消合并
/// </summary>
/// <param name="custID"></param>
/// <param name="custName"></param>
/// <param name="custAddress"></param>
/// <param name="pickOrderNo"></param>
public void updatePickState(string custID, string custName, string custAddress, string pickOrderNo)
{
cmdParameters[0] = custID;
cmdParameters[1] = custName;
cmdParameters[2] = custAddress;
cmdParameters[3] = pickOrderNo;
cmdParameters[4] = string.IsNullOrEmpty(pickOrderNo) ? (int)Utils.enumOutStockRequestStatus. //new state
: (int)Utils.enumOutStockRequestStatus.;
cmdParameters[5] = string.IsNullOrEmpty(pickOrderNo) ? (int)enumOutStockRequestStatus. //old state
: (int)enumOutStockRequestStatus.; ;
cmdParameters[6] = operater;
CustOper(1200);
}
/// <summary>
/// prepare the out request orders for pick
/// </summary>
public void preparePick()
{
cmdParameters[0] = (int)enumOutStockDetailStatus.;
cmdParameters[1] = "库存不足";
cmdParameters[2] = (int)enumOutStockDetailStatus.;
cmdParameters[3] = (int)enumOutStockRequestStatus.;
cmdParameters[4] = operater;
try
{
using (TransactionScope scope1 = new TransactionScope())
{
CustOper(1300);
scope1.Complete();
}
}
catch (Exception er)
{
throw er;
}
}
}
}