§
    t�’jï
  ã                  óô   — d Z ddlmZ ddl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dS )zHSchemas for Automated 3-Way Matching Engine (PO - GRN/Ticket - Invoice).é    )Úannotations)Údate©ÚDecimal)ÚEnum)Ú	BaseModelÚFieldc                  ó*   — e Zd ZdZdZdZdZdZdZdZ	dS )	ÚMatchStatusEnumÚPERFECT_MATCHÚPRICE_MISMATCHÚQUANTITY_MISMATCHÚPARTIAL_RECEIPTÚMISSING_GRNÚ
MISSING_POÚSUSPICIOUS_TAX_RISKN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   © ó    ú1C:\Projects\DSCons\app\models\matching_schemas.pyr   r      s5   € € € € € Ø#€MØ%€NØ+ÐØ'€OØ€KØ€JØ/ÐÐÐr   r   c                  ó¸   — e Zd ZU ded<   ded<   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ed<   dS )ÚPurchaseOrderSummaryÚstrÚpo_codeÚsupplier_tax_idÚsupplier_nameÚproject_codeÚ	item_namec                 ó    — t          d¦  «        S ©Nz0.0000r   r   r   r   ú<lambda>zPurchaseOrderSummary.<lambda>   s   € ½gÀhÑ>OÔ>O€ r   ©Údefault_factoryr   Úordered_quantityc                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zPurchaseOrderSummary.<lambda>   ó   € ½ÀÑ8IÔ8I€ r   Ú
unit_pricec                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zPurchaseOrderSummary.<lambda>   ó   € ½'À(Ñ:KÔ:K€ r   Útotal_amountÚunitN)r   r   r   Ú__annotations__r	   r&   r)   r,   r   r   r   r   r      s¶   € € € € € € Ø€L€L�LØÐÐÑØÐÐÑØÐÐÑØ€N€N�NØ % Ð6OÐ6OÐ PÑ PÔ PÐÐPÐPÐPÑPØ˜%Ð0IÐ0IÐJÑJÔJ€JÐJÐJÐJÑJØ!˜EÐ2KÐ2KÐLÑLÔL€LÐLÐLÐLÑLØ€I€I�I€I€Ir   r   c                  óˆ   — e Zd ZU ded<   dZded<   ded<   ded<   ded<    ed	„ ¬
¦  «        Zded<   ded<   ded<   ded<   dS )ÚGoodsReceiptSummaryr   Úgrn_codeNú
str | NoneÚweighbridge_ticket_numberr   r   r    c                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zGoodsReceiptSummary.<lambda>(   s   € ½wÀxÑ?PÔ?P€ r   r$   r   Úreceived_quantityr   Úreceived_dateÚreceiver_namer-   )r   r   r   r.   r3   r	   r5   r   r   r   r0   r0   "   s�   € € € € € € Ø€M€M�MØ,0ÐÐ0Ð0Ð0Ñ0ØÐÐÑØÐÐÑØ€N€N�NØ!& Ð7PÐ7PÐ!QÑ!QÔ!QÐÐQÐQÐQÑQØÐÐÑØÐÐÑØ€I€I�I€I€Ir   r0   c                  óÒ   — e Zd ZU ded<   ded<   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<    ed„ ¬	¦  «        Zd
ed<   dS )ÚInvoiceMatchSummaryr   Úinvoice_numberr   Úinvoice_dateÚseller_tax_idÚseller_namer    c                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zInvoiceMatchSummary.<lambda>4   ó   € ½WÀXÑ=NÔ=N€ r   r$   r   Úbilled_quantityc                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zInvoiceMatchSummary.<lambda>5   r(   r   r)   c                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zInvoiceMatchSummary.<lambda>6   s   € ½7À8Ñ;LÔ;L€ r   Útotal_pre_taxc                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zInvoiceMatchSummary.<lambda>7   r(   r   Ú
tax_amountN)	r   r   r   r.   r	   r@   r)   rC   rE   r   r   r   r9   r9   .   sÓ   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ€N€N�NØ$˜uÐ5NÐ5NÐOÑOÔO€OÐOÐOÐOÑOØ˜%Ð0IÐ0IÐJÑJÔJ€JÐJÐJÐJÑJØ"˜UÐ3LÐ3LÐMÑMÔM€MÐMÐMÐMÑMØ˜%Ð0IÐ0IÐJÑJÔJ€JÐJÐJÐJÑJÐJÐJr   r9   c                  óö   — e Zd ZU ded<   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<   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ed<   d	S )ÚThreeWayMatchResultr   Úmatch_idr   Úmatch_statusr<   r=   r   r    NzPurchaseOrderSummary | NoneÚpo_refzGoodsReceiptSummary | NoneÚgrn_refr9   Úinvoice_refc                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zThreeWayMatchResult.<lambda>D   r+   r   r$   r   Úqty_variancec                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zThreeWayMatchResult.<lambda>E   s   € ½GÀHÑ<MÔ<M€ r   Úprice_variancec                 ó    — t          d¦  «        S r"   r   r   r   r   r#   zThreeWayMatchResult.<lambda>F   r?   r   Úamount_variancer2   Údiscrepancy_explanationÚrecommended_action)r   r   r   r.   rJ   rK   r	   rN   rP   rR   rS   r   r   r   rG   rG   :   s  € € € € € € Ø€M€M�MØ!Ð!Ð!Ñ!ØÐÐÑØÐÐÑØÐÐÑØ€N€N�NØ*.€FÐ.Ð.Ð.Ñ.Ø*.€GÐ.Ð.Ð.Ñ.Ø$Ð$Ð$Ñ$Ø!˜EÐ2KÐ2KÐLÑLÔL€LÐLÐLÐLÑLØ#˜eÐ4MÐ4MÐNÑNÔN€NÐNÐNÐNÑNØ$˜uÐ5NÐ5NÐOÑOÔO€OÐOÐOÐOÑOØ*.ÐÐ.Ð.Ð.Ñ.ØÐÐÑÐÐr   rG   c                  óˆ   — e Zd ZU ded<   ded<   ded<   ded<   ded<    ed„ ¬	¦  «        Zd
ed<    ee¬	¦  «        Zded<   dS )ÚMatchingDashboardResponser   Ú
as_of_dateÚintÚtotal_invoices_checkedÚperfect_matches_countÚmismatches_countÚpending_approval_countc                 ó    — t          d¦  «        S r"   r   r   r   r   r#   z"MatchingDashboardResponse.<lambda>Q   s   € ÅgÈhÑFWÔFW€ r   r$   r   Útotal_discrepancy_amountzlist[ThreeWayMatchResult]ÚmatchesN)r   r   r   r.   r	   r^   Úlistr_   r   r   r   rV   rV   K   s�   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ(-¨Ð>WÐ>WÐ(XÑ(XÔ(XÐÐXÐXÐXÑXØ).¨¸tÐ)DÑ)DÔ)D€GÐDÐDÐDÑDÐDÐDr   rV   N)Ú__doc__Ú
__future__r   Údatetimer   Údecimalr   Úenumr   Úpydanticr   r	   r   r   r   r0   r9   rG   rV   r   r   r   ú<module>rg      s…  ðØ NÐ Nà "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %ð0ð 0ð 0ð 0ð 0�c˜4ñ 0ô 0ð 0ð	ð 	ð 	ð 	ð 	˜9ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜)ñ 	ô 	ð 	ð	Kð 	Kð 	Kð 	Kð 	K˜)ñ 	Kô 	Kð 	Kðð ð ð ð ˜)ñ ô ð ð"Eð Eð Eð Eð E 	ñ Eô Eð Eð Eð Er   