352 lines
9.4 KiB
C#
352 lines
9.4 KiB
C#
|
|
|||
|
/// <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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|