
    /i              
           d dl mZmZ d dlZd dlmZ d dlmZ d dl	m
Z
 dededed	ed
ej                  f
dZddeded	edefdZy)    )date	timedeltaN)CompanyDemandForecaster)Session)SessionLocaldb
company_idlocation_id
product_idreturnc                 |    d}t        j                  || j                  |||d      }|j                  ddd      S )Na  
        SELECT company_id, location_id, product_id, sale_date, quantity_sold
        FROM daily_sales
        WHERE company_id = %(company_id)s
          AND location_id = %(location_id)s
          AND product_id = %(product_id)s
        ORDER BY sale_date
    )r	   r
   r   )paramsr   qty_sold)	sale_datequantity_sold)columns)pdread_sqlbindrename)r   r	   r
   r   querydfs         K/var/www/html/hubwallet-dev/src/smart_inventory/core/prediction_pipeline.pyload_history_for_seriesr      sG    E ++eRWW " . B 996JO9PP    horizon_daysc                 \   t               }	 t        || ||      }t        j                         t	        d      z   }t        |      D cg c]  }|t	        |      z    }}t        d      }	|	j                  | ||||      }
|
|j                          S c c}w # |j                          w xY w)N   )daysmodels)	model_dir)r	   
history_dfr
   r   future_dates)	r   r   r   todayr   ranger   predict_for_seriesclose)r	   r
   r   r   r   r"   startir#   
forecasterdf_predss              r   forecast_seriesr,      s    	B,R[*U


ya00;@;NOa	q 11OO,x@
00!!#!% 1 
 

 P 	
s   <B B%B B B+)   )datetimer   r   pandasr   *src.smart_inventory.core.demand_forecasterr   sqlalchemy.ormr   src.utils.dbr   int	DataFramer   r,    r   r   <module>r6      sl    $  N " %Q QS Qs QX[ Q`b`l`l Q" # 3 VY r   