+
    i                     n   R t ^ RIHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IHt ^ RIHt ]! RR.R7      t ! R R]4      t]P9                  R4      ]! ]4      3R R ll4       t]P9                  R4      ]! ]4      3R R ll4       t]P?                  R4      ]! ]4      3R R ll4       t ]PC                  R4      ]! ]4      3R R ll4       t"]PG                  R4      ]! ]4      3R R ll4       t$]P9                  R4      ]! ]4      3R R  ll4       t%R!# )"z'
Routes FastAPI pour le planning Gantt
)	APIRouterDependsHTTPExceptionSession)	BaseModel)Optional)datetime)get_db)TachePlanning)ProjetNiveauPiece)Client)	Operateur)	TypePiecez/api/planningplanning)prefixtagsc                   @   a  ] tR t^t o RtRtRtRtRtV 3R lt	Rt
V tR# )TacheCreateNplanifiec                   < V ^8  d   Qh/ S[ ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   # )	   	projet_id	niveau_idpiece_idoperateur_id
date_debutdate_finstatutcommentaire)intr   str)format__classdict__s   "eC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\app\routes\planning.py__annotate__TacheCreate.__annotate__   sz     N }#  sm"  3-&	 
 O  M  SM&  #%      )__name__
__module____qualname____firstlineno__r   r   r   r    r!   __annotate_func____static_attributes____classdictcell__)r%   s   @r&   r   r      s'     #I"H"&L 'F!%K  r)   r   z/tachesc                $    V ^8  d   QhR\         /# r   dbr   )r$   s   "r&   r'   r'       s     ( (W (r)   c                 V	   V P                  \        4      P                  4       p. pV EF|  pV P                  \        4      P	                  \        P
                  VP                  8H  4      P                  4       pV'       d`   VP                  '       dN   V P                  \        4      P	                  \        P
                  VP                  8H  4      P                  4       MR pVP                  '       dN   V P                  \        4      P	                  \        P
                  VP                  8H  4      P                  4       MR pVP                  '       dN   V P                  \        4      P	                  \        P
                  VP                  8H  4      P                  4       MR pVP                  '       dN   V P                  \        4      P	                  \        P
                  VP                  8H  4      P                  4       MR pTP!                  / RVP
                  bRVP                  bRV'       d   VP"                  MRbRV'       d   VP$                  MR bRVP                  bRV'       d   VP"                  MR bRVP                  bR	V'       d   VP&                  MR bR
