///
///INTERFACE CLASS FOR TABLE t_wmsOutRequest
///By wm with codesmith.
///on 05/18/2017
///
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);
}
///
/// 出库请求原始单详情
///
///
public DataSet getRequestDetail()
{
cmdParameters[0] = this.orderNo;
return CustQuery(300);
}
///
/// 出库单详情(根据货物id,批号合并原始单明细)
///
///
public DataSet getOutDetail()
{
cmdParameters[0] = this.orderNo;
return CustQuery(400);
}
///
/// 待出库新订单
///
///
public DataSet getNewOrders()
{
return CustQuery(600);
}
///
/// 拉取erp订单
///
///
public int syncOutRequest()
{
return CustOper(500);
}
private List _outDetails;
///
/// 查询订单出库详情
///
public List outDetails
{
get {
if (_outDetails == null && !string.IsNullOrEmpty( _orderNo))
{
// DeiNiu.Utils.LogHelper.WriteLog(this.GetType(), "start to get outDetails");
_outDetails = new List();
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;
}
}
///
/// 获取订单,并按客户排序
///
/// 订单类型
/// 订单状态
///
public DataSet getRequests(DeiNiu.Utils.enumOutOrderType orderType,DeiNiu.Utils.enumOutStockRequestStatus orderStatus)
{
cmdParameters[0] =(int)orderType;
cmdParameters[1] = (int)orderStatus;
return CustQuery(800);
}
///
/// get new request for merged pre to pick request
///
///
public DataSet getNewRequests()
{
return QueryByState(Utils.enumOutStockRequestStatus.待处理);
}
///
/// get merged view of new requests
///
///
public DataSet getNewRequestPickDetails()
{
// cmdParameters[0] = (int)Utils.enumOutStockRequestStatus.待处理;
return CustQuery(900);
}
///
/// get error pick details
///
///
public DataSet getErroredPickDetails()
{
return CustQuery(1000);
}
///
/// get sales man list
///
///
public DataTable getSalesMen()
{
return CustQuery(1100).Tables[0];
}
///
/// 合并销售订单或取消合并
///
///
///
///
///
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);
}
///
/// prepare the out request orders for pick
///
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;
}
}
}
}