471 lines
14 KiB
C#
471 lines
14 KiB
C#
|
|
/// <summary>
|
|
///INTERFACE CLASS FOR TABLE t_wmsOutPickPort
|
|
///By wm
|
|
///on 06/15/2017
|
|
/// </summary>
|
|
|
|
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);
|
|
}
|
|
/// <summary>
|
|
/// get pick detail by pickorderNo
|
|
/// </summary>
|
|
/// <param name="pickOrderNo"></param>
|
|
/// <returns></returns>
|
|
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<WmsOutPickPort> getObjs(DataTable dt)
|
|
{
|
|
List<WmsOutPickPort> lst = new List<WmsOutPickPort>();
|
|
foreach(DataRow dr in dt.Rows)
|
|
{
|
|
lst.Add(new WmsOutPickPort(dr));
|
|
}
|
|
return lst;
|
|
}
|
|
/// <summary>
|
|
/// get pick detail by ID
|
|
/// </summary>
|
|
/// <param name="Id"></param>
|
|
/// <returns></returns>
|
|
public DataTable getPickDetail(int Id)
|
|
{
|
|
cmdParameters[0] = Id;
|
|
return CustQuery(300).Tables[0];
|
|
}
|
|
/// <summary>
|
|
/// update pick status
|
|
/// </summary>
|
|
/// <param name="Id"></param>
|
|
/// <returns></returns>
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新捡货状态
|
|
/// 电子标签拣选时更新PDA数据
|
|
/// </summary>
|
|
/// <param name="stkRecId"></param>
|
|
/// <param name="pickState"></param>
|
|
/// <param name="?"></param>
|
|
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];
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 根据waveNo 取wave detail 分页数据
|
|
/// </summary>
|
|
/// <param name="waveNo"></param>
|
|
/// <param name="rowStart"></param>
|
|
/// <param name="rowEnd"></param>
|
|
/// <returns></returns>
|
|
public DataSet getWaveDetails(string waveNo,int rowStart,int rowEnd)
|
|
{
|
|
this.rownumStart = rowStart;
|
|
this.rownumEnd = rowEnd;
|
|
cmdParameters[0] = waveNo;
|
|
return CustQuery(800) ;
|
|
}
|
|
/// <summary>
|
|
/// 根据waveNo 取wave detail 不分页
|
|
/// </summary>
|
|
/// <param name="waveNo"></param>
|
|
/// <returns></returns>
|
|
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];
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据任务编号获取任务明显
|
|
/// </summary>
|
|
/// <param name="jobNo"></param>
|
|
/// <returns></returns>
|
|
public DataTable getFreeTasksByJob(string jobNo)
|
|
{
|
|
cmdParameters[0] = jobNo;
|
|
|
|
return CustQuery(1130).Tables[0];
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="partion"></param>
|
|
/// <param name="lineId"></param>
|
|
/// <param name="batchOnly"></param>
|
|
/// <param name="orderType"></param>
|
|
/// <param name="assignedEmpId"></param>
|
|
/// <param name="wareHouse"></param>
|
|
/// <param name="orderNo"></param>
|
|
/// <param name="jobNo"></param>
|
|
/// <param name="isOrderByGoods">称重类,在货位分货,按商品排序 </param>
|
|
/// <returns></returns>
|
|
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];
|
|
}
|
|
|
|
/// <summary>
|
|
/// by wmsoutdetail, 按原始订单明细取播种信息
|
|
/// </summary>
|
|
/// <param name="flowNo"></param>
|
|
/// <param name="isOrderByCust"></param>
|
|
/// <returns></returns>
|
|
public DataTable getSeedsOutDetail(string flowNo, bool isOrderByCust)
|
|
{
|
|
cmdParameters[0] = flowNo;
|
|
if (isOrderByCust) {
|
|
return CustQuery(1810).Tables[0];
|
|
}else
|
|
return CustQuery(1800).Tables[0];
|
|
}
|
|
/// <summary>
|
|
/// by wmsOutPickDetail , 按拣货单明细取播种信息
|
|
/// </summary>
|
|
/// <param name="flowNo"></param>
|
|
/// <param name="isOrderByCust"></param>
|
|
/// <returns></returns>
|
|
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];
|
|
}
|
|
}
|
|
}
|
|
|