o
    ùoÆh\  ã                   @   sŠ   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m	Z	m
Z
 d dlZd dlZd dlZej ej e¡¡Zej ed¡Zdd	„ ZdS )
é    )Úcanvas)Ú
pdfmetrics)ÚTTFont)Ú	PdfReaderÚ	PdfWriter)ÚdatetimeÚ	timedeltaNz../assets/fontsc           0   
      s  ddl m} ddlm} tj tj tj t	¡¡d¡}tj
|dd tj |dt ¡ j› d¡}tj|d	d
}z*t|ƒ}|jd }	t|	jjƒ}
t|	jjƒ}td|
› d|› ƒ tj||
|fd
}W n  ty } ztd|› ƒ tj||d
}W Y d }~nd }~ww tj td¡}tj td¡}tj td¡}t td|ƒ¡ t td|ƒ¡ t td|ƒ¡ | d }| d }| d }| d }| d }| d }| d }| d }|}| d }| d }| d }t ¡ ‰ ‡ fdd „td!ƒD ƒ}‡ fd"d „td!ƒD ƒ}‡ fd#d „td$d%ƒD ƒ}‡ fd&d „td$d%ƒD ƒ}td'|ƒ ˆ  d(¡}ˆ  d)¡}t  !dd*¡} ||  }!||  }"t|"|!d$ƒ}#|!d+krEt|"d$ d$d$ƒt"d$d, }$nt|"|!d$ d$ƒt"d$d, }$|#j#d-›d.|#j$d-›d.|#j%› }%|#j#d-›d.|#j$d-›d.|#j%d/ › }%|$j#d-›d.|$j$d-›d.|$j%d/ › }&d0 t j&d1d2d3¡}'| 'dd4¡ | (|d5ƒ¡ | )d6d7|¡ | 'dd4¡ d8}(| )d6|(|¡ | )d6|(d+ |¡ |rÂd9| d: nd0})|rÍ|)d;| 7 })| )d6|(d< |) *¡ ¡ | )d6|(d= | *¡ d: | *¡  ¡ | 'dd>¡ | )d?d@|'¡ | 'ddA¡ | (|dBƒ¡ | )dCdDd0| ¡ | 'dd>¡ | (|d5ƒ¡ | )dEdF|¡ | )dEdG|%dH |& ¡ dI}*| )dEdJ|¡ | )dEdK|¡ | )dEdL|¡ | +¡  t|ƒ}+t|ƒ},t,ƒ }-|+jd }.|. -|,jd ¡ |- .|.¡ t/|dMƒ}/|- 0|/¡ W d   ƒ n	1 syw   Y  tj 1|¡rŒt 2|¡ d S d S )NNr   )ÚHexColor)ÚA4z../static/tmpT)Úexist_okÚtemp_overlay_z.pdf)iJ  iS  )ÚpagesizezTemplate size: z x zError reading template size: ztahomabd.ttfz
tahoma.ttfzhelvetica-bold.ttfzTahoma-BoldZTahomaz
Helve-BoldÚcabangÚnamaÚalamat1Úalamat2ÚkelÚkecÚkodposÚnpwpzalamat1-cabangzalamat2-cabangÚkota_kabc                    ó"   g | ]}ˆ j | d  d d  ‘qS ©é   é   ©Úmonth©Ú.0Úi©Únow© ú:/var/www/html/billing/billing_app_python/utils/pdf_bbri.pyÚ
<listcomp>A   ó   " z%generate_bbri_pdf.<locals>.<listcomp>é   c                    ó.   g | ]}ˆ j | d  dkrˆ jnˆ jd  ‘qS ©r   r   ©r   Úyearr   r    r"   r#   r$   B   ó   . c                    r   r   r   r   r    r"   r#   r$   D   r%   r   é   c                    r'   r(   r)   r   r    r"   r#   r$   E   r+   zBulan List:z%d/%m/%yz%m/%d/%Y %H:%M:%Sé   r   )ÚdaysÚ02dú/éd   Ú Ú
0123456789é   )Úké
   z#000000é(   iµ  i›  zKEL. ú zKEC. é   é$   é   é~   iX  é	   z#808080i8  é#   i°  iÔ  i·  z - i
  iV  i=  i3  Úwb)3Úreportlab.lib.colorsr	   Zreportlab.lib.pagesizesr
   ÚosÚpathÚjoinÚdirnameÚabspathÚ__file__ÚmakedirsÚuuidÚuuid4Úhexr   ÚCanvasr   ÚpagesÚfloatÚmediaboxÚwidthÚheightÚprintÚ	ExceptionÚFONT_DIRr   ÚregisterFontr   r   r!   ÚrangeÚstrftimeÚrandomÚrandintr   Údayr   r*   ÚchoicesÚsetFontÚsetFillColorÚ
drawStringÚupperÚsaver   Ú
merge_pageÚadd_pageÚopenÚwriteÚexistsÚremove)0ÚdataÚtemplate_pathÚoutput_pathr	   r
   ÚTEMP_DIRÚpacket_pathÚcZtemplate_readerZtemplate_pageZtemplate_widthZtemplate_heightÚeZFONT_TAHOMA_BOLDZFONT_TAHOMAZFONT_HELVETICA_BOLDr   r   r   r   r   r   r   r   Z	unitkerjaZunitkerja_alamat1Zunitkerja_alamat2r   Ú
bulan_listÚ
tahun_listZtanggal_laporanZfooter_date_timeÚidxÚbulan_targetÚtahun_targetÚawalÚakhirÚperiode_awal_strÚperiode_akhir_strÚnorekZbatasZkel_kecZ
batas_awalÚ
backgroundÚoverlayÚwriterÚpageÚfr"   r    r#   Úgenerate_bbri_pdf   sº   
€ý



"""

ÿÿr|   )Úreportlab.pdfgenr   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   ÚPyPDF2r   r   r   r   rW   rA   rH   rB   rD   rE   rF   ÚBASE_DIRrC   rS   r|   r"   r"   r"   r#   Ú<module>   s    