824 lines
39 KiB
C#
824 lines
39 KiB
C#
|
|
/// <summary>
|
|
///INTERFACE IMPLIMENT FOR TABLE t_wmsOutPickPort
|
|
///By wm with codesmith.
|
|
///on 06/15/2017
|
|
/// </summary>
|
|
|
|
using System;
|
|
using System.Data.SqlClient;
|
|
using DeiNiu.Utils;
|
|
namespace DeiNiu.wms.Data.Model
|
|
{
|
|
[Serializable] class WmsOutPickPort_Imp : WmsOutPickPort_base_Imp
|
|
{
|
|
protected override void CmdPrepare(SqlCommand sqlCmd)
|
|
{
|
|
WaveRule wr;
|
|
try
|
|
{
|
|
base.CmdPrepare(sqlCmd);
|
|
}catch(Exception er)
|
|
{
|
|
LogHelper.WriteLog(this.GetType(), er);
|
|
|
|
}
|
|
|
|
|
|
WmsOutPickPort mObj = ( WmsOutPickPort)modelObj;
|
|
switch (_cust_op_flag)
|
|
{
|
|
case 99: //query with dic
|
|
|
|
if (/*1==1 ||*/ mObj.CmdParameters[0].ToString().Contains("saleOrder ="))
|
|
{
|
|
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM [v_stockOutBatchPickDetailWithSaleOrder] WHERE 1 = 1 " + mObj.CmdParameters[0].ToString();
|
|
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY pickpriority ,channel,shelf,layer";
|
|
_strSql += ";SELECT COUNT(*) FROM [v_stockOutBatchPickDetailWithSaleOrder] WHERE 1 = 1 " + mObj.CmdParameters[0].ToString();
|
|
|
|
}
|
|
|
|
else
|
|
{
|
|
|
|
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM v_stockOutBatchPickDetail WHERE 1 = 1 " + mObj.CmdParameters[0].ToString();
|
|
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY ID ";
|
|
_strSql += ";SELECT COUNT(*) FROM v_stockOutBatchPickDetail WHERE 1 = 1 " + mObj.CmdParameters[0].ToString();
|
|
|
|
}
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
|
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
case 100: //by name
|
|
_strSql = "SELECT * FROM t_wmsOutPickPort WHERE NAME = @NAME";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@NAME", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
case 200: //by pickorderNo
|
|
_strSql = "SELECT * FROM v_stockoutport WHERE pickOrderNo = @pickOrderNo ";
|
|
|
|
if (Convert.ToInt16(mObj.CmdParameters[1]) > -1)
|
|
{
|
|
_strSql += " and state =@state";
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]);
|
|
}
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
|
|
case 201: // CLOSE ALL pick stasks that not picked by pickorderNo
|
|
_strSql = "UPDATE T_WMSOUTPICKPORT SET STATE =@STATE WHERE pickOrderNo = @pickOrderNo and state=0 ";
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@STATE", (int)enumPickState.已关闭);
|
|
break;
|
|
|
|
case 300: //get detail by Id
|
|
// _strSql = "SELECT * FROM [v_stockOutBatchPickDetail] WHERE ID = @Id";
|
|
_strSql = "SELECT * FROM [v_stockOutPort] WHERE ID = @Id";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@Id", mObj.CmdParameters[0]);
|
|
break;
|
|
case 400: //update state by Id
|
|
_strSql = "UPDATE t_wmsOutPickPort SET STATE = @STATE ,operater =@operater,lastmodified = getdate() WHERE ID = @Id";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@Id", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]);
|
|
sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]);
|
|
break;
|
|
case 401: //update state by pickOrderDetailId, bulk item validation done
|
|
_strSql = "UPDATE t_wmsOutPickPort SET STATE = @STATE ,operater =@operater,lastmodified = getdate()"
|
|
+ " , checkby=@operater,checkBy2=@checkBy2,checkTime=getdate(),checkByTime2=getdate()"
|
|
+" WHERE pickDetailId = @pickDetailId";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@pickDetailId", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]);
|
|
sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]);
|
|
sqlCmd.Parameters.AddWithValue("@checkBy2", mObj.CmdParameters[3]);
|
|
break;
|
|
case 410: //update state by stockRecordId
|
|
_strSql = "UPDATE t_wmsOutPickPort SET STATE = @STATE ,pickby=@operater,pickTime=getdate(),operater =@operater,lastmodified = getdate() WHERE recordId = @recordId";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@recordId", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]);
|
|
sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]);
|
|
break;
|
|
|
|
case 500: //by pickorderNo( or exclude rep pick order)
|
|
|
|
_strSql = "SELECT COUNT(*) FROM t_wmsOutPickPort WHERE state =@STATE";
|
|
|
|
if(!WmsConstants.OUT_STOCK_BULK_PDA_SCAN)
|
|
_strSql += Convert.ToBoolean(mObj.CmdParameters[2].ToString()) ?
|
|
" and volType > 0" //整库货位
|
|
: " and volType <= 0"; //零库货位
|
|
|
|
if (!string.IsNullOrEmpty(mObj.CmdParameters[0].ToString()))
|
|
{
|
|
|
|
_strSql += " and pickOrderNo = @pickOrderNo ";
|
|
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]);
|
|
}
|
|
else if (!string.IsNullOrEmpty(mObj.CmdParameters[3].ToString()))
|
|
{
|
|
_strSql += " and waveOrder = @waveOrder ";
|
|
sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[3]);
|
|
}
|
|
else
|
|
{
|
|
_strSql += " and waveOrder is not null ";
|
|
|
|
}
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]);
|
|
|
|
break;
|
|
|
|
case 600: // get count for flowno and state
|
|
_strSql = "select count(*) from t_wmsOutPickPort where flowNo =@flowNo "
|
|
+ " and state !=@status";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@status", (int)enumPickState.复核完成);
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
|
|
break;
|
|
|
|
/*
|
|
case 700: // 未分配波次的拣货任务
|
|
_strSql = "select * from t_wmsOutPickPort a where 1=1 "
|
|
+ " and exists(select 1 from t_wmsOutPickRequest where pickOrderNo =a.pickOrderNo and state=@orderState)"
|
|
+ " and waveOrder is null and state =@pickState"
|
|
+ " order by tranArea,pickOrderNo,voltype,partion,locationid";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@orderState", (int)enumOutStockRequestStatus.等待波次);
|
|
sqlCmd.Parameters.AddWithValue("@pickState", (int)enumPickState.未拣);
|
|
|
|
break;
|
|
*/
|
|
case 700: // 未分配波次的拣货任务
|
|
_strSql = "select top (@cnt) * from v_stockOutPort port where 1=1 "
|
|
// + " and orderState =@orderState "
|
|
+ " and waveOrder is null " +
|
|
" and state =@pickState";
|
|
wr = (WaveRule)mObj.CmdParameters[0];
|
|
if (wr.lineId > 0)
|
|
{
|
|
_strSql += " and ( orderType!= @orderType or exists(select 1 from v_tmsLineDetail where custid = port.customerId and lineId =@lineId))";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", wr.lineId);
|
|
}
|
|
if (!string.IsNullOrEmpty(wr.owner))
|
|
{
|
|
_strSql += " and ( orderType!= @orderType or ownercode =@ownerCode ) ";
|
|
sqlCmd.Parameters.AddWithValue("@ownerCode", wr.owner);
|
|
}
|
|
|
|
_strSql += " order by priority desc,partion,channel,pickOrderNo,tranArea,voltype,locationid";
|
|
// LogHelper.debug("pick waves ", _strSql);
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@orderState", (int)enumOutStockRequestStatus.等待波次);
|
|
sqlCmd.Parameters.AddWithValue("@pickState", (int)enumPickState.未拣);
|
|
sqlCmd.Parameters.AddWithValue("@orderType", (int)enumOrderType.销售出库);
|
|
sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_JOBS_IN_A_WAVE*20);
|
|
break;
|
|
case 701: // 未分配波次的拣货任务 4 dps wave
|
|
_strSql = "select top(@cnt) * from v_stockOutPort port where recType=1 "
|
|
+ " and dpsorder is null and elabId >0 and voltype=0 ";
|
|
wr = (WaveRule)mObj.CmdParameters[0];
|
|
if (wr.lineId > 0)
|
|
{
|
|
_strSql += " and ( orderType!= @orderType or exists(select 1 from v_tmsLineDetail where custid = port.customerId and lineId =@lineId))";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", wr.lineId);
|
|
}
|
|
if (!string.IsNullOrEmpty(wr.owner))
|
|
{
|
|
_strSql += " and ( orderType!= @orderType or ownercode =@ownerCode ) ";
|
|
sqlCmd.Parameters.AddWithValue("@ownerCode", wr.owner);
|
|
}
|
|
sqlCmd.Parameters.AddWithValue("@orderType", (int)enumOrderType.销售出库);
|
|
|
|
_strSql += " order by pickOrderNo;";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_CONTROL_DATA_IN_A_WAVE * 20);
|
|
|
|
break;
|
|
case 800: // 根据waveNo 取wave detail 分页数据
|
|
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM v_stockOutPort WHERE waveOrder =@waveNo ";
|
|
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY jobNo ";
|
|
_strSql += ";SELECT COUNT(*) FROM v_stockOutPort WHERE waveOrder =@waveNo ";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
|
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
|
sqlCmd.Parameters.AddWithValue("@waveNo", mObj.CmdParameters[0]);
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
case 801: // 不分页详细数据
|
|
_strSql = "select * from t_wmsOutPickPort where waveOrder =@waveNo order by jobNo "
|
|
;
|
|
|
|
sqlCmd.Parameters.AddWithValue("@waveNo", mObj.CmdParameters[0]);
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
case 900: // get wave detail by waveNo
|
|
_strSql = "SELECT * FROM [v_stockOutPort] WHERE waveOrder = @waveOrder";
|
|
_strSql += " order by volType,part,locationId";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[0]);
|
|
break;
|
|
case 910: // get wave detail by waveNo and volType
|
|
_strSql = "SELECT * FROM [v_stockOutPort] WHERE waveOrder = @waveOrder and volType =@volType";
|
|
_strSql += " order by part,locationId";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@volType", mObj.CmdParameters[1]);
|
|
break;
|
|
case 920: // get wave detail summary by waveNo and volType = bulk
|
|
_strSql = "SELECT * FROM [v_stockOutPortSum] WHERE waveOrder = @waveOrder and volType =@volType ";
|
|
_strSql += " order by pickOrderNo,jobNo";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@volType", mObj.CmdParameters[1]);
|
|
break;
|
|
|
|
case 1000: //by orderNo
|
|
_strSql = "SELECT * FROM v_stockOutPort WHERE jobNo = @jobNo";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@jobNo", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
case 1001: //by flowno
|
|
_strSql = "SELECT * FROM v_stockOutPort WHERE flowNo = @flowNo and goodsId=@goodsId and isnull(batch,@batch )=@batch ";// or batch is null)";
|
|
|
|
LogHelper.debug(GetType(), _strSql);
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[1]);
|
|
sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]);
|
|
break;
|
|
|
|
case 1002: //by flowno and seedsNo
|
|
_strSql = "SELECT * FROM v_stockOutPort WHERE pickOrderNo=@seedsNo and flowNo = @flowNo and goodsId=@goodsId and isnull(batch,@batch )=@batch ";
|
|
|
|
LogHelper.debug(GetType(), _strSql);
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[1]);
|
|
sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]);
|
|
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[3]);
|
|
break;
|
|
|
|
|
|
case 1100: //getFreeTasks
|
|
_strSql = "SELECT * FROM [v_stockOutBatchPickDetail] a WHERE cast(createtime as date) = cast(getdate() as date) " +
|
|
" and jobNo is not null" +
|
|
" and isnull(takeBy,0) =0 ";
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[4]) > 0)
|
|
{
|
|
_strSql += " and orderType =@orderType ";
|
|
sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[4]);
|
|
}
|
|
|
|
if (!(WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE && WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN))
|
|
{
|
|
if (WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN)
|
|
{
|
|
_strSql += " and recType = " + (int)enumStockRecordType.集货拣货;
|
|
}
|
|
else
|
|
if (WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE)
|
|
{
|
|
_strSql += " and recType = " + (int)enumStockRecordType.销售出库;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(mObj.CmdParameters[2]))
|
|
{
|
|
_strSql += " and volType>0 ";
|
|
}
|
|
|
|
_strSql += " and state = " + (int)enumPickState.未拣;
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[0]) > 0)
|
|
{
|
|
_strSql += " and (partion=0 or partion =@partion)";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]);
|
|
}
|
|
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[1]) > 0)
|
|
{
|
|
_strSql += " and isnull(lineid,0) = @lineId";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[1]);
|
|
}
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[5]) > 0)
|
|
{
|
|
_strSql += " and exists(select 1 from v_empPartions where partion = a.partion and empId=@empId)";
|
|
sqlCmd.Parameters.AddWithValue("@empId", mObj.CmdParameters[5]);
|
|
}
|
|
|
|
_strSql += " order by priority desc,pickorderno,locationid";
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
|
|
case 1110: //getFreeTasks by jobNo
|
|
_strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] a WHERE cast(createtime as date) = cast(getdate() as date) " +
|
|
" and jobNo is not null" +
|
|
" and elabId =0 " +
|
|
" and isnull(takeBy,0) =0 " +
|
|
" and ( isWeightSeeds=0 or isWeightSeeds =1 and partion =@partion )"; //区的任务可跨区获取,或获取指定区的任务
|
|
|
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]);
|
|
|
|
/* // 是否可以获取分配任务
|
|
if (Convert.ToBoolean(mObj.CmdParameters[9]))
|
|
{
|
|
_strSql += " and recType =12 ";
|
|
}
|
|
*/
|
|
|
|
/*
|
|
* 任务按时间段获取,辣得叫 中午单拣,下午总拣为主, 同时间段内的集中拣货任务优先
|
|
if (!(WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE && WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN))
|
|
{
|
|
if (WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN) //集中拣货任务可抢
|
|
{
|
|
_strSql += " and recType = " + (int)enumStockRecordType.集货拣货;
|
|
}
|
|
else
|
|
if (WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE) //按单拣货任务可抢
|
|
{
|
|
_strSql += " and recType = " + (int)enumStockRecordType.销售出库;
|
|
}
|
|
}
|
|
*/
|
|
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[4]) > 0)
|
|
{
|
|
_strSql += " and orderType =@orderType ";
|
|
try
|
|
{
|
|
sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[4]);
|
|
}catch(Exception er)
|
|
{
|
|
LogHelper.WriteLog(this.GetType(), er);
|
|
LogHelper.debug("wmsoutpickport_imp",er.StackTrace);
|
|
}
|
|
}
|
|
|
|
|
|
if (mObj.CmdParameters[6]!=null && ! string.IsNullOrEmpty( mObj.CmdParameters[6].ToString()))
|
|
{
|
|
_strSql += " and jobNo =@jobNo ";
|
|
sqlCmd.Parameters.AddWithValue("@jobNo", mObj.CmdParameters[6]);
|
|
}
|
|
|
|
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[3]) > 0)
|
|
{
|
|
_strSql += " and warehouse =@warehouse ";
|
|
sqlCmd.Parameters.AddWithValue("@warehouse", mObj.CmdParameters[3]);
|
|
}
|
|
|
|
|
|
if (!string.IsNullOrEmpty(mObj.CmdParameters[7].ToString()))
|
|
{
|
|
_strSql += " and pickorderNo =@pickorderNo ";
|
|
sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[7]);
|
|
}
|
|
|
|
if (Convert.ToBoolean(mObj.CmdParameters[2]))
|
|
{
|
|
_strSql += " and volType>0 ";
|
|
}
|
|
|
|
_strSql += " and state = " + (int)enumPickState.未拣;
|
|
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[0]) > 0)
|
|
{
|
|
_strSql += " and (partion=0 or partion =@partion)";
|
|
//sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]);
|
|
}
|
|
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[1]) > 0)
|
|
{
|
|
_strSql += " and isnull(lineid,0) = @lineId";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[1]);
|
|
}
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[5]) > 0)
|
|
{
|
|
_strSql += " and exists(select 1 from v_empPartions where partion = a.partion and empId=@empId)";
|
|
sqlCmd.Parameters.AddWithValue("@empId", mObj.CmdParameters[5]);
|
|
}
|
|
|
|
// _strSql += " order by priority desc,pickorderno,locationid";
|
|
|
|
|
|
if (Convert.ToBoolean(mObj.CmdParameters[8]))
|
|
{
|
|
// _strSql += " order by priority desc,seedspickno desc, goodsid";
|
|
_strSql += " order by priority desc, goodsid";
|
|
}
|
|
else
|
|
{
|
|
_strSql += " order by priority desc,lineId,lineorder, pickorderNo , virtialCnt, warehouse,partion,channel,shelf,col,layer,goodsid";
|
|
|
|
}
|
|
|
|
|
|
// LogHelper.debug(GetType(), _strSql);
|
|
|
|
sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_JOBS_IN_A_WAVE*5);
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
case 1120: //getFreeTasks by pickorder
|
|
_strSql = "SELECT * FROM [v_stockOutBatchPickDetail] WHERE " +
|
|
" jobNo is not null" +
|
|
// " and elabId =0 " +
|
|
" and isnull(takeBy,0) =0 "+
|
|
" and pickorderNo =@pickorderNo "+
|
|
// " order by priority desc,lineId,lineorder, pickorderNo , virtialCnt," +
|
|
" order by warehouse,partion,channel,shelf,col,layer,goodsid";
|
|
sqlCmd.CommandText = _strSql;
|
|
// LogHelper.debug(GetType(), _strSql);
|
|
//sqlCmd.Parameters.AddWithValue("@takeBy", 5000);
|
|
// sqlCmd.Parameters.AddWithValue("@cnt", 5000);
|
|
sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[0]);
|
|
|
|
break;
|
|
|
|
|
|
case 1200: //getAssignedTasks by takeby
|
|
_strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] WHERE 1=1 ";
|
|
|
|
// + " and elabId = 0 " ;
|
|
if (Convert.ToInt32(mObj.CmdParameters[10]) <= 0)
|
|
{
|
|
_strSql += " and state = 0 "; //未拣任务
|
|
}
|
|
else
|
|
{
|
|
_strSql += " and state >= @state "; //已分拣、播种
|
|
}
|
|
// _strSql += " and (owner=@takeBy or takeBy =@takeBy) ";
|
|
|
|
_strSql += " and ( takeBy =@takeBy) ";
|
|
// _strSql += String.Format(" and ( takeBy ='{0}') ", mObj.CmdParameters[0]);
|
|
|
|
|
|
_strSql += " and jobNo is not null ";
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[9]) > 0)
|
|
{
|
|
_strSql += " and orderType =@orderType ";
|
|
sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[9]);
|
|
}
|
|
|
|
|
|
|
|
if (Convert.ToBoolean(mObj.CmdParameters[8]))
|
|
{
|
|
_strSql += " and volType>0 ";
|
|
}
|
|
/*
|
|
_strSql += " and isnull(lineid,0) = @lineId"
|
|
+ " and isnull(partion,0) =@partion"
|
|
+ " and takeBy =@takeBy"
|
|
+ " order by priority desc,locationid";
|
|
_strSql += " and isnull(takeBy,0) =@takeby";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[1]);
|
|
*/
|
|
if (Convert.ToInt32( mObj.CmdParameters[7])>0){
|
|
_strSql += " and isnull(lineid,0) = @lineId";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[7]);
|
|
}
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[6]) > 0)
|
|
{
|
|
_strSql += " and partion =@partion";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[6]);
|
|
}
|
|
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[10]) > 0) //播种
|
|
{
|
|
_strSql += " and isnull( pickTime,getdate()-100) > getdate()-1 " +
|
|
" and DATEPART(dd, isnull( pickTime,getdate()-5) ) = DATEPART(dd, getdate()) ";
|
|
|
|
_strSql += " order by pickTime desc ";
|
|
}
|
|
else
|
|
{
|
|
|
|
// _strSql += " order by priority desc,linepriority desc, pickorderNo ,/* virtialCnt,*/ warehouse,partion,locationId,channel,shelf,col,layer,goodsid";
|
|
|
|
_strSql += " order by priority desc,lineId,lineorder, pickorderNo , /* virtialCnt,*/ warehouse,partion,channel,shelf,col,layer,goodsid";
|
|
}
|
|
|
|
|
|
// LogHelper.debug(GetType(), _strSql);
|
|
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[10]);
|
|
// _strSql += " order by priority desc,customerid,locationid";
|
|
sqlCmd.Parameters.AddWithValue("@takeBy", mObj.CmdParameters[5]);
|
|
sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_JOBS_IN_A_WAVE);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 1300: //get assigned Tasks by pda //for wince use
|
|
_strSql = "SELECT [货区], [货位] ,[件],[线路],[数量],[商品] ,[分配人] "
|
|
+ " FROM [v_stockOutBatchPickDetail4Wince] WHERE state = " + (int)enumPickState.未拣 ;
|
|
|
|
|
|
|
|
_strSql += " and orderType =@orderType ";
|
|
sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[4]);
|
|
|
|
if (Convert.ToBoolean(mObj.CmdParameters[3]))
|
|
{
|
|
_strSql += " and volType>0 ";
|
|
}
|
|
_strSql += " and isnull(takeBy,0) =@takeby";
|
|
|
|
if(Convert.ToInt32( mObj.CmdParameters[2])>0){
|
|
_strSql += " and isnull(lineid,0) = @lineId";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[2]);
|
|
}
|
|
|
|
if (Convert.ToInt32(mObj.CmdParameters[1]) > 0)
|
|
{
|
|
_strSql += " and partion =@partion";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]);
|
|
}
|
|
|
|
_strSql += " order by priority desc,货位";
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
sqlCmd.Parameters.AddWithValue("@takeby", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 1400: //get partions
|
|
_strSql = " select flag as [partion] , name as [partName] from t_node where parentid=16753";
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1401: //get partion by userid
|
|
_strSql = "SELECT distinct [partion] ,[partName] FROM [v_empPartions] ";
|
|
_strSql += " where empid =@empId ";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@empId", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
case 1500: //get partion by userid
|
|
_strSql = "SELECT * from t_wmsOutPickPort where recordId=@recId ";
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@recId", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
|
|
case 1600: //update bulkpickstatus by pickOrder ,seeds finished one pickorder
|
|
_strSql = " update t_wmsOutPickPort set state =@state "
|
|
+", checkby=@checkBy,checktime=getdate(),checkBy2=@checkBy2,checkByTime2=getdate()"
|
|
+" where voltype =0 "
|
|
+ " and pickOrderNo=@pickorderNo "
|
|
|
|
;
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@checkBy", mObj.CmdParameters[1]);
|
|
sqlCmd.Parameters.AddWithValue("@checkBy2", mObj.CmdParameters[2]);
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[3]);
|
|
break;
|
|
|
|
|
|
case 1700: //get partion by userid
|
|
_strSql = "SELECT * from [v_repStockOutInTasks] where takeBy =@takeBy ";
|
|
_strSql += " and state =@state";
|
|
if(Convert.ToInt32(mObj.CmdParameters[1].ToString())>0){
|
|
_strSql += " and partion =@partion";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]);
|
|
}
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@takeBy", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[2]);
|
|
break;
|
|
case 1800://get seeds out detail by flowno
|
|
_strSql = "SELECT * from [v_stockOutPortSeedsDetail] where flowNo=@flowNo " +
|
|
"order by goodsId";
|
|
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
case 1810://get seeds out detail by flowno, order by cust line order
|
|
_strSql = "SELECT * from [v_stockOutPortSeedsDetail] where flowNo=@flowNo " +
|
|
"order by lineOrder ";
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
break;
|
|
case 1801://get seeds out detail by flowno
|
|
// _strSql = "SELECT * from [v_stockOutPortSeedsPickDetail] where flowNo=@flowNo " +
|
|
// "order by goodsId";
|
|
|
|
_strSql = "SELECT * from [v_stockOutValidInSeedsDetail] where flowNo=@flowNo " + //直通分播商品按检验入拖的先入后出原则分播;
|
|
//集中贱货商品按拣货时间排序,后拣货的排前面
|
|
"order by picktime desc, goodsId,lineid, lineOrder";
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
break;
|
|
|
|
case 1811://get seeds out detail by flowno, order by cust line order
|
|
// _strSql = "SELECT * from [v_stockOutPortSeedsPickDetail] where flowNo=@flowNo " +
|
|
// "order by lineid, lineOrder,customerid ";
|
|
|
|
_strSql = "SELECT * from [v_stockOutValidInSeedsDetail] where flowNo=@flowNo " +//直通分播商品按检验入拖的先入后出原则分播; 集中拣货商品按店铺线路顺序排序
|
|
"order by createtime, lineid, lineOrder,customerid ";
|
|
sqlCmd.CommandText = _strSql;
|
|
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
|
|
break;
|
|
case 1900://get seeds out detail by flowno, order by cust line order
|
|
// _strSql = " SELECT distinct flowNo from [v_stockOutPortSeedsDetail] where availableCnt>0 ";
|
|
_strSql = " SELECT distinct flowNo from [v_stockOutPortSeedsPickDetail] where availableCnt>0 ";
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
|
|
case 2000://get portdetails by pickdetailid and pick state
|
|
_strSql = " SELECT * from v_stockoutport where pickdetailId =@detailId and state =@state";
|
|
sqlCmd.Parameters.AddWithValue("@detailId", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
break;
|
|
|
|
|
|
case 2100://get portdetails cnt by pickdetailid and pick state
|
|
_strSql = " SELECT count(1) from v_stockoutport where pickdetailId =@detailId and state =@state";
|
|
sqlCmd.Parameters.AddWithValue("@detailId", mObj.CmdParameters[0]);
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
|
|
case 2200://
|
|
_strSql = " SELECT * FROM [v_stockOutPortSumLight] WHERE state =0 and takeby=@takeby ";
|
|
|
|
if (Convert.ToInt16( mObj.CmdParameters[1].ToString())>0)
|
|
{
|
|
_strSql += " and partion=@partion ";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]);
|
|
|
|
}
|
|
if (Convert.ToInt16(mObj.CmdParameters[2].ToString()) > 0)
|
|
{
|
|
_strSql += " and orderType=@orderType" ;
|
|
sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[2]);
|
|
|
|
}
|
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@takeby", mObj.CmdParameters[0]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
|
|
|
|
|
|
case 2210:// get by light
|
|
_strSql = " SELECT * FROM [v_stockOutPortSumLight] WHERE state =@state";
|
|
if (Convert.ToInt16(mObj.CmdParameters[1].ToString()) > 0)
|
|
{
|
|
_strSql += " and part=@partion ";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]);
|
|
|
|
}
|
|
if (Convert.ToInt16(mObj.CmdParameters[2].ToString()) > 0)
|
|
{
|
|
_strSql += " and lineId=@lineId ";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[2]);
|
|
|
|
}
|
|
_strSql += " and orderDate=@orderDate ";
|
|
_strSql += " order by lineId,customerName ";
|
|
sqlCmd.Parameters.AddWithValue("@orderDate", mObj.CmdParameters[3]);
|
|
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
|
|
case 2220:// get no light tasks
|
|
|
|
|
|
_strSql = " SELECT * FROM [v_stockOutPortSumNoLightByPickOrder] WHERE state =@state";
|
|
|
|
/*
|
|
if (Convert.ToInt16(mObj.CmdParameters[1].ToString()) > 0)
|
|
{
|
|
_strSql += " and part=@partion ";
|
|
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]);
|
|
|
|
}*/
|
|
|
|
|
|
|
|
if (Convert.ToInt16(mObj.CmdParameters[4].ToString()) > 0)
|
|
{
|
|
_strSql += " and warehouse=@warehouse ";
|
|
sqlCmd.Parameters.AddWithValue("@warehouse", mObj.CmdParameters[4]);
|
|
|
|
}
|
|
|
|
if (Convert.ToInt16(mObj.CmdParameters[2].ToString()) > 0)
|
|
{
|
|
_strSql += " and lineId=@lineId ";
|
|
sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[2]);
|
|
|
|
}
|
|
_strSql += " and orderDate=@orderDate ";
|
|
|
|
_strSql += mObj.CmdParameters[5].ToString();
|
|
_strSql += " order by lineId,customerName ";
|
|
sqlCmd.Parameters.AddWithValue("@orderDate", mObj.CmdParameters[3]);
|
|
|
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
case 2300://
|
|
_strSql = " SELECT id as portId, * FROM v_stockoutport WHERE jobNo =@jobNo " +
|
|
" and elabId>0 order by lineid desc";
|
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@jobNo", mObj.CmdParameters[0]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
|
|
case 2400://
|
|
_strSql = " SELECT id as portId, * FROM v_stockoutport WHERE pickorderNo =@pickorderNo " +
|
|
" and elabId>0 order by lineid desc ";
|
|
|
|
sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[0]);
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
}
|
|
}
|
|
} |