§
    M´›j¾  ã                  ó€   — d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	  ej
        e¦  «        Z G d„ d¦  «        ZdS )é    )ÚannotationsN)Údate)ÚAny)Úget_group_for_typec                  ó   — e Zd Zdd„ZdS )ÚErpDocumentCreateMixinÚpayloadúdict[str, Any]Úreturnc                ó�  — |                       ¦   «          |                     dd¦  «                             ¦   «         }|                     d¦  «        }|r|                     d¦  «        r|                      |¦  «        d         }|                     d¦  «        }|r|dk    rt          |¦  «        }i d|                     d¦  «        “d	|                     d	¦  «        “d|“d
|d
         “d|“d|“d|                     dd¦  «        “d|                     d¦  «        pt          j        ¦   «         “d|                     d¦  «        p|                     d¦  «        “d|                     d¦  «        “d|                     d¦  «        p|                     d¦  «        “d|                     d¦  «        “d|                     dd¦  «        “d|                     dd¦  «        “d|                     d¦  «        “d|                     dd¦  «        “d|                     dd¦  «        “i d|                     d¦  «        p|                     d¦  «        “d|                     d¦  «        p|                     d¦  «        “d|                     d¦  «        “dt          |                     d¦  «        t          t          f¦  «        r)t          j        |                     d¦  «        pg ¦  «        n|                     dd¦  «        “d |                     d d!¦  «        “d"|                     d"d#¦  «        “d$|                     d$d%¦  «        “d&|                     d&d'¦  «        “d(|                     d(d)¦  «        “d*|                     d*d¦  «        “d+|                     d+¦  «        “d,|                     d,¦  «        “d-|                     d-d.¦  «        “d/|                     d/¦  «        “d0|                     d0d1¦  «        “d2|                     d2d3¦  «        “d4t          |                     d4¦  «        t          t          f¦  «        r)t          j        |                     d4¦  «        pg ¦  «        n|                     d4¦  «        pd“¥|                     d5¦  «        |                     d6d7¦  «        |                     d8¦  «        |                     d9¦  «        d:œ¥}d;}|                      ¦   «         5 }|                     ¦   «         5 }|                     ||¦  «         |                     ¦   «         }	|	rF|	                     d<¦  «        s1|                     d=|	d>         f¦  «         |                     ¦   «         }	|                     ¦   «          |	cd?d?d?¦  «         cd?d?d?¦  «         S # 1 swxY w Y   	 d?d?d?¦  «         d?S # 1 swxY w Y   d?S )@u6   Táº¡o má»›i hoáº·c lÆ°u trá»¯ vÄƒn báº£n cÃ´ng trÃ¬nh.Údocument_typeÚCVÚdocument_codeÚAUTOÚ	next_codeÚdocument_groupu   VÄƒn Báº£n HÃ nh ChÃ­nhÚ
company_idÚ
project_idÚdocument_titleÚcategoryÚincomingÚ
issue_dateÚissuer_nameÚissuing_authorityÚsigner_nameÚ	file_pathÚfile_urlÚfile_formatÚpdfÚfile_size_bytesr   Ú	file_hashÚverification_statusÚverifiedÚstatusÚai_analysis_summaryÚsummary_contentÚai_risk_assessmentÚai_legal_referencesz[]Úis_gold_referenceFÚversion_numberzv1.0Úversion_indexé   Úis_active_versionTÚsignature_statusÚdraftÚdocument_directionÚpartner_tax_codeÚpartner_nameÚproject_stageÚstage_01_initiationÚchange_summaryÚaudit_readiness_scoreéd   Úocr_confidence_scoreéU   Úocr_validation_flagsÚcross_audit_summaryÚquarantine_statusÚclearÚverified_by_user_idÚverified_at)r;   r<   r>   r?   a  
            INSERT INTO erp_documents (
                company_id, project_id, document_code, document_title,
                document_group, document_type, category, issue_date, issuer_name,
                signer_name, file_path, file_url, file_format, file_size_bytes, file_hash,
                verification_status, status, ai_analysis_summary, summary_content,
                ai_risk_assessment, ai_legal_references, is_gold_reference,
                version_number, version_index, is_active_version, signature_status,
                document_direction, partner_tax_code, partner_name, project_stage,
                change_summary, audit_readiness_score,
                ocr_confidence_score, ocr_validation_flags, cross_audit_summary,
                quarantine_status, verified_by_user_id, verified_at
            ) VALUES (
                %(company_id)s, %(project_id)s, %(document_code)s, %(document_title)s,
                %(document_group)s, %(document_type)s, %(category)s, %(issue_date)s, %(issuer_name)s,
                %(signer_name)s, %(file_path)s, %(file_url)s, %(file_format)s, %(file_size_bytes)s, %(file_hash)s,
                %(verification_status)s, %(status)s, %(ai_analysis_summary)s, %(summary_content)s,
                %(ai_risk_assessment)s, %(ai_legal_references)s::jsonb, %(is_gold_reference)s,
                %(version_number)s, %(version_index)s, %(is_active_version)s, %(signature_status)s,
                %(document_direction)s, %(partner_tax_code)s, %(partner_name)s, %(project_stage)s,
                %(change_summary)s, %(audit_readiness_score)s,
                %(ocr_confidence_score)s, %(ocr_validation_flags)s::jsonb, %(cross_audit_summary)s,
                %(quarantine_status)s, %(verified_by_user_id)s, %(verified_at)s
            ) RETURNING *;
        Úroot_document_idzIUPDATE erp_documents SET root_document_id = id WHERE id = %s RETURNING *;ÚidN)Ú_ensure_document_columnsÚgetÚstripÚ
