vnc-console 1 anno fa
parent
commit
fff58eeadf
2 ha cambiato i file con 38 aggiunte e 17 eliminazioni
  1. 7 3
      tests/test_winmnt.py
  2. 31 14
      winmentor/dbread.py

+ 7 - 3
tests/test_winmnt.py

@@ -36,9 +36,13 @@ class Test(unittest.TestCase):
     def test_get_oblig(self):
         head = ['Denumire', 'CF', 'J', 'Adresa', 'Oras', 'Judet', 'Prescurtat', 'Admin', 'AdminP', 'RCNP', 'Obs']
         # firm_list = list(self.mentor.filtered_firmlist(head))
-        df_dict = self.mentor.get_oblig('CHRYPRI/2023_02')
-        df = pd.DataFrame(df_dict)
-        print(df.head(10))
+        df_dicts = self.mentor.get_oblig('KINVEST')
+        df = pd.DataFrame(df_dicts[0])
+        df2 = pd.DataFrame(df_dicts[1])
+        df3 = pd.merge(df, df2, how='left', left_on='Part', right_on='Cod')
+        df3.drop(columns=['Part', 'Cod'], inplace=True)
+        print(df3.head(10))
+        df3.to_excel('obligatii.xlsx')
         
 
 if __name__ == "__main__":

+ 31 - 14
winmentor/dbread.py

@@ -260,12 +260,13 @@ class WinMentor(object):
                         yield bank_account
     
     def get_oblig(self, short_name, db_file='/ObligPI.DB'):
-        headers = ['Part', 'TipDoc', 'Doc', 'NrDoc', 'DataDoc', 'Valoare', 'Rest']
+        oblig_headers = ['Part', 'TipDoc', 'Doc', 'NrDoc', 'DataDoc', 'Valoare', 'Rest']
+        nparts_headres = ['Cod', 'Denumire', 'CodFiscal']
         short_name = self.winment_path + short_name
-        # nbanks = self.update_copy(short_name + '/nbanci.db')
-        oblig_db = self.update_copy(short_name + db_file)
+        nparts_db = self.update_copy(short_name + '/NPART.DB')
+        oblig_db = self.update_copy(short_name + '/2023_02' + db_file)
         with Table(oblig_db) as table: # , Table(nbanks) as nbanks
-            all_ = []
+            all_oblig = []
             parts = []
             tips = []
             docs = []
@@ -274,23 +275,39 @@ class WinMentor(object):
             values = []
             rests = []
             for row in table:
-                if row.TipDoc == 1:
+                if row.TipDoc == 1 and row.Rest != 0:
                     parts.append(row.Part)
-                    all_.append(parts)
+                    all_oblig.append(parts)
                     tips.append(row.TipDoc)
-                    all_.append(tips)
+                    all_oblig.append(tips)
                     docs.append(row.Doc)
-                    all_.append(docs)
+                    all_oblig.append(docs)
                     nrs.append(row.NrDoc)
-                    all_.append(nrs)
+                    all_oblig.append(nrs)
                     dates.append(row.DataDoc)
-                    all_.append(dates)
+                    all_oblig.append(dates)
                     values.append(row.Valoare)
-                    all_.append(values)
+                    all_oblig.append(values)
                     rests.append(row.Rest)
-                    all_.append(rests)
-        df_dict = dict(zip(headers, all_))
-        return df_dict
+                    all_oblig.append(rests)
+        
+        with Table(nparts_db) as table: # , Table(nbanks) as nbanks
+            all_nparts = []
+            cods = []
+            names = []
+            fiscals = []
+            for row in table:
+                # if row.TipDoc == 1:
+                cods.append(row.Cod)
+                all_nparts.append(cods)
+                names.append(row.Denumire)
+                all_nparts.append(names)
+                fiscals.append(row.CodFiscal)
+                all_nparts.append(fiscals)
+        
+        oblig_dict = dict(zip(oblig_headers, all_oblig))
+        parts_dict = dict(zip(nparts_headres, all_nparts))
+        return (oblig_dict, parts_dict)
         
 
     def corp_list(self, name=None):