V'       d   VP(                  MR bRV'       d   VP*                  MR bRV'       d   VP,                  MR bRV'       d   VP.                  MR bRV'       d   VP0                  MR bRV'       d   VP2                  MR bRV'       d   VP4                  MR bRV'       d   VP6                  MR bRVP                  bRV'       d   VP8                   RVP"                   2MR RV'       d   VP:                  MRRVP<                  RVP>                  RVP@                  RVPB                  RV'       dU   R ! V P                  \D        4      P	                  \D        P"                  VP(                  8H  4      P                  4       4      MR RV'       d   VPF                  MR RV'       d   VPH                  MRR V'       d   VPJ                  MR R!V'       d   VPL                  MR R"V'       d   VPN                  M^ /C4       EK  	  V# )#Nidr   
projet_nomu   —
client_nomr   
niveau_nomr   	piece_ref
piece_typepiece_quantitepiece_volume_unitairepiece_volume_totalpiece_type_betonpiece_epaisseurpiece_largeurpiece_longueurr   operateur_nom operateur_couleurz#4facfer   r   r    r!   piece_temps_unitairec                 .    V '       d   V P                   # ^ # )    )temps_unitaire)tps   &r&   <lambda>liste_taches.<locals>.<lambda>A   s    R0A0A0NQ0Nr)   piece_statut_realisationpiece_plans_fabriquesFpiece_heures_budgeteespiece_heures_reelles piece_heures_reelles_verrouillee)(queryr   allr   filterr6   r   first	client_idr   r   r   r   r   r   r   appendnomraison_sociale	reference
type_piecequantitevolume_unitairevolume_total
type_beton	epaisseurlargeurlongueurprenomcouleurr   r   r    r!   r   statut_realisationplans_fabriquesheures_budgeteesheures_reellesheures_reelles_verrouillee)	r4   tachesresulttprojetclientpieceniveau	operateurs	   &        r&   liste_tachesrr      s   XXm$((*FF&!((akk)ABHHJSY^d^n^n^n&!((f6F6F)FGMMOtxJK***&&uxx1::'=>DDFZ^NOkkk&!((akk)ABHHJ_cZ[ZhZhZhBHHY'..y||q~~/MNTTVnr	 
!$$

 &**E
 6&//t	

 
 &**D
 


 Et
 e%**
 enn4
 $eU%:%:
 !%"4"44
 E 0 0t
 %uT
 eU]]
  enn4!
" ANN#
$ i	 0 019==/BUYi!2!2Y!,,

ahh1=="  [`%NPRPXPXYbPcPjPjktkxkx  }B  }M  }M  lM  QN  QT  QT  QV  %W  fj&E(@(@t#eU%:%:$e&<&<4"EE$8$8t.TY0P0P_`;
 	 J Mr)   z/taches/jour/{date}c                0    V ^8  d   QhR\         R\        /# )r   dater4   )r#   r   )r$   s   "r&   r'   r'   L   s       ' r)   c                     VP                  \        4      P                  \        P                  V 8*  \        P                  V 8  4      P                  4       pV# )N)rR   r   rT   r   r   rS   )rt   r4   rj   s   && r&   taches_du_jourrv   K   sJ    XXm$++  D($& 
ce  Mr)   c                0    V ^8  d   QhR\         R\        /# )r   datar4   )r   r   )r$   s   "r&   r'   r'   U   s      k w r)   c                 t   \        V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  \        P                  ! 4       P                  4       R 7	      pVP                  V4       VP                  4        VP                  V4       V# ))	r   r   r   r   r   r   r    r!   date_creation)r   r   r   r   r   r   r   r    r!   r	   utcnow	isoformataddcommitrefresh)rx   r4   taches   && r&   creer_tacher   T   s    ....&&??{{$$oo'113
E FF5MIIKJJuLr)   z/taches/{tache_id}c                <    V ^8  d   QhR\         R\        R\        /# )r   tache_idrx   r4   )r"   r   r   )r$   s   "r&   r'   r'   h   s!      S   r)   c                    VP                  \        4      P                  \        P                  V 8H  4      P	                  4       pV'       g   \        R R4      hVP                  Vn        VP                  Vn        VP                  Vn        VP                  Vn	        VP                  Vn
        VP                  Vn        VP                  Vn        VP                  Vn        VP                  4        V# )     Tâche introuvable)rR   r   rT   r6   rU   r   r   r   r   r   r   r   r    r!   r~   )r   rx   r4   r   s   &&& r&   modifier_tacher   g   s    HH]#**=+;+;x+GHNNPEC!566nnEOnnEO]]EN**EE]]EN;;EL((EIIKLr)   c                0    V ^8  d   QhR\         R\        /# )r   r   r4   )r"   r   )r$   s   "r&   r'   r'   y   s      c w r)   c                     VP                  \        4      P                  \        P                  V 8H  4      P	                  4       pV'       g   \        R R4      hVP                  V4       VP                  4        RR/# )r   r   okT)rR   r   rT   r6   rU   r   deleter~   )r   r4   r   s   && r&   supprimer_tacher   x   s_    HH]#**=+;+;x+GHNNPEC!566IIeIIK$<r)   z/projets-validesc                $    V ^8  d   QhR\         /# r3   r   )r$   s   "r&   r'   r'      s     ! ! !r)   c                    V P                  \        4      P                  \        P                  R8H  4      P	                  4       p. pV EF  pV P                  \
        4      P                  \
        P                  VP                  8H  4      P	                  4       p. pV EF  pV P                  \        4      P                  \        P                  VP                  8H  4      P	                  4       pTP                  RVP                  RVP                  RVP                  RVP                  RV Uu. uFe  pRVP                  RVP                  RVP                  R	VP                   R
VP"                  RVP$                  RVP&                  RVP(                  /NKg  	  up/4       EK  	  VP*                  '       dN   V P                  \,        4      P                  \,        P                  VP*                  8H  4      P/                  4       MRp	TP                  RVP                  RVP                  RVP*                  RV	'       d   V	P0                  MRRV/4       EK  	  V# u upi )uI   Retourne les projets validés avec leurs niveaux et pièces pour le Ganttvalider6   rX   date_reception_armaturesdate_livraison_chantierpiecesrZ   r[   r\   re   r`   ra   rb   Nrn   r8   niveaux)rR   r   rT   r    rS   r   r   r6   r   r   rW   rX   r   r   rZ   r[   r\   re   r`   ra   rb   rV   r   rU   rY   )
r4   projetsrk   pr   niveaux_datanr   pcrn   s
   &         r&   projets_validesr      s    hhv%%fmmx&?@DDFGF((6"))&*:*:add*BCGGIAXXe_++EOOqtt,CDHHJFaddquu*A,F,F)1+D+D #	$ #b "%% "--("*?*?rzz	 #	$!  $ OPkkk&!((akk)ABHHJ_c!$$155akk6&//t|
 	- : M'	$s   .A+IN)&__doc__fastapir   r   r   sqlalchemy.ormr   pydanticr   typingr   r	   app.databaser
   app.models.tache_planningr   app.models.projetr   r   r   app.models.clientr   app.models.operateurr   app.models.type_piecer   routerr   getrr   rv   postr   putr   r   r   r   r*   r)   r&   <module>r      s*   6 5 "     3 3 3 $ * +	/	=&) & I&v ( (V !",3FO  # Y18  $  !CJ6?  "  #$18  % ")&/ !  !r)   