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

153 lines
9.3 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 = "[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;
}
}
}
}