| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |  | 
					
						
							|  |  |  |  | /// <summary> | 
					
						
							|  |  |  |  | ///INTERFACE IMPLIMENT FOR TABLE t_tmsStock | 
					
						
							|  |  |  |  | ///By wm with codesmith.  | 
					
						
							|  |  |  |  | ///on 07/27/2017 | 
					
						
							|  |  |  |  | /// </summary> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | using System; | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  | using System.Data.SqlClient; | 
					
						
							|  |  |  |  | using DeiNiu.Utils; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | namespace DeiNiu.wms.Data.Model | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     [Serializable]  class TmsStock_Imp : TmsStock_base_Imp | 
					
						
							|  |  |  |  |     {  | 
					
						
							|  |  |  |  |         protected override void CmdPrepare(SqlCommand sqlCmd) | 
					
						
							|  |  |  |  |         {  | 
					
						
							|  |  |  |  |             base.CmdPrepare(sqlCmd); | 
					
						
							|  |  |  |  |             TmsStock mObj = ( TmsStock)modelObj; | 
					
						
							|  |  |  |  |             switch (_cust_op_flag) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |              case 99:  //query with dic | 
					
						
							|  |  |  |  |                     _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo  FROM t_tmsStock  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_tmsStock  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_tmsStock WHERE NAME = @NAME"; | 
					
						
							|  |  |  |  |                     sqlCmd.CommandText = _strSql;  | 
					
						
							|  |  |  |  |                      sqlCmd.Parameters.AddWithValue("@NAME",   mObj.CmdParameters[0]  ); | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case 200:  //to find free location  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     string locationId = mObj.CmdParameters[0].ToString(); | 
					
						
							| 
									
										
										
										
											2023-05-23 23:33:56 +08:00
										 |  |  |  |                     _strSql = "  SELECT TOP (@cnt) LOC.* FROM t_wmsLocation LOC WHERE LOC.STATE = " + (int)DeiNiu.Utils.enumStockLocationStatus.正常 | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                                 + " AND (isnull(loc.transLine,0) =@transLine or isnull(loc.transLine,0) = 0)" | 
					
						
							|  |  |  |  |                                 + " AND LOC.VOLTYPE = @VOLTYPE AND LOC.WHTYPE =@WHTYPE AND NOT EXISTS (SELECT 1 FROM T_TMSSTOCK WHERE LOCATIONID = LOC.LOCATIONID) " | 
					
						
							|  |  |  |  |                                ; | 
					
						
							|  |  |  |  |                     /* | 
					
						
							|  |  |  |  |                     if (!string.IsNullOrEmpty(locationId)) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         _strSql = _strSql + " AND   LOCATIONID < @LOCATIONID  ORDER BY LOC.layer,LOC.locationId DESC;" //货位序号小优先 | 
					
						
							|  |  |  |  |                                  + _strSql + " AND   LOCATIONID > @LOCATIONID  ORDER BY LOC.layer,LOC.locationId ;"; | 
					
						
							|  |  |  |  |                     }*/ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     _strSql += " ORDER BY loc.transLine, LOC.layer,LOC.locationId DESC;"; //线路货位不足,取公共货位  | 
					
						
							|  |  |  |  |                       | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@transLine", mObj.CmdParameters[0]); | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@VOLTYPE", mObj.CmdParameters[1]); | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@cnt", mObj.CmdParameters[2]); | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@WHTYPE", mObj.CmdParameters[3]); | 
					
						
							|  |  |  |  |                     sqlCmd.CommandText = _strSql; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case 300:  //get line 整货集货货位 where the cust in | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     _strSql = "SELECT top 1 locationId FROM v_tmsLineLocation WHERE custId = @custId and  volType = @volType "; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     sqlCmd.CommandText = _strSql; | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]); | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.分拣集货); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     break; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                 case 301:  //get public  集货货位  | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     _strSql = "  SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and  volType = @volType "; | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.分拣集货); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     sqlCmd.CommandText = _strSql;  | 
					
						
							|  |  |  |  |                     break; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                 case 302:  //get public  集货货位  | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     _strSql = "  SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and  volType = @volType   "; | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.取总分播区); | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     sqlCmd.CommandText = _strSql; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                 case 400:  //get 零货集货信息 | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     _strSql = "  SELECT * from  v_tmsPickRequestBulks where pickOrderNo =@pickOrderNo and (volType =  @volType or volType = @volType2)  "; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                    // _strSql = "  SELECT * from  v_tmsPickRequestBulksNoRealLocation where pickOrderNo =@pickOrderNo   "; | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]); | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.散货拼箱); | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@volType2", (int)enumWhLocVol.散货拼袋); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     sqlCmd.CommandText = _strSql; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 case 500:  //get line 整货集货货位 where the cust in | 
					
						
							|  |  |  |  |                     _strSql = "delete from t_tmsstock where pickorderno=@pickorderno "; | 
					
						
							|  |  |  |  |                     sqlCmd.CommandText = _strSql; | 
					
						
							|  |  |  |  |                     sqlCmd.Parameters.AddWithValue("@pickorderno", mObj.CmdParameters[0]); | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |