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

103 lines
5.5 KiB
C#

/// <summary>
///INTERFACE IMPLIMENT FOR TABLE t_wmsOutSeeds
///By wm with codesmith.
///on 08/27/2018
/// </summary>
using System;
using System.Data.SqlClient;
using DeiNiu.Utils;
namespace DeiNiu.wms.Data.Model
{
[Serializable] class WmsOutSeeds_Imp : WmsOutSeeds_base_Imp
{
protected override void CmdPrepare(SqlCommand sqlCmd)
{
base.CmdPrepare(sqlCmd);
WmsOutSeeds mObj = ( WmsOutSeeds)modelObj;
switch (_cust_op_flag)
{
case 99: //query with dic
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM t_wmsOutSeeds 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 t_wmsOutSeeds 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 name
_strSql = "SELECT * FROM t_wmsOutSeeds WHERE NAME = @NAME";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@NAME", mObj.CmdParameters[0] );
break;
case 200: //根据条码,取对应的订单标签数据
_strSql = "SELECT * FROM t_wmsOutSeeds_tmp WHERE deskId = @deskId and seedsNo=@seedsNo and barcode=@barcode";
_strSql += " and state < @statePicked";
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("@statePicked", enumSeedsState.);
break;
case 201: //校验分播单开始次数限制
_strSql = "SELECT * FROM t_wmsOutSeeds WHERE deskId = @deskId and seedsNo=@seedsNo and barcode=@barcode";
_strSql += " and state < @statePicked";
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("@statePicked", enumSeedsState.);
break;
case 300: //开始新的一组播种
string whereStr = " WHERE deskId = @deskId and seedsNo=@seedsNo ";
string whereStrDel = "where deskId = @deskId and seedsNo != @seedsNo and state >= @stateStart";
string cols = "[deskId],[seedsNo],[custOrder] ,[barcode] ,[elabId] ,[port] ,[color] ,[itemName] ,[count] ,[unit] ,[elabAddress] ,[state]";
//_strSql = " update t_wmsOutSeeds_tmp set state =@stateStart " + whereStr; //点亮时更新状态到亮灯
_strSql = "; insert into t_wmsOutSeeds_history ({0}) select {1} from t_wmsOutSeeds_tmp "
+ whereStrDel ; //将旧的已经亮过灯的数据转入历史表
_strSql += "; delete from t_wmsOutSeeds_tmp " + whereStrDel; //将旧的已经亮过灯的数据从临时表删除
_strSql += "; insert into t_wmsOutSeeds_tmp ({2}) select {3} from t_wmsOutSeeds " + whereStr; //转入tmp表
_strSql += "; delete from t_wmsOutSeeds " + whereStr; //转入tmp表
_strSql = string.Format(_strSql, cols, cols, cols, cols);
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
sqlCmd.Parameters.AddWithValue("@stateStart", enumSeedsState.);
break;
case 400: //按灭标签,更新状态
_strSql = "update t_wmsOutSeeds_tmp set state = @statePicked WHERE id =@id";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@id", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@statePicked", mObj.CmdParameters[1]);
break;
case 401: //更新亮灯状态
_strSql = "update t_wmsOutSeeds_tmp set state = @stateLight WHERE id =@id";
_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;
}
}
}
}