ldj/Logical/lWmsOutPickRequest.cs

352 lines
9.4 KiB
C#
Raw Normal View History

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

/// <summary>
///LOGIC 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 DeiNiu.wms.Data.Model;
using System.Data;
using System.Transactions;
using DeiNiu.Utils;
using System.Threading;
namespace DeiNiu.wms.Logical
{
[Serializable]
public class lWmsOutPickRequest : lbase
{
WmsOutPickRequest _obj;
WmsOutDesk _desk;
WmsOutPickRequest outRequest
{
get
{
if (_outRequest == null)
{
_outRequest = new WmsOutPickRequest();
}
return _outRequest;
}
}
WmsStockRecord stkRecord
{
get
{
if(_stkRecord == null){
_stkRecord = new WmsStockRecord();
}
return _stkRecord;
}
}
WmsOutPickLable pickLabelDetail {
get
{
if (_pickLabelDetail == null)
{
_pickLabelDetail = new WmsOutPickLable();
}
return _pickLabelDetail;
}
}
WmsOutPickPort outPickPort
{
get
{
if (_outPickPort == null)
{
_outPickPort = new WmsOutPickPort(); ;
}
return _outPickPort;
}
}
WmsOutPickPort _outPickPort;
WmsOutPickRequest _outRequest ;
WmsStockRecord _stkRecord ;
WmsOutPickLable _pickLabelDetail ;
WmsOutDesk desk {
get
{
if (_desk == null)
{
_desk = new WmsOutDesk();
}
return _desk;
}
}
public lWmsOutPickRequest()
{
initialize();
}
public lWmsOutPickRequest(int p) :base(p)
{
initialize();
}
public WmsOutPickRequest getWmsOutPickRequest
{
get
{
if (_obj == null)
{
_obj = new WmsOutPickRequest();
}
return _obj;
}
}
/// <summary>
/// get all data
/// </summary>
public DataSet getAllData()
{
return _obj.Query();
}
/// <summary>
///get pick details
///if no pick data,return order details
/// </summary>
public DataSet getPickDetails(string orderNo,enumOutOrderType orderType)
{
return _obj.getPickDetailByOrder(orderNo,orderType);
}
/// <summary>
/// get all data
/// </summary>
public DataSet getAllActiveData()
{
return _obj.QueryActived();
}
/// <summary>
/// get a record by id
/// </summary>
public void initialize(int id)
{
_obj = id != 0 ? new WmsOutPickRequest(id) : new WmsOutPickRequest();
}
/// <summary>
/// get a record by id 0
/// </summary>
public void initialize()
{
initialize(0);
}
/// <summary>
/// get a record by id
/// </summary>
public void initialize(DataRow dr)
{
_obj = new WmsOutPickRequest(dr);
}
protected override DeiNiu.Data.BaseObject.BaseModel getModel()
{
return _obj;
}
//begin cust db operation, query, excute sql etc.
public DataSet getPickRequest4BulkValidate(object desk)
{
DataSet ds = outRequest.getPickRequest4BulkVailidate(desk);
DataTable tmp = ds.Tables[0];
//test for barcode
#if DEBUG
Int64 i =6900000000000;
foreach (DataRow dr in tmp.Rows)
{
i++;
if(string.IsNullOrEmpty(dr["barCode"].ToString())){
dr["barCode"] = i;
}
}
#endif
DataView dv = ds.Tables[0].DefaultView;
dv.Sort = "waveOrder ASC"; //fifo
DataTable dt = dv.ToTable(true, "pickOrderNo","orderState","customerName"); // distinct pickOrderNo
dt.TableName = "tablePickOrderList";
ds.Tables.Add(dt);
//DataView dv2 = outRequest.getValidationExceptionSolutions(desk).Tables[0].DefaultView;
//dv2.RowFilter = "state =" + (int)enumOutStockDetailStatus.validatedExceptionSulution ;
//DataTable dtExceptionSolution = dv.ToTable();
//dtExceptionSolution.TableName = "exsolutions";
//ds.Tables.Add(dtExceptionSolution);
//DataTable dtExceptionSolution = outRequest.getValidationExceptionSolutions(desk).Tables[0].Clone();
//dtExceptionSolution.TableName = "exsolutions";
//ds.Tables.Add(dtExceptionSolution);
return ds;
}
/// <summary>
/// batch pick orders waiting for out
/// </summary>
/// <returns></returns>
public DataSet getBatchOutPickOrders4Pick()
{
DataSet ds = outRequest.getBatchOutPickOrders(enumOutStockRequestStatus., enumOutStockPickStatus., enumOutStockPickStatus.);
//DataTable dt = outRequest.getRepRequestDetailsLessThan(enumOutStockPickStatus.复核完成);
// DataTable repTable = outRequest.getRequests(enumOutOrderType.repOrderOut, enumOutStockRequestStatus.等待分拣).Tables[0];
DataView dv = ds.Tables[0].DefaultView;
dv.RowFilter = "orderType =" + (int) enumOutOrderType.;
DataTable dt = dv.ToTable();
dt.TableName = "repOrder";
ds.Tables.Add(dt);
return ds;
}
/// <summary>
/// pick order detail
/// </summary>
/// <param name="pickOrderNo"></param>
/// <returns></returns>
public DataSet getBatchOutPickOrderDetails(string pickOrderNo)
{
return outRequest.getBatchOutPickOrderDetails(pickOrderNo, enumOutStockDetailStatus., enumOutStockPickStatus.);
}
/// <summary>
/// get batch pick detail by id
/// </summary>
/// <param name="recordId"></param>
/// <returns></returns>
public DataTable getBatchOutPickOrderDetail(int id)
{
return outPickPort.getPickDetail(id);
}
/// <summary>
/// batch pick order pick detail
/// </summary>
/// <param name="pickOrderNo"></param>
/// <returns></returns>
public DataSet getBatchOutPickOrderPickDetails(string pickOrderNo)
{
// return outRequest.getBatchOutPickOrderPickDetails(pickOrderNo,enumOutStockRequestStatus.正在分拣, enumOutStockPickStatus.待处理);
return outRequest.getBatchOutPickOrderPickDetails(pickOrderNo);
}
public DataTable getBatchPickOrders4Validate()
{
DataTable dt = getWmsOutPickRequest.getBatchPickOrders4Validation();
return dt;
}
public int getPickCount4valid(string pickOrderNo)
{
return outPickPort.getPickDetailsCnt(pickOrderNo, enumPickState.);
}
public DataTable repTodayDetails4Pick()
{
DataTable dt = getWmsOutPickRequest.getBatchPickOrderDetail(enumOutOrderType., enumPickState.);
dt.Columns.Remove("状态");
//dt.Columns.Remove("pickOrderNo");
dt.Columns.Remove("state");
dt.Columns.Remove("orderType");
dt.Columns.Remove("orderDate");
dt.Columns.Remove("pickCount");
dt.Columns.Remove("goodsid");
return dt;
}
public DataTable repTodayDetails4In()
{
DataTable dt = getWmsOutPickRequest.getBatchPickOrderDetail(enumOutOrderType., enumPickState.);
dt.Columns.Remove("货位");
dt.Columns.Remove("状态");
dt.Columns.Remove("state");
dt.Columns.Remove("orderType");
dt.Columns.Remove("orderDate");
dt.Columns.Remove("pickCount");
return dt;
}
//-------------------------out logs----------------------begin---
private WmsOutLog _outLog;
WmsOutLog outLog
{
get
{
if (_outLog == null)
{
_outLog = new WmsOutLog();
}
return _outLog;
}
}
public DataTable getOrderLogs(string orderNo, string pickOrderNo)
{
return outLog.getOrderLogs(orderNo,pickOrderNo);
}
public DataTable getOrderLogs(string orderNo, enumOutOrderType orderType)
{
if (orderType == enumOutOrderType.)
{
return outLog.getOrderLogs(orderNo, "");
}
else
{
return outLog.getOrderLogs("",orderNo);
}
}
}
}