Browse Source

initial class and upload

vnc-console 4 tháng trước cách đây
mục cha
commit
2f1413366a

+ 0 - 0
monet_import.py


+ 1 - 0
py_mentor_imports/__init__.py

@@ -0,0 +1 @@
+'''Created on 13 May 2024 @author: vnc-console'''

+ 24 - 0
py_mentor_imports/templates/monetars.txt

@@ -0,0 +1,24 @@
+[InfoPachet]
+AnLucru={{ AnLucru }}
+LunaLucru={{ LunaLucru }}
+TipDocument=MONETAR
+TotalMonetare={{ TotalMonetare }}
+{% for document in documents %}
+    [Monetar_{{ loop.index }}]
+    {% set num_doc = loop.index %}
+    Operat=D
+    NrDoc={{ num_doc }}
+    SimbolCarnet=M
+    Operatie=A
+    CasaDeMarcat=D
+    NumarBonuri={{ document.numar_bonuri }}
+    Data={{ document.data_raport_z }} {# 20.05.2022 #}
+    Casa=CasaLei
+    TotalArticole=1
+    CEC=0
+    CARD=0
+    BONVALORIC=0
+    Observatii=Zi_fiscala-{{ document.zi_fiscala }} numar_bonuri-{{ document.numar_bonuri }} {# hgagfsfkhfff #}
+    [Items_1]
+    Item_1={{ Code }};BUC;1;{{ document.value }};DEPCENTR
+{% endfor %}

+ 69 - 0
tests/test_monet_import.py

@@ -0,0 +1,69 @@
+'''
+Created on 13 May 2024 @author: vnc-console
+'''
+import unittest
+import datetime
+import pandas as pd
+from jinja2 import (Environment, PackageLoader)
+
+
+class Test(unittest.TestCase):
+
+    templates = Environment(loader=PackageLoader('py_mentor_imports', 'templates'))
+    template = templates.get_template('monetars.txt')
+
+    class Monetar(object):
+        def __init__(self, zi_fiscala, data_raport_z, numar_bonuri, value):
+            self.zi_fiscala = zi_fiscala
+            self.data_raport_z = data_raport_z
+            self.numar_bonuri = numar_bonuri
+            self.value = value
+
+    def test_monet(self):
+        def convert_date_format(date_string):
+            # Convert datetime object to desired format
+            new_date_string = date_string.strftime("%d.%m.%Y")
+            return new_date_string
+
+        def get_last_month(day):
+            today = datetime.date.today()
+            first_day_of_this_month = datetime.date(today.year, today.month, 1)
+            last_day_of_last_month = first_day_of_this_month - datetime.timedelta(days=day)
+            # last_month = last_day_of_last_month.strftime('%B %Y')
+            last_month = last_day_of_last_month.month
+            return last_month
+        path = r'f:\Gdrive\Misc\Dosar-Contabilitate\Ridewave\2024_04\raport_z\20240507213946_from_010424_to_300424__from_5_to_29.xlsx'
+        df = pd.read_excel(path)
+        df = df.drop(['Unnamed: 1', 'Unnamed: 2', 'Unnamed: 3',
+                      'Unnamed: 5', 'Unnamed: 6', 'Unnamed: 7',
+                      'Unnamed: 9', 'Unnamed: 11', 'Unnamed: 13'], axis=1)
+        df['4. Data raport Z'] = df['4. Data raport Z'].apply(convert_date_format)
+        # print(df['4. Data raport Z'])
+        monetars = []
+        for zi, date, number, value in zip(df['1. Zi fiscala'], df['4. Data raport Z'], df['5. Numar\nbonuri'], df['6. Valoare\ntotala']):
+            monetar = self.Monetar(zi_fiscala=zi, data_raport_z=date, numar_bonuri=number, value=value)
+            monetars.append(monetar)
+        # print(monetars[24].data_raport_z)
+        # print(df['5. Numar\nbonuri'][24])
+        # print(df.columns)
+        # print(len(df))
+
+        data = {'AnLucru': datetime.date.today().year,
+                'LunaLucru': get_last_month(1),
+                'TotalMonetare': len(df),
+                'documents': monetars,
+                # 'NrDoc': [],
+                # 'NumarBonuri': [],
+                # 'Data': [],
+                # 'Observatii': [],
+                'Code': 'TRANSPMF'
+                # 'Pret': []
+                }
+
+        output = self.template.render(data)
+        print(output)
+
+
+if __name__ == "__main__":
+    Test().test_monet()
+    # unittest.main()