ldj/epickpublic/BLL/wms/data/WmsImportSeeds_Imp.cs

293 lines
20 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// <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 = "[partion],[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], [elabId] ,[port],[seedsNo] ,[barcode] ,[custName] ,[itemName] ,[count] ,[countOut] ,[unit] ,[category1] ,[category2],[category3] ,[spec] ,[elabAddress] ,[description],[picktime],[createtime]";
_strSql = "insert t_wmsImportSeeds_tmp({0},[state],[partion]) select {1},{2},@partion from t_wmsImportSeeds "
+ " WHERE seedsNo =@seedsNo ";
_strSql += ";delete from t_wmsImportSeeds WHERE seedsNo =@seedsNo ";
_strSql += ";insert t_wmsImportSeeds_history({0},[state],[operater],[lastmodified],[partion]) "
+ " select {1},[state],[operater],[lastmodified],[partion] from t_wmsImportSeeds_tmp";//把历史已完成分拣的数据导入history
_strSql += " where state={3}";
_strSql += ";delete from t_wmsImportSeeds_tmp WHERE state={3} ";
_strSql += "; update t_wmsImportSeeds_tmp set deskid =(select deskid from t_wmsDeskCustomer where custName= t_wmsImportSeeds_tmp.custName and partion =t_wmsImportSeeds_tmp.partion)"
+" , port =(select portNo from t_wmsDeskCustomer where custName= t_wmsImportSeeds_tmp.custName and partion =t_wmsImportSeeds_tmp.partion)"
+ " where seedsNo =@seedsNo and partion=@partion";
_strSql = String.Format(_strSql, cols, cols, (int)enumSeedsState., (int)enumSeedsState.);
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
break;
case 300: //start light an item,根据deskId ->custNames, 结合 barcode找到亮灯数据
_strSql = "select top 150 * from t_wmsImportSeeds_tmp "
+ "WHERE seedsNo=@seedsNo and barcode =@barcode "
+ "and state <@state"
// + " 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 top 150 * 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),itemName from v_seeds where seedsNo =@seedsNo and barcode = @barcode group by itemName ";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
break;
case 800: //by name
_strSql = "SELECT * FROM t_wmsImportSeeds_tmp WHERE deskId = @deskId and barcode=@barcode";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
break;
case 900: //auto adjust
// _strSql = "SELECT dbo.t_wmsDeskCustomer.custName, dbo.t_wmsDeskCustomer.portNo, dbo.v_seeds.seedsNo, dbo.v_seeds.barcode, dbo.v_seeds.count, dbo.v_seeds.countOut";
// _strSql += " left outer join dbo.v_seeds ON dbo.t_wmsDeskCustomer.custName = dbo.v_seeds.custName ";
_strSql = "SELECT dbo.t_wmsDeskCustomer.portNo, dbo.t_wmsImportSeeds_tmp.* ";
_strSql += " FROM dbo.t_wmsDeskCustomer LEFT OUTER JOIN dbo.t_wmsImportSeeds_tmp ON dbo.t_wmsDeskCustomer.custName = dbo.t_wmsImportSeeds_tmp.custName"
+ " and dbo.t_wmsDeskCustomer.partion =dbo.t_wmsImportSeeds_tmp.partion ";
_strSql += " where seedsno=@seedsNo and barcode=@barcode and count>0 and t_wmsImportSeeds_tmp.state <3 ";
_strSql += " order by portNo";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
break;
case 910: //update to original
_strSql = "update t_wmsImportSeeds_tmp set countout=[count] where seedsno=@seedsNo and barcode=@barcode and state <3;";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
break;
case 1000: //
_strSql = "SELECT * FROM t_wmsImportSeeds_tmp WHERE deskId = @deskId and barcode=@barcode";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
break;
case 1100: // 根据波次号 和 商品条码取一次分播数据 for 亮灯
_strSql = " SELECT dbo.t_wmsImportSeeds_tmp.seedsNo, dbo.t_wmsImportSeeds_tmp.barcode, dbo.t_wmsImportSeeds_tmp.itemName, "
+ " dbo.t_wmsImportSeeds_tmp.unit, dbo.t_wmsImportSeeds_tmp.spec, dbo.t_wmsDeskCustomer.deskId,"
+ " sum( dbo.t_wmsImportSeeds_tmp.countOut) as countOut"
+ " FROM dbo.t_wmsImportSeeds_tmp LEFT OUTER JOIN dbo.t_wmsDeskCustomer ON dbo.t_wmsImportSeeds_tmp.custName = dbo.t_wmsDeskCustomer.custName "
+ " and dbo.t_wmsDeskCustomer.partion =dbo.t_wmsImportSeeds_tmp.partion "
+ " WHERE seedsNo = @seedsNo and barcode=@barcode and isnull(category1,'0')!='1'"
+ " GROUP BY dbo.t_wmsImportSeeds_tmp.seedsNo, dbo.t_wmsImportSeeds_tmp.barcode, dbo.t_wmsImportSeeds_tmp.itemName, dbo.t_wmsImportSeeds_tmp.unit, dbo.t_wmsImportSeeds_tmp.spec, dbo.t_wmsDeskCustomer.deskId "
+ " having t_wmsDeskCustomer.deskid is not null";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
break;
case 1101: // 根据波次号 和 商品条码取一次分播数据 for 显示在界面
_strSql = " SELECT dbo.t_wmsImportSeeds_tmp.seedsNo, dbo.t_wmsImportSeeds_tmp.barcode, dbo.t_wmsImportSeeds_tmp.itemName, "
+ " dbo.t_wmsImportSeeds_tmp.unit, dbo.t_wmsImportSeeds_tmp.spec, dbo.t_wmsDeskCustomer.deskId,"
+ " sum( dbo.t_wmsImportSeeds_tmp.countOut) as countOut"
+ " FROM dbo.t_wmsImportSeeds_tmp LEFT OUTER JOIN dbo.t_wmsDeskCustomer ON dbo.t_wmsImportSeeds_tmp.custName = dbo.t_wmsDeskCustomer.custName "
+ " and dbo.t_wmsDeskCustomer.partion =dbo.t_wmsImportSeeds_tmp.partion "
+ " WHERE seedsNo = @seedsNo and barcode=@barcode and isnull(category1,'0')='1' and dbo.t_wmsImportSeeds_tmp.operater =@operater "
+ " GROUP BY dbo.t_wmsImportSeeds_tmp.seedsNo, dbo.t_wmsImportSeeds_tmp.barcode, dbo.t_wmsImportSeeds_tmp.itemName, dbo.t_wmsImportSeeds_tmp.unit, dbo.t_wmsImportSeeds_tmp.spec, dbo.t_wmsDeskCustomer.deskId "
+ " having t_wmsDeskCustomer.deskid is not null";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]);
break;
case 1200: // pick over desk seeds
_strSql = "update t_wmsImportSeeds_tmp set category1 = '1',deskid=@deskId WHERE seedsNo=@seedsNo and barcode=@barcode and "
+ " exists(select 1 from [t_wmsDeskCustomer] where custName = t_wmsImportSeeds_tmp.custName and partion = t_wmsImportSeeds_tmp.partion and deskId =@deskId) ";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[2]);
break;
case 1300: // 根据波次号 和 商品条码取一次分播数据 for 显示在界面
_strSql = " SELECT dbo.t_wmsImportSeeds_tmp.seedsNo, dbo.t_wmsImportSeeds_tmp.barcode, dbo.t_wmsImportSeeds_tmp.itemName, "
+ " dbo.t_wmsImportSeeds_tmp.unit, dbo.t_wmsImportSeeds_tmp.spec, dbo.t_wmsDeskCustomer.deskId,category1,"
+ " sum( dbo.t_wmsImportSeeds_tmp.countOut) as countOut"
+ " FROM dbo.t_wmsImportSeeds_tmp LEFT OUTER JOIN dbo.t_wmsDeskCustomer ON dbo.t_wmsImportSeeds_tmp.custName = dbo.t_wmsDeskCustomer.custName "
+ " and dbo.t_wmsDeskCustomer.partion =dbo.t_wmsImportSeeds_tmp.partion "
+ " WHERE seedsNo = @seedsNo and barcode=@barcode "
// +" and isnull(category1,'0')=@category1"
+ " GROUP BY dbo.t_wmsImportSeeds_tmp.seedsNo, dbo.t_wmsImportSeeds_tmp.barcode, dbo.t_wmsImportSeeds_tmp.itemName, dbo.t_wmsImportSeeds_tmp.unit, dbo.t_wmsImportSeeds_tmp.spec, dbo.t_wmsDeskCustomer.deskId,category1 "
+ " having t_wmsDeskCustomer.deskid is not null";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
// sqlCmd.Parameters.AddWithValue("@category1", mObj.CmdParameters[2]);
break;
case 1400: // pick over desk seeds
_strSql = " select * from v_sumCntBySeedsBarcode128 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 1310: //query with desk
_strSql = "SELECT *,0 AS isLightUp, 0 AS isPicked ,ROW_NUMBER() OVER (ORDER BY deskId DESC) as sortNo FROM [v_seedsDesk] WHERE 1=1 " + mObj.CmdParameters[0].ToString();
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY deskId ";
_strSql += ";SELECT COUNT(*) FROM [v_seedsDesk] 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 1500:
_strSql = " select count(*) ,custname from v_seeds where countout!= count "
+ " and CAST(createtime AS date) = CAST(GETDATE() AS date)"
+ " and custname = @custName"
+ " having sum( abs(countout -count)) <@cnt ;";
sqlCmd.Parameters.AddWithValue("@custName", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@cnt", mObj.CmdParameters[1]);
sqlCmd.CommandText = _strSql;
break;
case 1510: //当日调整总数小于店铺设定值的店铺列表
_strSql = " select * from t_wmsDeskCustomer a where exists( "
+ " select count(*) ,custname from [epick].[dbo].v_seeds where countout!= count and CAST( createtime AS date) = CAST( GETDATE() AS date) and custname= a.custName group by custname"
+ " having sum(abs(countout -count))< a.diffLimit );";
sqlCmd.CommandText = _strSql;
break;
case 1600:
_strSql = "delete FROM [t_wmsImportSeeds_tmp] where createtime < getdate()-2;" +
"delete FROM [t_wmsImportSeeds] where createtime < getdate()-2;" +
"delete FROM [t_wmsImportSeeds_history] where createtime < getdate()-7;";
sqlCmd.CommandText = _strSql;
break;
}
}
}
}