§
    t�’ja  ã                  óL  — d Z ddlmZ ddlmZmZ ddlmZ ddlmZ ddl	m
Z
mZ  G d„ dee¦  «        Z G d	„ d
e
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        ZdS )z?Schemas for Mobile Site Operations & Material Requisition (MR).é    )Úannotations)ÚdateÚdatetime©ÚDecimal)ÚEnum)Ú	BaseModelÚFieldc                  ó"   — e Zd ZdZdZdZdZdZdS )ÚMRStatusEnumÚDRAFTÚ	SUBMITTEDÚAPPROVEDÚREJECTEDÚ	FULFILLEDN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   © ó    ú8C:\Projects\DSCons\app\models\site_operations_schemas.pyr   r      s'   € € € € € Ø€EØ€IØ€HØ€HØ€I€I€Ir   r   c                  ó¨   — e Zd ZU ded<   ded<   ded<    ed„ ¬¦  «        Zded<    ed	„ ¬¦  «        Zded
<    ed„ ¬¦  «        Zded<   dZded<   dS )ÚMaterialRequisitionItemÚstrÚ	item_codeÚmaterial_nameÚunitc                 ó    — t          d¦  «        S ©Nz0.0000r   r   r   r   ú<lambda>z MaterialRequisitionItem.<lambda>   s   € ½7À8Ñ;LÔ;L€ r   ©Údefault_factoryr   Úrequested_qtyc                 ó    — t          d¦  «        S r   r   r   r   r   r    z MaterialRequisitionItem.<lambda>   ó   € ½'À(Ñ:KÔ:K€ r   Úapproved_qtyc                 ó    — t          d¦  «        S r   r   r   r   r   r    z MaterialRequisitionItem.<lambda>   ó   € ÅÈÑARÔAR€ r   Úunit_price_estimateNú
str | NoneÚnotes)	r   r   r   Ú__annotations__r
   r#   r&   r)   r+   r   r   r   r   r      s¨   € € € € € € Ø€N€N�NØÐÐÑØ€I€I�IØ"˜UÐ3LÐ3LÐMÑMÔM€MÐMÐMÐMÑMØ!˜EÐ2KÐ2KÐLÑLÔL€LÐLÐLÐLÑLØ#( 5Ð9RÐ9RÐ#SÑ#SÔ#SÐÐSÐSÐSÑSØ€EÐÐÐÑÐÐr   r   c                  óh   — e Zd ZU ded<   dZded<   dZded<   ded	<   ded
