/// ///INTERFACE IMPLIMENT FOR TABLE t_wmsOutPickPort ///By wm with codesmith. ///on 06/15/2017 /// using System; using System.Data.SqlClient; using DeiNiu.Utils; namespace DeiNiu.wms.Data.Model { [Serializable] class WmsOutPickPort_Imp : WmsOutPickPort_base_Imp { protected override void CmdPrepare(SqlCommand sqlCmd) { WaveRule wr; try { base.CmdPrepare(sqlCmd); }catch(Exception er) { LogHelper.WriteLog(this.GetType(), er); } WmsOutPickPort mObj = ( WmsOutPickPort)modelObj; switch (_cust_op_flag) { case 99: //query with dic if (/*1==1 ||*/ mObj.CmdParameters[0].ToString().Contains("saleOrder =")) { _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM [v_stockOutBatchPickDetailWithSaleOrder] WHERE 1 = 1 " + mObj.CmdParameters[0].ToString(); _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY pickpriority ,channel,shelf,layer"; _strSql += ";SELECT COUNT(*) FROM [v_stockOutBatchPickDetailWithSaleOrder] WHERE 1 = 1 " + mObj.CmdParameters[0].ToString(); } else { _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM v_stockOutBatchPickDetail WHERE 1 = 1 " + mObj.CmdParameters[0].ToString(); _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY ID "; _strSql += ";SELECT COUNT(*) FROM v_stockOutBatchPickDetail 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 100: //by name _strSql = "SELECT * FROM t_wmsOutPickPort WHERE NAME = @NAME"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@NAME", mObj.CmdParameters[0]); break; case 200: //by pickorderNo _strSql = "SELECT * FROM v_stockoutport WHERE pickOrderNo = @pickOrderNo "; if (Convert.ToInt16(mObj.CmdParameters[1]) > -1) { _strSql += " and state =@state"; sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]); } sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]); break; case 201: // CLOSE ALL pick stasks that not picked by pickorderNo _strSql = "UPDATE T_WMSOUTPICKPORT SET STATE =@STATE WHERE pickOrderNo = @pickOrderNo and state=0 "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@STATE", (int)enumPickState.已关闭); break; case 300: //get detail by Id // _strSql = "SELECT * FROM [v_stockOutBatchPickDetail] WHERE ID = @Id"; _strSql = "SELECT * FROM [v_stockOutPort] WHERE ID = @Id"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@Id", mObj.CmdParameters[0]); break; case 400: //update state by Id _strSql = "UPDATE t_wmsOutPickPort SET STATE = @STATE ,operater =@operater,lastmodified = getdate() WHERE ID = @Id"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@Id", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]); break; case 401: //update state by pickOrderDetailId, bulk item validation done _strSql = "UPDATE t_wmsOutPickPort SET STATE = @STATE ,operater =@operater,lastmodified = getdate()" + " , checkby=@operater,checkBy2=@checkBy2,checkTime=getdate(),checkByTime2=getdate()" +" WHERE pickDetailId = @pickDetailId"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@pickDetailId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@checkBy2", mObj.CmdParameters[3]); break; case 410: //update state by stockRecordId _strSql = "UPDATE t_wmsOutPickPort SET STATE = @STATE ,pickby=@operater,pickTime=getdate(),operater =@operater,lastmodified = getdate() WHERE recordId = @recordId"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@recordId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[2]); break; case 500: //by pickorderNo( or exclude rep pick order) _strSql = "SELECT COUNT(*) FROM t_wmsOutPickPort WHERE state =@STATE"; if(!WmsConstants.OUT_STOCK_BULK_PDA_SCAN) _strSql += Convert.ToBoolean(mObj.CmdParameters[2].ToString()) ? " and volType > 0" //整库货位 : " and volType <= 0"; //零库货位 if (!string.IsNullOrEmpty(mObj.CmdParameters[0].ToString())) { _strSql += " and pickOrderNo = @pickOrderNo "; sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]); } else if (!string.IsNullOrEmpty(mObj.CmdParameters[3].ToString())) { _strSql += " and waveOrder = @waveOrder "; sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[3]); } else { _strSql += " and waveOrder is not null "; } sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@STATE", mObj.CmdParameters[1]); break; case 600: // get count for flowno and state _strSql = "select count(*) from t_wmsOutPickPort where flowNo =@flowNo " + " and state !=@status"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@status", (int)enumPickState.复核完成); sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); break; /* case 700: // 未分配波次的拣货任务 _strSql = "select * from t_wmsOutPickPort a where 1=1 " + " and exists(select 1 from t_wmsOutPickRequest where pickOrderNo =a.pickOrderNo and state=@orderState)" + " and waveOrder is null and state =@pickState" + " order by tranArea,pickOrderNo,voltype,partion,locationid"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@orderState", (int)enumOutStockRequestStatus.等待波次); sqlCmd.Parameters.AddWithValue("@pickState", (int)enumPickState.未拣); break; */ case 700: // 未分配波次的拣货任务 _strSql = "select top (@cnt) * from v_stockOutPort port where 1=1 " // + " and orderState =@orderState " + " and waveOrder is null " + " and state =@pickState"; wr = (WaveRule)mObj.CmdParameters[0]; if (wr.lineId > 0) { _strSql += " and ( orderType!= @orderType or exists(select 1 from v_tmsLineDetail where custid = port.customerId and lineId =@lineId))"; sqlCmd.Parameters.AddWithValue("@lineId", wr.lineId); } if (!string.IsNullOrEmpty(wr.owner)) { _strSql += " and ( orderType!= @orderType or ownercode =@ownerCode ) "; sqlCmd.Parameters.AddWithValue("@ownerCode", wr.owner); } _strSql += " order by priority desc,partion,channel,pickOrderNo,tranArea,voltype,locationid"; // LogHelper.debug("pick waves ", _strSql); sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@orderState", (int)enumOutStockRequestStatus.等待波次); sqlCmd.Parameters.AddWithValue("@pickState", (int)enumPickState.未拣); sqlCmd.Parameters.AddWithValue("@orderType", (int)enumOrderType.销售出库); sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_JOBS_IN_A_WAVE*20); break; case 701: // 未分配波次的拣货任务 4 dps wave _strSql = "select top(@cnt) * from v_stockOutPort port where recType=1 " + " and dpsorder is null and elabId >0 and voltype=0 "; wr = (WaveRule)mObj.CmdParameters[0]; if (wr.lineId > 0) { _strSql += " and ( orderType!= @orderType or exists(select 1 from v_tmsLineDetail where custid = port.customerId and lineId =@lineId))"; sqlCmd.Parameters.AddWithValue("@lineId", wr.lineId); } if (!string.IsNullOrEmpty(wr.owner)) { _strSql += " and ( orderType!= @orderType or ownercode =@ownerCode ) "; sqlCmd.Parameters.AddWithValue("@ownerCode", wr.owner); } sqlCmd.Parameters.AddWithValue("@orderType", (int)enumOrderType.销售出库); _strSql += " order by pickOrderNo;"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_CONTROL_DATA_IN_A_WAVE * 20); break; case 800: // 根据waveNo 取wave detail 分页数据 _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM v_stockOutPort WHERE waveOrder =@waveNo "; _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY jobNo "; _strSql += ";SELECT COUNT(*) FROM v_stockOutPort WHERE waveOrder =@waveNo "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@START", this._rownumStart); sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd); sqlCmd.Parameters.AddWithValue("@waveNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 801: // 不分页详细数据 _strSql = "select * from t_wmsOutPickPort where waveOrder =@waveNo order by jobNo " ; sqlCmd.Parameters.AddWithValue("@waveNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 900: // get wave detail by waveNo _strSql = "SELECT * FROM [v_stockOutPort] WHERE waveOrder = @waveOrder"; _strSql += " order by volType,part,locationId"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[0]); break; case 910: // get wave detail by waveNo and volType _strSql = "SELECT * FROM [v_stockOutPort] WHERE waveOrder = @waveOrder and volType =@volType"; _strSql += " order by part,locationId"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@volType", mObj.CmdParameters[1]); break; case 920: // get wave detail summary by waveNo and volType = bulk _strSql = "SELECT * FROM [v_stockOutPortSum] WHERE waveOrder = @waveOrder and volType =@volType "; _strSql += " order by pickOrderNo,jobNo"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@waveOrder", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@volType", mObj.CmdParameters[1]); break; case 1000: //by orderNo _strSql = "SELECT * FROM v_stockOutPort WHERE jobNo = @jobNo"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@jobNo", mObj.CmdParameters[0]); break; case 1001: //by flowno _strSql = "SELECT * FROM v_stockOutPort WHERE flowNo = @flowNo and goodsId=@goodsId and isnull(batch,@batch )=@batch ";// or batch is null)"; LogHelper.debug(GetType(), _strSql); sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]); break; case 1002: //by flowno and seedsNo _strSql = "SELECT * FROM v_stockOutPort WHERE pickOrderNo=@seedsNo and flowNo = @flowNo and goodsId=@goodsId and isnull(batch,@batch )=@batch "; LogHelper.debug(GetType(), _strSql); sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[3]); break; case 1100: //getFreeTasks _strSql = "SELECT * FROM [v_stockOutBatchPickDetail] a WHERE cast(createtime as date) = cast(getdate() as date) " + " and jobNo is not null" + " and isnull(takeBy,0) =0 "; if (Convert.ToInt32(mObj.CmdParameters[4]) > 0) { _strSql += " and orderType =@orderType "; sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[4]); } if (!(WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE && WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN)) { if (WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN) { _strSql += " and recType = " + (int)enumStockRecordType.集货拣货; } else if (WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE) { _strSql += " and recType = " + (int)enumStockRecordType.销售出库; } } if (Convert.ToBoolean(mObj.CmdParameters[2])) { _strSql += " and volType>0 "; } _strSql += " and state = " + (int)enumPickState.未拣; if (Convert.ToInt32(mObj.CmdParameters[0]) > 0) { _strSql += " and (partion=0 or partion =@partion)"; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]); } if (Convert.ToInt32(mObj.CmdParameters[1]) > 0) { _strSql += " and isnull(lineid,0) = @lineId"; sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[1]); } if (Convert.ToInt32(mObj.CmdParameters[5]) > 0) { _strSql += " and exists(select 1 from v_empPartions where partion = a.partion and empId=@empId)"; sqlCmd.Parameters.AddWithValue("@empId", mObj.CmdParameters[5]); } _strSql += " order by goodsPickPriority desc, priority desc,pickorderno,locationid"; sqlCmd.CommandText = _strSql; break; case 1110: //getFreeTasks by jobNo _strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] a WHERE cast(createtime as date) = cast(getdate() as date) " + " and jobNo is not null" + " and elabId =0 " + " and isnull(takeBy,0) =0 " + " and ( isWeightSeeds=0 or isWeightSeeds =1 and partion =@partion )"; //区的任务可跨区获取,或获取指定区的任务 sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]); /* // 是否可以获取分配任务 if (Convert.ToBoolean(mObj.CmdParameters[9])) { _strSql += " and recType =12 "; } */ /* * 任务按时间段获取,辣得叫 中午单拣,下午总拣为主, 同时间段内的集中拣货任务优先 if (!(WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE && WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN)) { if (WmsConstants.OUT_SEEDS_PICK_TASK_AUTO_ASSIGN) //集中拣货任务可抢 { _strSql += " and recType = " + (int)enumStockRecordType.集货拣货; } else if (WmsConstants.OUT_TASK_ASSIGN_ZHAIGUO_TYPE) //按单拣货任务可抢 { _strSql += " and recType = " + (int)enumStockRecordType.销售出库; } } */ if (Convert.ToInt32(mObj.CmdParameters[4]) > 0) { _strSql += " and orderType =@orderType "; try { sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[4]); }catch(Exception er) { log.Error( er); } } if (mObj.CmdParameters[6]!=null && ! string.IsNullOrEmpty( mObj.CmdParameters[6].ToString())) { _strSql += " and jobNo =@jobNo "; sqlCmd.Parameters.AddWithValue("@jobNo", mObj.CmdParameters[6]); } if (Convert.ToInt32(mObj.CmdParameters[3]) > 0) { _strSql += " and warehouse =@warehouse "; sqlCmd.Parameters.AddWithValue("@warehouse", mObj.CmdParameters[3]); } if (!string.IsNullOrEmpty(mObj.CmdParameters[7].ToString())) { _strSql += " and pickorderNo =@pickorderNo "; sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[7]); } if (Convert.ToBoolean(mObj.CmdParameters[2])) { _strSql += " and volType>0 "; } _strSql += " and state = " + (int)enumPickState.未拣; if (Convert.ToInt32(mObj.CmdParameters[0]) > 0) { _strSql += " and (partion=0 or partion =@partion)"; //sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]); } if (Convert.ToInt32(mObj.CmdParameters[1]) > 0) { _strSql += " and isnull(lineid,0) = @lineId"; sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[1]); } if (Convert.ToInt32(mObj.CmdParameters[5]) > 0) { _strSql += " and exists(select 1 from v_empPartions where partion = a.partion and empId=@empId)"; sqlCmd.Parameters.AddWithValue("@empId", mObj.CmdParameters[5]); } // _strSql += " order by priority desc,pickorderno,locationid"; if (Convert.ToBoolean(mObj.CmdParameters[8])) { // _strSql += " order by priority desc,seedspickno desc, goodsid"; _strSql += " order by goodsPickPriority desc, priority desc, goodsid"; } else { _strSql += " order by goodsPickPriority desc, priority desc,lineId,lineorder, pickorderNo , virtialCnt, warehouse,partion,channel,shelf,col,layer,goodsid"; } // LogHelper.debug(GetType(), _strSql); sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_JOBS_IN_A_WAVE*5); sqlCmd.CommandText = _strSql; break; case 1120: //getFreeTasks by pickorder _strSql = "SELECT * FROM [v_stockOutBatchPickDetail] WHERE " + " jobNo is not null" + // " and elabId =0 " + " and isnull(takeBy,0) =0 "+ " and pickorderNo =@pickorderNo "+ // " order by priority desc,lineId,lineorder, pickorderNo , virtialCnt," + " order by warehouse,partion,channel,shelf,col,layer,goodsid"; sqlCmd.CommandText = _strSql; // LogHelper.debug(GetType(), _strSql); //sqlCmd.Parameters.AddWithValue("@takeBy", 5000); // sqlCmd.Parameters.AddWithValue("@cnt", 5000); sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[0]); break; case 1200: //getAssignedTasks by takeby _strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] WHERE 1=1 " + " and cast(createtime as date) = cast(getdate() as date) "; // + " and elabId = 0 " ; if (Convert.ToInt32(mObj.CmdParameters[10]) <= 0) { _strSql += " and state = 0 "; //未拣任务 } else { _strSql += " and state >= @state "; //已分拣、播种 } // _strSql += " and (owner=@takeBy or takeBy =@takeBy) "; _strSql += " and ( takeBy =@takeBy) "; // _strSql += String.Format(" and ( takeBy ='{0}') ", mObj.CmdParameters[0]); _strSql += " and jobNo is not null "; if (Convert.ToInt32(mObj.CmdParameters[9]) > 0) { _strSql += " and orderType =@orderType "; sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[9]); } if (Convert.ToBoolean(mObj.CmdParameters[8])) { _strSql += " and volType>0 "; } /* _strSql += " and isnull(lineid,0) = @lineId" + " and isnull(partion,0) =@partion" + " and takeBy =@takeBy" + " order by priority desc,locationid"; _strSql += " and isnull(takeBy,0) =@takeby"; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[1]); */ if (Convert.ToInt32( mObj.CmdParameters[7])>0){ _strSql += " and isnull(lineid,0) = @lineId"; sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[7]); } if (Convert.ToInt32(mObj.CmdParameters[6]) > 0) { _strSql += " and partion =@partion"; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[6]); } if (Convert.ToInt32(mObj.CmdParameters[10]) > 0) //播种 { _strSql += " and isnull( pickTime,getdate()-100) > getdate()-1 " + " and DATEPART(dd, isnull( pickTime,getdate()-5) ) = DATEPART(dd, getdate()) "; _strSql += " order by pickTime desc "; } else { // _strSql += " order by priority desc,linepriority desc, pickorderNo ,/* virtialCnt,*/ warehouse,partion,locationId,channel,shelf,col,layer,goodsid"; _strSql += " order by goodsPickPriority desc, priority desc,lineId,lineorder, pickorderNo , /* virtialCnt,*/ warehouse,partion,channel,shelf,col,layer,goodsid"; } // LogHelper.debug(GetType(), _strSql); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[10]); // _strSql += " order by priority desc,customerid,locationid"; sqlCmd.Parameters.AddWithValue("@takeBy", mObj.CmdParameters[5]); sqlCmd.Parameters.AddWithValue("@cnt", WmsConstants.MAX_JOBS_IN_A_WAVE); sqlCmd.CommandText = _strSql; break; case 1300: //get assigned Tasks by pda //for wince use _strSql = "SELECT [货区], [货位] ,[件],[线路],[数量],[商品] ,[分配人] " + " FROM [v_stockOutBatchPickDetail4Wince] WHERE state = " + (int)enumPickState.未拣 ; _strSql += " and orderType =@orderType "; sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[4]); if (Convert.ToBoolean(mObj.CmdParameters[3])) { _strSql += " and volType>0 "; } _strSql += " and isnull(takeBy,0) =@takeby"; if(Convert.ToInt32( mObj.CmdParameters[2])>0){ _strSql += " and isnull(lineid,0) = @lineId"; sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[2]); } if (Convert.ToInt32(mObj.CmdParameters[1]) > 0) { _strSql += " and partion =@partion"; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]); } _strSql += " order by priority desc,货位"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@takeby", mObj.CmdParameters[0]); break; case 1400: //get partions _strSql = " select flag as [partion] , name as [partName] from t_node where parentid=16753"; sqlCmd.CommandText = _strSql; break; case 1401: //get partion by userid _strSql = "SELECT distinct [partion] ,[partName] FROM [v_empPartions] "; _strSql += " where empid =@empId "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@empId", mObj.CmdParameters[0]); break; case 1500: //get partion by userid _strSql = "SELECT * from t_wmsOutPickPort where recordId=@recId "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@recId", mObj.CmdParameters[0]); break; case 1600: //update bulkpickstatus by pickOrder ,seeds finished one pickorder _strSql = " update t_wmsOutPickPort set state =@state " +", checkby=@checkBy,checktime=getdate(),checkBy2=@checkBy2,checkByTime2=getdate()" +" where voltype =0 " + " and pickOrderNo=@pickorderNo " ; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@checkBy", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@checkBy2", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[3]); break; case 1700: //get partion by userid _strSql = "SELECT * from [v_repStockOutInTasks] where takeBy =@takeBy "; _strSql += " and state =@state"; if(Convert.ToInt32(mObj.CmdParameters[1].ToString())>0){ _strSql += " and partion =@partion"; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]); } sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@takeBy", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[2]); break; case 1800://get seeds out detail by flowno _strSql = "SELECT * from [v_stockOutPortSeedsDetail] where flowNo=@flowNo " + "order by goodsId"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); break; case 1810://get seeds out detail by flowno, order by cust line order _strSql = "SELECT * from [v_stockOutPortSeedsDetail] where flowNo=@flowNo " + "order by lineOrder "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); break; case 1801://get seeds out detail by flowno // _strSql = "SELECT * from [v_stockOutPortSeedsPickDetail] where flowNo=@flowNo " + // "order by goodsId"; _strSql = "SELECT * from [v_stockOutValidInSeedsDetail] where flowNo=@flowNo " + //直通分播商品按检验入拖的先入后出原则分播; //集中贱货商品按拣货时间排序,后拣货的排前面 "order by picktime desc, goodsId,lineid, lineOrder"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); break; case 1811://get seeds out detail by flowno, order by cust line order // _strSql = "SELECT * from [v_stockOutPortSeedsPickDetail] where flowNo=@flowNo " + // "order by lineid, lineOrder,customerid "; _strSql = "SELECT * from [v_stockOutValidInSeedsDetail] where flowNo=@flowNo " +//直通分播商品按检验入拖的先入后出原则分播; 集中拣货商品按店铺线路顺序排序 "order by createtime, lineid, lineOrder,customerid "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]); break; case 1900://get seeds out detail by flowno, order by cust line order // _strSql = " SELECT distinct flowNo from [v_stockOutPortSeedsDetail] where availableCnt>0 "; _strSql = " SELECT distinct flowNo from [v_stockOutPortSeedsPickDetail] where availableCnt>0 "; sqlCmd.CommandText = _strSql; break; case 2000://get portdetails by pickdetailid and pick state _strSql = " SELECT * from v_stockoutport where pickdetailId =@detailId and state =@state"; sqlCmd.Parameters.AddWithValue("@detailId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]); sqlCmd.CommandText = _strSql; break; case 2100://get portdetails cnt by pickdetailid and pick state _strSql = " SELECT count(1) from v_stockoutport where pickdetailId =@detailId and state =@state"; sqlCmd.Parameters.AddWithValue("@detailId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]); sqlCmd.CommandText = _strSql; break; case 2200:// _strSql = " SELECT * FROM [v_stockOutPortSumLight] WHERE state =0 and takeby=@takeby "; if (Convert.ToInt16( mObj.CmdParameters[1].ToString())>0) { _strSql += " and partion=@partion "; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]); } if (Convert.ToInt16(mObj.CmdParameters[2].ToString()) > 0) { _strSql += " and orderType=@orderType" ; sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[2]); } sqlCmd.Parameters.AddWithValue("@takeby", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 2210:// get by light _strSql = " SELECT * FROM [v_stockOutPortSumLight] WHERE state =@state"; if (Convert.ToInt16(mObj.CmdParameters[1].ToString()) > 0) { _strSql += " and part=@partion "; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]); } if (Convert.ToInt16(mObj.CmdParameters[2].ToString()) > 0) { _strSql += " and lineId=@lineId "; sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[2]); } _strSql += " and orderDate=@orderDate "; _strSql += " order by lineId,customerName "; sqlCmd.Parameters.AddWithValue("@orderDate", mObj.CmdParameters[3]); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 2220:// get no light tasks _strSql = " SELECT * FROM [v_stockOutPortSumNoLightByPickOrder] WHERE state =@state"; /* if (Convert.ToInt16(mObj.CmdParameters[1].ToString()) > 0) { _strSql += " and part=@partion "; sqlCmd.Parameters.AddWithValue("@partion", mObj.CmdParameters[1]); }*/ if (Convert.ToInt16(mObj.CmdParameters[4].ToString()) > 0) { _strSql += " and warehouse=@warehouse "; sqlCmd.Parameters.AddWithValue("@warehouse", mObj.CmdParameters[4]); } if (Convert.ToInt16(mObj.CmdParameters[2].ToString()) > 0) { _strSql += " and lineId=@lineId "; sqlCmd.Parameters.AddWithValue("@lineId", mObj.CmdParameters[2]); } _strSql += " and orderDate=@orderDate "; _strSql += mObj.CmdParameters[5].ToString(); _strSql += " order by lineId,customerName "; sqlCmd.Parameters.AddWithValue("@orderDate", mObj.CmdParameters[3]); sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 2300:// _strSql = " SELECT id as portId, * FROM v_stockoutport WHERE jobNo =@jobNo " + " and elabId>0 order by lineid desc"; sqlCmd.Parameters.AddWithValue("@jobNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 2400:// _strSql = " SELECT id as portId, * FROM v_stockoutport WHERE pickorderNo =@pickorderNo " + " and elabId>0 order by lineid desc "; sqlCmd.Parameters.AddWithValue("@pickorderNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 2500:// _strSql = " select * from [v_stockSeedsDeskLight] where 1=1 " + " and flowno =@flowno" + " and deskId= @deskId" + " and (barcode=@barcode or goodsId=@barcode) "; sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@flowno", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[2]); sqlCmd.CommandText = _strSql; break; } sqlCmd.CommandText = _strSql; } } }