2025-08-14 14:03:14 +08:00
/// <summary>
///INTERFACE IMPLIMENT FOR TABLE t_wmsImportSeeds
///By wm with codesmith.
///on 07/21/2019
/// </summary>
using System ;
using System.Data.SqlClient ;
using DeiNiu.Utils ;
namespace DeiNiu.wms.Data.Model
{
[Serializable] class WmsImportSeeds_Imp : WmsImportSeeds_base_Imp
{
protected override void CmdPrepare ( SqlCommand sqlCmd )
{
base . CmdPrepare ( sqlCmd ) ;
WmsImportSeeds mObj = ( WmsImportSeeds ) modelObj ;
switch ( _cust_op_flag )
{
case 99 : //query with dic
_strSql = "SELECT *,0 AS isLightUp, 0 AS isPicked ,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM v_seeds WHERE DR = 1 " + mObj . CmdParameters [ 0 ] . ToString ( ) ;
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY ID DESC" ;
_strSql + = ";SELECT COUNT(*) FROM v_seeds WHERE DR = 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 seedsNo
_strSql = "SELECT * FROM t_wmsImportSeeds WHERE seedsNo = @seedsNo order by custName" ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 0 ] ) ;
break ;
case 201 : // start load seeds with deskId, 适合不同仓库不同seedsno的情况
String cols = "[deskId], [elabId] ,[port],[seedsNo] ,[barcode] ,[custName] ,[itemName] ,[count] ,[countOut] ,[unit] ,[category1] ,[category2],[category3] ,[spec] ,[elabAddress] ,[description]" ;
_strSql = "insert t_wmsImportSeeds_tmp({0}) select {1} from v_availableSeeds "
+ " WHERE deskId = @deskId and seedsNo =@seedsNo " ;
_strSql = String . Format ( _strSql , cols , cols ) ;
_strSql + = ";" ;
_strSql + = "delete from t_wmsImportSeeds WHERE deskId = @deskId and seedsNo =@seedsNo " ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 1 ] ) ;
break ;
case 301 : //start light an item, 适合不同仓库不同seedsno的情况, deskid 已分配好
_strSql = "update t_wmsImportSeeds_tmp "
+ "set color= @color,operater =@operater,state=1"
+ "WHERE deskId = @deskId and seedsNo=@seedsNo and barcode =@barcode" ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 1 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 2 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@operater" , mObj . CmdParameters [ 3 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@color" , mObj . CmdParameters [ 4 ] ) ;
break ;
case 200 : // start load seeds , 不分配deskId
cols = "[deskId],[empId], [elabId] ,[port],[seedsNo] ,[barcode] ,[custName] ,[itemName] ,[count] ,[countOut] ,[unit] ,[category1] ,[category2],[category3] ,[spec] ,[elabAddress] ,[description],[picktime],[createtime]" ;
2025-09-15 10:15:35 +08:00
_strSql = " insert t_wmsImportSeeds_history({0},[state],[operater],[lastmodified]) "
2025-08-14 14:03:14 +08:00
+ " select {1},[state],[operater],[lastmodified] from t_wmsImportSeeds_tmp" ; //把历史已完成分拣的数据导入history
_strSql + = " where state={3}" ;
2025-09-15 10:15:35 +08:00
_strSql + = ";delete from t_wmsImportSeeds_tmp WHERE state={3} or seedsNo!=@seedsNo " ;
// _strSql += ";truncate table t_wmsImportSeeds_tmp ";
_strSql + = ";insert t_wmsImportSeeds_tmp({0},[state]) select {1},{2} from t_wmsImportSeeds "
+ " WHERE seedsNo =@seedsNo " ;
// _strSql += ";delete from t_wmsImportSeeds WHERE seedsNo =@seedsNo ";
_strSql + = ";truncate table t_wmsImportSeeds" ;
2025-08-14 14:03:14 +08:00
_strSql = String . Format ( _strSql , cols , cols , ( int ) enumSeedsState . 处 理 中 , ( int ) enumSeedsState . 已 亮 灯 ) ;
sqlCmd . CommandText = _strSql ;
//sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 1 ] ) ;
2025-09-15 10:15:35 +08:00
break ;
case 202 :
_strSql + = ";truncate table t_wmsImportSeeds" ;
sqlCmd . CommandText = _strSql ;
2025-08-14 14:03:14 +08:00
break ;
case 300 : //start light an item,根据deskId ->custNames, 结合 barcode找到亮灯数据
_strSql = "select * from t_wmsImportSeeds_tmp "
+ " WHERE seedsNo=@seedsNo and barcode =@barcode "
+ " and state <@state"
+ " and deskId=@deskId" ;
// + " and (/*elabId > 0*/ or exists(select 1 from t_wmsDeskCustomer where deskId=@deskId and custName = t_wmsImportSeeds_tmp.custName))";
// +" and ( exists(select 1 from t_wmsDeskCustomer where deskId=@deskId and custName = t_wmsImportSeeds_tmp.custName))";
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 1 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 2 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@state" , enumSeedsState . 已 亮 灯 ) ;
break ;
case 302 : //反查亮灯
_strSql = "select * from v_seeds "
+ "WHERE seedsNo=@seedsNo and barcode =@barcode "
+ " and state =@state"
+ " and operater =@operater"
+ " and exists(select 1 from t_wmsDeskCustomer where deskId=@deskId and custName = v_seeds.custName)" ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 1 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 2 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@operater" , mObj . CmdParameters [ 3 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@state" , enumSeedsState . 已 按 灭 ) ;
break ;
case 400 : //get seeds by barcode
_strSql = "update t_wmsImportSeeds_tmp "
+ "set color= @color,operater =@operater,state=1"
+ "WHERE deskId = @deskId and seedsNo=@seedsNo and barcode =@barcode" ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 1 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 2 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@operater" , mObj . CmdParameters [ 3 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@color" , mObj . CmdParameters [ 4 ] ) ;
break ;
case 500 : //更新亮灯状态 相应灯光按灭事件
_strSql = "update t_wmsImportSeeds_tmp set state = @stateLight, picktime = getdate() WHERE id =@id "
+ " and state!= @stateLight" ;
// _strSql += " and state < @statePicked";
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@id" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@stateLight" , mObj . CmdParameters [ 1 ] ) ;
// sqlCmd.Parameters.AddWithValue("@statePicked", enumSeedsState.已亮灯);
break ;
case 600 : //删除分拣单
_strSql = "delete from t_wmsImportSeeds where seedsNo =@seedsNo ; " ;
_strSql + = " delete from t_wmsImportSeeds_tmp where seedsNo =@seedsNo ; " ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 0 ] ) ;
break ;
case 601 : //查询可删除分拣单
_strSql = " select count(1) from v_seeds where seedsNo =@seedsNo and state >= @state; " ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@state" , ( int ) enumSeedsState . 已 亮 灯 ) ;
break ;
case 700 : //查询可删除分拣单
_strSql = " select sum(countOut),sum(count) from v_seeds where seedsNo =@seedsNo and barcode = @barcode; " ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@seedsNo" , mObj . CmdParameters [ 0 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 1 ] ) ;
break ;
case 800 : //by deskid,barcode
_strSql = "SELECT * FROM t_wmsImportSeeds_tmp WHERE deskId = @deskId and barcode=@barcode" ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 1 ] ) ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 0 ] ) ;
break ;
2025-09-15 10:15:35 +08:00
case 810 : //by barcode
_strSql = "SELECT * FROM t_wmsImportSeeds_tmp WHERE barcode=@barcode" ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@barcode" , mObj . CmdParameters [ 0 ] ) ;
break ;
2025-08-14 14:03:14 +08:00
case 900 : //by deskid
_strSql = "SELECT * FROM t_wmsLocation WHERE partion = @deskId " ;
sqlCmd . CommandText = _strSql ;
sqlCmd . Parameters . AddWithValue ( "@deskId" , mObj . CmdParameters [ 0 ] ) ;
break ;
2025-09-15 10:15:35 +08:00
case 910 : // reorder labelid
_strSql = "SELECT * FROM t_wmsLocation order by channel,layer,col " ;
sqlCmd . CommandText = _strSql ;
break ;
2025-08-14 14:03:14 +08:00
}
}
}
}