/// ///INTERFACE IMPLIMENT FOR TABLE t_wmsOutSeeds ///By wm with codesmith. ///on 08/27/2018 /// 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; } } } }