startswithÚget_next_document_coder   r   ÚtodayÚ
isinstanceÚlistÚdictÚjsonÚdumpsÚget_connectionÚcursorÚexecuteÚfetchoneÚcommit)
Úselfr	   Údoc_typeÚdoc_codeÚ	doc_groupÚclean_payloadÚsqlÚconnÚcurÚrows
             úFC:\Projects\DSCons\app\core\postgres\clients\document_create_client.pyÚcreate_documentz&ErpDocumentCreateMixin.create_document   sÑ  € à×%Ò%Ñ'Ô'Ð'Ø—;’;˜°Ñ5Ô5×;Ò;Ñ=Ô=ˆØ—;’;˜Ñ/Ô/ˆØð 	J˜8×.Ò.¨vÑ6Ô6ð 	JØ×2Ò2°8Ñ<Ô<¸[ÔIˆHà—K’KÐ 0Ñ1Ô1ˆ	Øð 	5˜IÐ)BÒBÐBÝ*¨8Ñ4Ô4ˆIð0
Ø˜'Ÿ+š+ lÑ3Ô3ð0
à˜'Ÿ+š+ lÑ3Ô3ð0
ð ˜Xð0
ð ˜gÐ&6Ô7ð	0
ð
 ˜ið0
ð ˜Xð0
ð ˜Ÿš J°
Ñ;Ô;ð0
ð ˜'Ÿ+š+ lÑ3Ô3ÐCµt´z±|´|ð0
ð ˜7Ÿ;š; }Ñ5Ô5ð 0Ø�{Š{Ð.Ñ/Ô/ð0
ð ˜7Ÿ;š; }Ñ5Ô5ð0
ð ˜Ÿš [Ñ1Ô1ÐL°W·[²[ÀÑ5LÔ5Lð0
ð ˜Ÿš JÑ/Ô/ð0
ð ˜7Ÿ;š; }°eÑ<Ô<ð0
ð ˜wŸ{š{Ð+<¸aÑ@Ô@ð0
ð  ˜Ÿš [Ñ1Ô1ð!0
ð" " 7§;¢;Ð/DÀjÑ#QÔ#Qð#0
ð$ �g—k’k (¨JÑ7Ô7ð%0
ð 0
ð& " 7§;¢;Ð/DÑ#EÔ#Eð $.Ø�{Š{Ð,Ñ-Ô-ð)0
ð* ˜wŸ{š{Ð+<Ñ=Ô=ð  2Ø�{Š{Ð0Ñ1Ô1ð-0
ð. ! '§+¢+Ð.BÑ"CÔ"Cð/0
ð0 "Ý˜'Ÿ+š+Ð&;Ñ<Ô<½tÅT¸lÑKÔKð$:¥4¤:¨g¯kªkÐ:OÑ.PÔ.PÐ.VÐTVÑ#WÔ#WÐ#Wà—’Ð2°DÑ9Ô9ð50
ð6   §¢Ð-@À%Ñ!HÔ!Hð70
ð8 ˜gŸkškÐ*:¸FÑCÔCð90
ð: ˜WŸ[š[¨¸!Ñ<Ô<ð;0
ð<   §¢Ð-@À$Ñ!GÔ!Gð=0
ð>  §¢Ð,>ÀÑ HÔ Hð?0
ð@ ! '§+¢+Ð.BÀJÑ"OÔ"OðA0
ðB  §¢Ð,>Ñ ?Ô ?ðC0
ðD ˜GŸKšK¨Ñ7Ô7ðE0
ðF ˜WŸ[š[¨Ð:OÑPÔPðG0
ðH ˜gŸkškÐ*:Ñ;Ô;ðI0
ðJ $ W§[¢[Ð1HÈ#Ñ%NÔ%NðK0
ðL # G§K¢KÐ0FÈÑ$KÔ$KðM0
ðN #õ ˜'Ÿ+š+Ð&<Ñ=Ô=ÅÅd¸|ÑLÔLð%?¥D¤JØ—’Ð2Ñ3Ô3Ð9°rñ%ô %ð %ð —+’+Ð4Ñ5Ô5Ð=¸ðW0
ð 0
ðX $+§;¢;Ð/DÑ#EÔ#EØ!(§¢Ð-@À'Ñ!JÔ!JØ#*§;¢;Ð/DÑ#EÔ#EØ"Ÿ;š; }Ñ5Ô5ð_0
ð 0
ð 0
ˆðdˆð2 × Ò Ñ"Ô"ð 	 dØ—’‘”ð  #Ø—’˜C Ñ/Ô/Ð/Ø—l’l‘n”n�àð )˜sŸwšwÐ'9Ñ:Ô:ð )Ø—K’KØcØ˜Tœ˜ñô ð ð Ÿ,š,™.œ.�CØ—’‘”�Øðð ð ð ñ ô ð ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ðð ð ð øøøð ð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s7   Ó,V;ÔBV"Ö	V;Ö"V&	Ö&V;Ö)V&	Ö*V;Ö;V?×V?N)r	   r
   r   r
   )Ú__name__Ú
__module__Ú__qualname__r\   © ó    r[   r   r      s.   € € € € € ðcð cð cð cð cð cra   r   )Ú
__future__r   rK   ÚloggingÚdatetimer   Útypingr   Ú)app.modules.core.domain.document_taxonomyr   Ú	getLoggerr]   Úloggerr   r`   ra   r[   ú<module>ri      s­   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à HÐ HÐ HÐ HÐ HÐ Hà	ˆÔ	˜8Ñ	$Ô	$€ðdð dð dð dð dñ dô dð dð dð dra   