
    dh                     Z    d dl Zd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZ d dlmZ d Zd ZdS )    N)relativedelta)Decimal)PleinEntretienPlanEntretienRealiseEntretienPlanningVehicule)Sumc                  f    t           j                                        D ]} t          |            d S )N)r	   objectsall$generateEntretienPlanningForVehicule)currentVehicules    @/var/www/histauto/Histauto/cronjobs/generateEntretienPlanning.pygenerateEntretienPlanningr      s;    #+//11 > >,_====> >    c                 >   t           j                                        }t          j                            |                               d                                          }||                                |j        z
  t          j	        d          k    rd}njt          j                            | |t          j	        d          z
  |f          }|
                    t          d                    d         }||d	z  nd}t          j                            |           D ]}t          j                            | |j        
                              d                                          }|t          d          z   }|t          j	        |                                          z
  }	|	                                }
|P|j        k|j        |j        z   }||j        z
  |z  }|t          j	        t'          |                    z   }|t          j	        |                                          z
  }	|j        T|j        t          t'          |j                            z   }|t          j	        |                                          z
  }
t+          |	                                |
          }t,          j                            | |j        |                                           t,          j                            | |j        ||          }d S d S )N)vehiculez-date   )weeks2   )r   date__rangedistancedistance__sum   )r   pieces<   )months)days)r   piecedate__gt)r   r    datekilometrage)dtdatetimetodayr   r   filterorder_byfirstr"   	timedelta	aggregater
   r   r   r    r   weekdayr   r#   int
intervalleminr   deleteget_or_create)r   r&   dernierKilometragedistanceHebdo	pleinListdistanceSumcurrentEntretienPlandernierEntretiendate_cible_distancedate_cible_distance_lundidate_cible_intervalle_lundikilometrage_ciblenb_semaines_restantesdate_cible_intervalledate_retenueentretienPlannings                   r   r   r      s<   !!##"]11?1KKTTU\]]ccee)

166",Q:O:O:OOO "!M00/>CblYZF[F[F[>[]b=c 1 e e	'11#j//BB?S6A6M!1!1SU(5(=(D(Do(D(^(^ g g$#3#;#B#BOJ^Jd $C $f $ffnfng g"UWW ! ',m2.F.F.F&F#,?",TgToToTqTqBrBrBr,r).G.L.L.N.N+#/+4@,<,HK_Kh,h)1BEWEc1cgt0t-.3blMbIcIc6d6d6d.d+4G",\o\w\w\y\yJzJzJz4z1+6B0@0E]`au  bA  ^B  ^B  IC  IC  IC  1C-6Kbl`u`}`}``  OA  OA  OA  7A3#&'@'E'E'G'GId#e#eL%-44oUiUo>C 5 E EEKVXXX(9(A(O(OYhNbNho{Te )P )g )g%I *)g gr   )r%   r$   dateutil.relativedeltar   decimalr   histauto.modelsr   r   r   r   r	   django.db.modelsr
   r   r    r   r   <module>rE      s        0 0 0 0 0 0       _ _ _ _ _ _ _ _ _ _ _ _ _ _            > > >+g +g +g +g +gr   