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

207 lines
6.1 KiB
C#
Raw 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_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;
}
}
}
}