
    /i                     t    d dl Zd dlmZ d dlmZ d dlmZ d dlm	Z	 dede
dej                  fd	Zde
defd
Zy)    N)Session)date)CompanyDemandForecaster)SessionLocaldb
company_idreturnc           
          d}t        j                  || j                  |t        ddd      d      }|j	                  ddd	      }|S )
z/
    Example: pull from daily_sales table.
    z
        SELECT company_id, location_id, product_id, sale_date, quantity_sold
        FROM daily_sales
        WHERE company_id = %(company_id)s
          AND sale_date >= %(start_date)s
    i     )r   
start_date)paramsr   qty_sold)	sale_datequantity_sold)columns)pdread_sqlbindr   rename)r   r   querydfs       F/var/www/html/hubwallet-dev/src/smart_inventory/core/train_pipeline.pyload_training_data_for_companyr      sP    E 

(T1a8HI
B 
*M	NBI    c                     t               }	 t        ||       }t        d      }|j                  ||       }||j	                          S # |j	                          w xY w)Nmodels)	model_dir)r   r   r   train_company_modelclose)r   r   r   
forecaster
model_paths        r   train_company_demand_modelr"      sL    	B+B
;,x@
33B
C



s   +A A)pandasr   sqlalchemy.ormr   datetimer   *src.smart_inventory.core.demand_forecasterr   src.utils.dbr   int	DataFramer   strr"    r   r   <module>r,      sE     "  N %w C BLL (3 3 r   