177 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			177 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/// <summary>
							 | 
						|||
| 
								 | 
							
								///INTERFACE IMPLIMENT FOR TABLE t_wmsOutRequest
							 | 
						|||
| 
								 | 
							
								///By wm with codesmith. 
							 | 
						|||
| 
								 | 
							
								///on 05/18/2017
							 | 
						|||
| 
								 | 
							
								/// </summary>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Data.SqlClient;
							 | 
						|||
| 
								 | 
							
								using DeiNiu.Utils; 
							 | 
						|||
| 
								 | 
							
								namespace DeiNiu.wms.Data.Model
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    [Serializable]  class WmsOutRequest_Imp : WmsOutRequest_base_Imp
							 | 
						|||
| 
								 | 
							
								    { 
							 | 
						|||
| 
								 | 
							
								        protected override void CmdPrepare(SqlCommand sqlCmd)
							 | 
						|||
| 
								 | 
							
								        { 
							 | 
						|||
| 
								 | 
							
								            base.CmdPrepare(sqlCmd);
							 | 
						|||
| 
								 | 
							
								            WmsOutRequest mObj = ( WmsOutRequest)modelObj;
							 | 
						|||
| 
								 | 
							
								            switch (_cust_op_flag)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 99:  //query orders with free parameters 
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo  FROM t_wmsOutRequest WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END";
							 | 
						|||
| 
								 | 
							
								                    _strSql += ";SELECT COUNT(*) FROM t_wmsOutRequest WHERE DR = 1  " + mObj.CmdParameters[0].ToString();
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 100:  //by orderNo
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM t_wmsOutRequest WHERE orderNo = @orderNo";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql; 
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@orderNo",   mObj.CmdParameters[0]  );
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 200:  // 
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM t_wmsOutRequest r WHERE state = @state";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (WmsConstants.WAVE_LINE > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        _strSql += " and exists(select 1 from t_tmsLineDetail where custId =r.customerId and lineid =@lineId ) ";
							 | 
						|||
| 
								 | 
							
								                        sqlCmd.Parameters.AddWithValue("@lineId", WmsConstants.WAVE_LINE);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (!string.IsNullOrEmpty(WmsConstants.WAVE_SALE))
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        _strSql += " and salesperson =@sales ";
							 | 
						|||
| 
								 | 
							
								                        sqlCmd.Parameters.AddWithValue("@sales", WmsConstants.WAVE_SALE);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 300:  //get order request detail by ORDERNO
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM t_wmsOutRequestDetail WHERE ORDERNO = @ORDERNO";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@ORDERNO", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 400:  //get order out detail by ORDERNO
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM v_stockOutDetail_wms WHERE ORDERNO = @ORDERNO";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@ORDERNO", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 500: //sync sales order with erp
							 | 
						|||
| 
								 | 
							
								                    // pay attention on the insert order 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    string cols = "[orderNo]  ,[goodsId] ,[batch]  ,[count] ,[bulkCount],[batch1Count],[boxcnt],[productDate],[state]  ,[validDate],[whtype]";
							 | 
						|||
| 
								 | 
							
								                    _strSql  = string.Format(" ; insert into t_wmsoutdetail({0}) SELECT {1} FROM [v_stockOutDetail_available] ", cols, cols); // first insert outdetail
							 | 
						|||
| 
								 | 
							
								                 
							 | 
						|||
| 
								 | 
							
								                    cols =  "[orderNo]  ,[orderSn]  ,[goodsId]  ,[batch]  ,[productDate]  ,[validDate]  ,[Count] ,[saleDate]   ,[state]  ,[whtype]";
							 | 
						|||
| 
								 | 
							
								                    _strSql  += string.Format(" ; insert into t_wmsOutRequestDetail({0}) SELECT {1} FROM [v_stockOutRequestDetail_available] ", cols, cols);//second insert request out detail
							 | 
						|||
| 
								 | 
							
								                    
							 | 
						|||
| 
								 | 
							
								                    cols = "[orderNo],[orderTypeName],[customerId],[customerName],[custAddress] ,[delivery],[phone1],[phone2] ,[salesperson] ,[contactperson] ,[totalnumber],[remark] ,[orderDate]";
							 | 
						|||
| 
								 | 
							
								                    _strSql += string.Format(" ;insert  into t_wmsOutRequest({0}) SELECT {1} FROM [v_stockOutRequest_Available] ", cols, cols); //insert detail first, then main table
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								              
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 600: //get new orders to sync with erp
							 | 
						|||
| 
								 | 
							
								                    
							 | 
						|||
| 
								 | 
							
								                    //_strSql = string.Format("SELECT {0} FROM [v_stockOutRequest_Available] order by customerId", "-1 as id,*");
							 | 
						|||
| 
								 | 
							
								                    _strSql =  "SELECT -1 as id,* FROM [v_stockOutRequest_Available] order by customerId" ;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 800: //get orders by order type and status
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                   // _strSql = "SELECT * FROM [t_wmsoutdetail] a where exists(select 1 from t_wmsoutrequest  where orderNo = a.orderNo and orderType =@orderType and status =@status)";
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT a.*,b.customerId FROM [t_wmsoutdetail] a left outer join t_wmsoutrequest b on a.orderNo = b.orderNo "
							 | 
						|||
| 
								 | 
							
								                                + " where  b.orderType =@orderType and b.status =@status "
							 | 
						|||
| 
								 | 
							
								                                + " order by b.[customerId]";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@status", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql; 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 900: //get order details group by custid
							 | 
						|||
| 
								 | 
							
								                   // string cols2 = "-1 as operater,GETDATE() as lastmodified,true as dr,  -1 as id ";
							 | 
						|||
| 
								 | 
							
								                    _strSql = string.Format("SELECT  {0} FROM [v_stockOutDetailByCust] order by customerName,custAddress ", "*");
							 | 
						|||
| 
								 | 
							
								                          //   + "SELECT * FROM t_wmsOutRequest WHERE state = @state";
							 | 
						|||
| 
								 | 
							
								                    
							 | 
						|||
| 
								 | 
							
								                    //sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql; 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 1000: //get error pickdetails
							 | 
						|||
| 
								 | 
							
								                   
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM [t_wmsOutPickDetail_error] order by pickOrderNo" ;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                  case 1100: //get error pickdetails
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM [v_stockOutRequestSales] ";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                     
							 | 
						|||
| 
								 | 
							
								                case 1200: // update order status
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    _strSql = "update t_wmsOutRequest set state =@state ,pickOrderNo =@pickOrderNo"
							 | 
						|||
| 
								 | 
							
								                              + ",operater =@operId,lastmodified = getdate() "
							 | 
						|||
| 
								 | 
							
								                              +" where   state =@stateOld "
							 | 
						|||
| 
								 | 
							
										                      +" and customerId = @custId and customerName =@custName and custAddress =@custAddress  ";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                   
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@custName", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@custAddress", mObj.CmdParameters[2]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[3]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[4]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@stateOld", mObj.CmdParameters[5]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@operId", mObj.CmdParameters[6]);
							 | 
						|||
| 
								 | 
							
								                    break; 
							 | 
						|||
| 
								 | 
							
								                   
							 | 
						|||
| 
								 | 
							
								                case 1300: //prepare the out request orders for pick 
							 | 
						|||
| 
								 | 
							
								                    _strSql = " update t_wmsOutRequest  set state =@statePrepare "
							 | 
						|||
| 
								 | 
							
								                              + " where state = 0 and not exists(select 1 from [v_stockOutRequestNoStock] "
							 | 
						|||
| 
								 | 
							
								                               + " where orderNo = t_wmsOutRequest.orderNo);";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                       _strSql  += "  update t_wmsOutDetail  set state =@stateNoStock ,description =@descNoStock"
							 | 
						|||
| 
								 | 
							
								                                + ",operater =@operId,lastmodified = getdate() "
							 | 
						|||
| 
								 | 
							
								                                + " where exists(select 1 from [v_stockOutRequestNoStock] "
							 | 
						|||
| 
								 | 
							
								                                +" where id = t_wmsOutDetail.id);";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                       _strSql += "  update t_wmsOutDetail  set state =@stateReady ,description =@descNoStock"
							 | 
						|||
| 
								 | 
							
								                                + ",operater =@operId,lastmodified = getdate() "
							 | 
						|||
| 
								 | 
							
								                                + " where  state =@stateNoStock and not exists(select 1 from [v_stockOutRequestNoStock]"
							 | 
						|||
| 
								 | 
							
								                                + " where id = t_wmsOutDetail.id);";
							 | 
						|||
| 
								 | 
							
								                       
							 | 
						|||
| 
								 | 
							
								                                sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                       sqlCmd.Parameters.AddWithValue("@stateNoStock", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                       sqlCmd.Parameters.AddWithValue("@descNoStock", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                       sqlCmd.Parameters.AddWithValue("@stateReady", mObj.CmdParameters[2]); 
							 | 
						|||
| 
								 | 
							
								                       sqlCmd.Parameters.AddWithValue("@statePrepare", mObj.CmdParameters[3]); 
							 | 
						|||
| 
								 | 
							
								                       sqlCmd.Parameters.AddWithValue("@operId", mObj.CmdParameters[4]);
							 | 
						|||
| 
								 | 
							
								                   
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |