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

153 lines
9.3 KiB
C#
Raw Permalink Normal View History

2023-05-23 16:13:17 +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], [elabId] ,[port],[seedsNo] ,[barcode] ,[custName] ,[itemName] ,[count] ,[countOut] ,[unit] ,[category1] ,[category2],[category3] ,[spec] ,[elabAddress] ,[description],[picktime],[createtime]";
_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 += ";insert t_wmsImportSeeds_history({0},[state],[operater],[lastmodified]) "
+ " select {1},[state],[operater],[lastmodified] from t_wmsImportSeeds_tmp";//把历史已完成分拣的数据导入history
_strSql += " where state={3}";
_strSql += ";delete from t_wmsImportSeeds_tmp WHERE state={3} ";
_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]);
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 (/*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;
}
}
}
}