<   ded<   ded<   ded<   dS )Ú MaterialRequisitionCreateRequestr   Úproject_codeNr*   Úwbs_task_codeÚNORMALÚurgencyr   Úrequired_dateÚrequester_nameúlist[MaterialRequisitionItem]ÚitemsÚdelivery_locationÚreason)r   r   r   r,   r0   r2   r   r   r   r.   r.      sw   € € € € € € ØÐÐÑØ $€MÐ$Ð$Ð$Ñ$Ø€GÐÐÐÑØÐÐÑØÐÐÑØ(Ð(Ð(Ñ(ØÐÐÑØ€K€K�K€K€Kr   r.   c                  óÚ   — e Zd ZU ded<   ded<   ded<   dZded<   ded<   d	ed
<   ded<   ded<   dZded<   dZded<    ed„ ¬¦  «        Zded<    ee	¬¦  «        Z
ded<   ded<   ded<   dS )ÚMaterialRequisitionRecordr   Úmr_idr/   Úproject_nameNr*   r0   r2   r   Ústatusr   r3   r4   Úapprover_nameúdatetime | NoneÚapproval_timestampc                 ó    — t          d¦  «        S r   r   r   r   r   r    z"MaterialRequisitionRecord.<lambda>4   s   € ÅGÈHÑDUÔDU€ r   r!   r   Útotal_estimated_amountr5   r6   r   Ú
created_atÚ
updated_at)r   r   r   r,   r0   r>   r@   r
   rB   Úlistr6   r   r   r   r:   r:   )   sí   € € € € € € Ø€J€J�JØÐÐÑØÐÐÑØ $€MÐ$Ð$Ð$Ñ$Ø€L€L�LØÐÐÑØÐÐÑØÐÐÑØ $€MÐ$Ð$Ð$Ñ$Ø*.ÐÐ.Ð.Ð.Ñ.Ø&+ eÐ<UÐ<UÐ&VÑ&VÔ&VÐÐVÐVÐVÑVØ+0¨5ÀÐ+FÑ+FÔ+F€EÐFÐFÐFÑFØÐÐÑØÐÐÑÐÐr   r:   c                  ól   — e Zd ZU ded<   ded<   ded<   ded<   dZded	<   d
ed<   dZded<   dZded<   dS )ÚGPSPhotoAttachmentr   Úphoto_idÚfile_urlÚfloatÚlatitudeÚ	longitudeNúfloat | NoneÚaccuracy_metersr   Úcaptured_atr*   r0   Úcaption)r   r   r   r,   rN   r0   rP   r   r   r   rG   rG   :   sx   € € € € € € Ø€M€M�MØ€M€M�MØ€O€O�OØÐÐÑØ$(€OÐ(Ð(Ð(Ñ(ØÐÐÑØ $€MÐ$Ð$Ð$Ñ$Ø€GÐÐÐÑÐÐr   rG   c                  óV   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
S )ÚMachineHourEntryr   Úequipment_codeÚequipment_nameÚoperator_namer   Ústart_engine_hoursÚend_engine_hoursÚtotal_operating_hoursÚwork_descriptionN)r   r   r   r,   r   r   r   rR   rR   E   sf   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ"Ð"Ð"Ñ"ØÐÐÑÐÐr   rR   c                  ón   — e Zd ZU ded<   ded<   ded<   dZded<    ed„ ¬¦  «        Zd	ed
<   dZded<   dS )ÚAttendanceEntryr   Úemployee_codeÚemployee_nameÚ
role_titleÚFULL_DAYÚshiftc                 ó    — t          d¦  «        S )Nz8.0000r   r   r   r   r    zAttendanceEntry.<lambda>T   r%   r   r!   r   Úhours_workedNr?   Úcheck_in_time)r   r   r   r,   r`   r
   rb   rc   r   r   r   r[   r[   O   sw   € € € € € € ØÐÐÑØÐÐÑØ€O€O�OØ€EÐÐÐÑØ!˜EÐ2KÐ2KÐLÑLÔL€LÐLÐLÐLÑLØ%)€MÐ)Ð)Ð)Ñ)Ð)Ð)r   r[   c                  óÒ   — e Zd ZU ded<   ded<   ded<   dZded<   ded	<   dZd
ed<   ded<   dZd
ed<    ee¬¦  «        Z	ded<    ee¬¦  «        Z
ded<    ee¬¦  «        Zded<   dS )ÚSiteDiaryCreateRequestr   r/   r   Úlog_dateÚweather_conditionNrM   Útemperature_celsiusÚengineer_namer*   Úsite_manager_nameÚwork_summaryu   KhÃ´ng cÃ³ sá»± cá»‘ an toÃ nÚsafety_incidentsr!   úlist[AttendanceEntry]Ú
attendanceúlist[MachineHourEntry]Úmachine_logsúlist[GPSPhotoAttachment]Úphotos)r   r   r   r,   rh   rj   rl   r
   rE   rn   rp   rr   r   r   r   re   re   X   sÛ   € € € € € € ØÐÐÑØ€N€N�NØÐÐÑØ(,ÐÐ,Ð,Ð,Ñ,ØÐÐÑØ$(ÐÐ(Ð(Ð(Ñ(ØÐÐÑØ#BÐÐBÐBÐBÑBØ(-¨¸dÐ(CÑ(CÔ(C€JÐCÐCÐCÑCØ+0¨5ÀÐ+FÑ+FÔ+F€LÐFÐFÐFÑFØ', u¸TÐ'BÑ'BÔ'B€FÐBÐBÐBÑBÐBÐBr   re   c                  ó"  — e Zd ZU ded<   ded<   ded<   ded<   ded<   dZd	ed
<   ded<   dZded<   ded<   dZded<   dZded<    ed„ ¬¦  «        Z	ded<    ee
¬¦  «        Zded<    ee
¬¦  «        Zded<    ee
¬¦  «        Zded<   ded<   dS )ÚSiteDiaryRecordr   Údiary_idr/   r<   r   rf   rg   NrM   rh   ri   r*   rj   rk   rl   r   ÚintÚtotal_workersc                 ó    — t          d¦  «        S r   r   r   r   r   r    zSiteDiaryRecord.<lambda>r   r(   r   r!   r   Útotal_machine_hoursrm   rn   ro   rp   rq   rr   r   rC   )r   r   r   r,   rh   rj   rl   rw   r
   ry   rE   rn   rp   rr   r   r   r   rt   rt   f   s0  € € € € € € Ø€M€M�MØÐÐÑØÐÐÑØ€N€N�NØÐÐÑØ(,ÐÐ,Ð,Ð,Ñ,ØÐÐÑØ$(ÐÐ(Ð(Ð(Ñ(ØÐÐÑØ#'ÐÐ'Ð'Ð'Ñ'Ø€MÐÐÐÑØ#( 5Ð9RÐ9RÐ#SÑ#SÔ#SÐÐSÐSÐSÑSØ(-¨¸dÐ(CÑ(CÔ(C€JÐCÐCÐCÑCØ+0¨5ÀÐ+FÑ+FÔ+F€LÐFÐFÐFÑFØ', u¸TÐ'BÑ'BÔ'B€FÐBÐBÐBÑBØÐÐÑÐÐr   rt   N)Ú__doc__Ú
__future__r   r   r   Údecimalr   Úenumr   Úpydanticr	   r
   r   r   r   r.   r:   rG   rR   r[   re   rt   r   r   r   ú<module>r      sÿ  ðØ EÐ Eà "Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð �3˜ñ ô ð ðð ð ð ð ˜iñ ô ð ðð ð ð ð  yñ ô ð ðð ð ð ð  	ñ ô ð ð"ð ð ð ð ˜ñ ô ð ðð ð ð ð �yñ ô ð ð*ð *ð *ð *ð *�iñ *ô *ð *ðCð Cð Cð Cð C˜Yñ Cô Cð Cðð ð ð ð �iñ ô ð ð ð r   