///
///INTERFACE CLASS FOR TABLE t_wmsOutPickPort
///By wm
///on 06/15/2017
///
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DeiNiu.Utils;
namespace DeiNiu.wms.Data.Model
{
[Serializable]
public class WmsOutPickPort : WmsOutPickPort_base
{
public WmsOutPickPort()
{
}
public WmsOutPickPort(int id): base(id)
{
}
public WmsOutPickPort(DataRow dr): base(dr)
{
}
public new int Add()
{
base.Add();
this.id128 = Util.getCode128(ID + "");
Update();
return ID;
}
protected override void getImp()
{
model_imp = new WmsOutPickPort_Imp();
}
//begin cust db operation, query, excute sql etc.
public DataSet QueryByName(string name)
{
cmdParameters[0] = name;
return CustQuery(100);
}
///
/// get pick detail by pickorderNo
///
///
///
public DataTable getPickDetails(string pickOrderNo, int state = -1)
{
cmdParameters[0] = pickOrderNo;
cmdParameters[1] = state;
return CustQuery(200).Tables[0];
}
public int closePickPorts(string pickOrderNo)
{
cmdParameters[0] = pickOrderNo;
return CustOper(201) ;
}
public List getObjs(DataTable dt)
{
List lst = new List();
foreach(DataRow dr in dt.Rows)
{
lst.Add(new WmsOutPickPort(dr));
}
return lst;
}
///
/// get pick detail by ID
///
///
///
public DataTable getPickDetail(int Id)
{
cmdParameters[0] = Id;
return CustQuery(300).Tables[0];
}
///
/// update pick status
///
///
///
public int updatePickState(int Id, Utils.enumPickState pickSate,int operId)
{
cmdParameters[0] = Id;
cmdParameters[1] = (int)pickSate;
cmdParameters[2] = operId;
return CustOper(400) ;
}
public int getPickDetailsCnt(string pickOrderNo, enumPickState pickState,bool batch =true, string waveOrder =null)
{
cmdParameters[0] = pickOrderNo;
cmdParameters[1] = (int)pickState;
cmdParameters[2] = batch;
cmdParameters[3] = waveOrder;
//return CustQuery(500).Tables[0];
DataTable dt = CustQuery(500).Tables[0];
if (dt.Rows.Count > 0)
{
return Convert.ToInt32(dt.Rows[0][0].ToString());
}
return 0;
}
public int updatePickStateByOrderDetailId(int detailId, Utils.enumPickState pickSate, int operId,int checkedBy1)
{
cmdParameters[0] = detailId;
cmdParameters[1] = (int)pickSate;
cmdParameters[2] = operId;
cmdParameters[3] = checkedBy1;
return CustOper(401);
}
///
/// 更新捡货状态
/// 电子标签拣选时更新PDA数据
///
///
///
///
public bool updatePickDetailByStkrecId(int stkRecId,enumPickState pickState,int operId)
{
cmdParameters[0] = stkRecId;
cmdParameters[1] = (int)pickState;
cmdParameters[2] = operId;
return CustOper(410) >0;
}
public bool isDoneByFlow(string flowNum)
{
cmdParameters[0] = flowNum;
return queryCount(600) == 0;
}
public DataTable getNewPickTasks(WaveRule wr)
{
cmdParameters[0] = wr;
if (wr.type == (int)enumWaveRuleType.普通波次)
{
return CustQuery(700).Tables[0];
}
// if (wr.type == (int)enumWaveRuleType.普通波次)
{
return CustQuery(701).Tables[0];
}
}
///
/// 根据waveNo 取wave detail 分页数据
///
///
///
///
///
public DataSet getWaveDetails(string waveNo,int rowStart,int rowEnd)
{
this.rownumStart = rowStart;
this.rownumEnd = rowEnd;
cmdParameters[0] = waveNo;
return CustQuery(800) ;
}
///
/// 根据waveNo 取wave detail 不分页
///
///
///
public DataTable getWaveDetails(string waveNo)
{
cmdParameters[0] = waveNo;
return CustQuery(801).Tables[0];
}
public DataTable getPickInfo(string waveNo)
{
cmdParameters[0] = waveNo;
return CustQuery(900).Tables[0];
}
public DataTable getPickInfo(string waveNo,int volType)
{
cmdParameters[0] = waveNo;
cmdParameters[1] = volType;
return CustQuery(910).Tables[0];
}
public DataTable getPickSummary(string waveNo, int volType)
{
cmdParameters[0] = waveNo;
cmdParameters[1] = volType;
return CustQuery(920).Tables[0];
}
public DataTable getPickTaskDetails(string taskNo)
{
cmdParameters[0] = taskNo;
return CustQuery(1000).Tables[0];
}
public DataTable getFlowNoDetails(string flowNo, string goodsId,string batch)
{
cmdParameters[0] = flowNo;
cmdParameters[1] = goodsId;
cmdParameters[2] = batch;
return CustQuery(1001).Tables[0];
}
public DataTable getFlowNoDetails(string seedsNo,string flowNo, string goodsId, string batch)
{
cmdParameters[0] = flowNo;
cmdParameters[1] = goodsId;
cmdParameters[2] = batch;
cmdParameters[3] = seedsNo;
return CustQuery(1002).Tables[0];
}
public DataTable getFreeTasks(int partion, int lineId, bool batchOnly,enumOrderType orderType,int empId=0)
{
cmdParameters[0] = partion;
cmdParameters[1] = lineId;
cmdParameters[2] = batchOnly;
cmdParameters[4] = (int)orderType;
cmdParameters[5] = empId;
return CustQuery(1100).Tables[0];
}
public DataTable getFreeTasksByPickOrder(string pickOrderNo)
{
cmdParameters[0] = pickOrderNo;
return CustQuery(1120).Tables[0];
}
///
/// 根据任务编号获取任务明显
///
///
///
public DataTable getFreeTasksByJob(string jobNo)
{
cmdParameters[0] = jobNo;
return CustQuery(1130).Tables[0];
}
///
///
///
///
///
///
///
///
///
///
///
/// 称重类,在货位分货,按商品排序
///
public DataTable getFreeTasksByJob(int partion, int lineId, bool batchOnly, enumOrderType orderType, int assignedEmpId = 0,int wareHouse=0,string orderNo ="",string jobNo="",bool isOrderByGoods=false)
{
cmdParameters[0] = partion;
cmdParameters[1] = lineId;
cmdParameters[2] = batchOnly;
cmdParameters[3] = wareHouse;
cmdParameters[4] = (int)orderType;
cmdParameters[5] = assignedEmpId;
cmdParameters[6] = jobNo;
cmdParameters[7] = orderNo;
cmdParameters[8] = isOrderByGoods;
// cmdParameters[9] = isSeedsTaskOnly;
return CustQuery(1110).Tables[0];
}
public DataTable getAssignedTasks(int taskBy, int partion, int lineId, bool batchOnly,
enumOrderType orderType ,int state=0)
{
LogHelper.debug(GetType(), String.Format(" to get getAssignedTasks ,takeBy {0}, partion {1}, lineId {2}, batchOnly {3}, orderType {4}, state{5}",
taskBy, partion, lineId, batchOnly, orderType.ToString(), state ));
cmdParameters[5] = taskBy;
cmdParameters[6] = partion;
cmdParameters[7] = lineId;
cmdParameters[8] = batchOnly;
cmdParameters[9] = (int)orderType;
cmdParameters[10] = state;
return CustQuery(1200).Tables[0];
}
public DataTable getAssignedTasks4Wince(int taskBy, int partion, int lineId , bool batchOnly
, enumOrderType orderType)
{
cmdParameters[0] = taskBy;
cmdParameters[1] = partion;
cmdParameters[2] = lineId;
cmdParameters[3] = batchOnly;
cmdParameters[4] = (int)orderType;
return CustQuery(1300).Tables[0];
}
public DataTable getPartions(int userID)
{
cmdParameters[0] = userID;
return CustQuery(1400).Tables[0];
}
public void getPickPortByRecordId(int recId)
{
cmdParameters[0] = recId;
getModel(1500);
}
public int updateBulkPickStateByPickOrder(string pickOrder,int checkBy,int checkBy2)
{
cmdParameters[0] = pickOrder;
cmdParameters[1] = checkBy;
cmdParameters[2] = checkBy2;
cmdParameters[3] = (int)enumPickState.复核完成;
return CustOper (1600) ;
}
public DataTable getRepTasks(int takeBy, int taskPartion )
{
cmdParameters[0] = takeBy;
cmdParameters[1] = taskPartion;
cmdParameters[2] = (int)enumPickState.未拣;
return CustQuery(1700).Tables[0];
}
///
/// by wmsoutdetail, 按原始订单明细取播种信息
///
///
///
///
public DataTable getSeedsOutDetail(string flowNo, bool isOrderByCust)
{
cmdParameters[0] = flowNo;
if (isOrderByCust) {
return CustQuery(1810).Tables[0];
}else
return CustQuery(1800).Tables[0];
}
///
/// by wmsOutPickDetail , 按拣货单明细取播种信息
///
///
///
///
public DataTable getSeedsOutPickDetail(string flowNo, bool isOrderByCust)
{
cmdParameters[0] = flowNo;
if (isOrderByCust)
{
return CustQuery(1811).Tables[0];
}
else
return CustQuery(1801).Tables[0];
}
public DataTable getFlows4SeedsOut()
{
return CustQuery(1900).Tables[0];
}
public DataTable getByDetailId(int pickDetailId,enumPickState state=enumPickState.未拣)
{
cmdParameters[0] = pickDetailId;
cmdParameters[1] = (int)state;
return CustQuery(2000).Tables[0];
}
public int getCntByDetailId(int pickDetailId, enumPickState state = enumPickState.未拣)
{
cmdParameters[0] = pickDetailId;
cmdParameters[1] = (int)state;
return queryCount(2100);
}
public void fromStockRecord(WmsStockRecord wsr)
{
recordId = wsr.ID;
pickOrderNo = wsr.orderNo;
recType = wsr.rectype;
pickDetailId = wsr.orderDetailId;
}
public DataTable getPickLightTasks(int takeBy, int partion, int orderType)
{
cmdParameters[0] = takeBy;
cmdParameters[1] = partion;
cmdParameters[2] = orderType;
return CustQuery(2200).Tables[0];
}
public DataTable geTasksByJobNo(string jobNo)
{
cmdParameters[0] = jobNo;
return CustQuery(2300).Tables[0];
}
public DataTable geTasksByPickNo(string pickNo)
{
cmdParameters[0] = pickNo;
return CustQuery(2400).Tables[0];
}
public DataTable getLightTasks(string query, int wareHouse, int partion, int lineId, int state, string date, bool isLight)
{
cmdParameters[0] = state;
cmdParameters[1] = partion;
cmdParameters[2] = lineId;
cmdParameters[3] = date;
cmdParameters[4] = wareHouse;
cmdParameters[5] = query;
string viewName = "[v_stockOutPortSumLight]";
if (isLight)
{
viewName = "[v_stockOutPortSumLight]";//按jobNo亮灯摘果, 打印的条码为jobNo
} else
if (wareHouse > 0)
{
viewName = "[v_stockOutPortSumNoLightByJobNo]";//分区按jobNo 获取任务, 打印的条码为jobNo
}
else
{
viewName = "[v_stockOutPortSumNoLightByPickOrder]"; //按pickOrder 全仓按单拣选, 打印的条码为pickorderNo
}
cmdParameters[6] = viewName;
return CustQuery(2230).Tables[0];
}
public DataTable getLightSeeds(int deskId, string flowno, string barcode)
{
cmdParameters[0] = deskId;
cmdParameters[1] = flowno;
cmdParameters[2] = barcode;
return CustQuery(2500).Tables[0];
}
}
}