Pārlūkot izejas kodu

Changelog:

L89-92 and L109-113 introduced symbols, types and ef. values for them
L138-140 set condition for symbol and type
L182-191 add symbols, types to dict_data
marton levente 7 mēneši atpakaļ
vecāks
revīzija
cc4b0349f4
1 mainītis faili ar 28 papildinājumiem un 6 dzēšanām
  1. 28 6
      pymt940/CSV2MentorBtrl.py

+ 28 - 6
pymt940/CSV2MentorBtrl.py

@@ -86,8 +86,11 @@ class PaymentsProcessorBtrl:
 
         payments_df = payments_df.loc[payments_df[lang['Debit']] != '']
         payments_df['Amount'] = payments_df[lang['Debit']].map(str).apply(dig_it).map(abs)
-
-        self._calculate_payment_attributes(payments_df, mentor_names=mentor_names, lang=LANG.RO, day_slice=day_slice)
+        payments_df['symbols'] = ''
+        payments_df['types'] = ''
+        payments_df.loc[payments_df['symbols'] == '', 'symbols'] = 401
+        payments_df.loc[payments_df['types'] == '', 'types'] = 'ALIMENTARE CREDIT'
+        self._calculate_payment_attributes(payments_df, mentor_names=mentor_names, lang=lang, day_slice=day_slice)
         return payments_df
 
     def process_income_data(self, lang=LANG.RO, day_slice=(0, 2)):
@@ -103,8 +106,11 @@ class PaymentsProcessorBtrl:
 
         income_df = income_df.loc[income_df[lang['Credit']] != '']
         income_df['Amount'] = income_df[lang['Credit']].map(str).apply(dig_it)
-
-        self._calculate_payment_attributes(income_df, mentor_names, lang=LANG.RO, day_slice=day_slice)
+        income_df['symbols'] = ''
+        income_df['types'] = ''
+        income_df.loc[income_df['symbols'] == '', 'symbols'] = 411.01
+        income_df.loc[income_df['types'] == '', 'types'] = 'ALIMENTARE CREDIT'
+        self._calculate_payment_attributes(income_df, mentor_names, lang=lang, day_slice=day_slice)
         return income_df
 
     def _calculate_payment_attributes(self, df, mentor_names, lang=LANG.RO, day_slice=(0, 2)):
@@ -129,6 +135,9 @@ class PaymentsProcessorBtrl:
                             df.loc[index, 'Name'] = name
         df['Transaction details'] = df[lang['Description']]
         df['day'] = df[lang['Transaction date']].str.slice(*day_slice)
+        # df['symbols'] = ''
+        df.loc[df['Transaction details'].str.lower().str.contains('comision'), 'symbols'] = 627
+        df.loc[df['symbols'] == 627, 'types'] = 'DIRECT PE CHELTUIELI'
 
         unique_count = df['day'].nunique()
         self.doc_list = list(range(1, unique_count + 1))
@@ -138,6 +147,8 @@ class PaymentsProcessorBtrl:
         cl_names = []
         obs = []
         counts = []
+        symbols = []
+        types = []
 
         for day in days:
             values = df.loc[df['day'] == day, 'Amount'].tolist()
@@ -168,6 +179,16 @@ class PaymentsProcessorBtrl:
             count_of_value = value_counts[day]
             counts.append(count_of_value)
         self.counts = counts
+
+        for day in days:
+            acc_symbol = df.loc[df['day'] == day, 'symbols'].tolist()
+            symbols.append(acc_symbol)
+        self.symbol_list = {k: v for k, v in zip(days, symbols)}
+
+        for day in days:
+            type_ = df.loc[df['day'] == day, 'types'].tolist()
+            types.append(type_)
+        self.type_list = {k: v for k, v in zip(days, types)}
         self.unique_count = unique_count
 
     def to_dict(self, kind: str, month_back: int, std_client: str, acc_symbol: int):
@@ -191,8 +212,9 @@ class PaymentsProcessorBtrl:
                     'clients': self.names_dict,
                     'cods': self.fiscal_code_dict,
                     'amount': self.trans_dict,
-                    'cont': acc_symbol,
+                    'cont': self.symbol_list,
                     'std_client': std_client,
-                    'obs': self.obs_dict
+                    'obs': self.obs_dict,
+                    'represents': self.type_list
                     }
             return data