838 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			838 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
 | |
| /// <summary>
 | |
| ///INTERFACE IMPLIMENT FOR TABLE t_wmsOutPickPort
 | |
| ///By wm with codesmith. 
 | |
| ///on 06/15/2017
 | |
| /// </summary>
 | |
| 
 | |
| 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 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)
 | |
|                         {
 | |
|                             LogHelper.WriteLog(this.GetType(), er);
 | |
|                             LogHelper.debug("wmsoutpickport_imp",er.StackTrace);
 | |
|                         }
 | |
|                     }
 | |
|                      
 | |
| 
 | |
|                     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  priority desc, goodsid";
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         _strSql += " order by  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 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  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;
 | |
|         
 | |
|         }
 | |
|     }
 | |
| } |