Use JendaSAP compatibility layer for transaction pairing.
This commit is contained in:
		
							parent
							
								
									067f5eba62
								
							
						
					
					
						commit
						af408439dd
					
				
					 3 changed files with 15 additions and 6 deletions
				
			
		|  | @ -212,7 +212,7 @@ bank-fio.import.scm: $(BANK-FIO-SOURCES) | ||||||
| 
 | 
 | ||||||
| MEMBERS-PAYMENTS-SOURCES=members-payments.scm bank-account.import.scm	\
 | MEMBERS-PAYMENTS-SOURCES=members-payments.scm bank-account.import.scm	\
 | ||||||
| 	dictionary.import.scm member-fees.import.scm			\
 | 	dictionary.import.scm member-fees.import.scm			\
 | ||||||
| 	period.import.scm | 	period.import.scm configuration.import.scm | ||||||
| 
 | 
 | ||||||
| members-payments.o: members-payments.import.scm | members-payments.o: members-payments.import.scm | ||||||
| members-payments.import.scm: $(MEMBERS-PAYMENTS-SOURCES) | members-payments.import.scm: $(MEMBERS-PAYMENTS-SOURCES) | ||||||
|  |  | ||||||
|  | @ -31,6 +31,7 @@ | ||||||
|   *current-month* |   *current-month* | ||||||
|   *member-suspend-max-months* |   *member-suspend-max-months* | ||||||
|   *members-directory* |   *members-directory* | ||||||
|  |   *jendasap-compat* | ||||||
|   ) |   ) | ||||||
| 
 | 
 | ||||||
|  (import scheme |  (import scheme | ||||||
|  |  | ||||||
|  | @ -48,7 +48,8 @@ | ||||||
| 	 bank-fio | 	 bank-fio | ||||||
| 	 dictionary | 	 dictionary | ||||||
| 	 member-fees | 	 member-fees | ||||||
| 	 period) | 	 period | ||||||
|  | 	 configuration) | ||||||
| 
 | 
 | ||||||
|  ;; Exchange rates |  ;; Exchange rates | ||||||
|  (define exchange-rates-lookup-table |  (define exchange-rates-lookup-table | ||||||
|  | @ -64,8 +65,10 @@ | ||||||
|    (if (equal? (bank-transaction-type transaction) "Poplatek") |    (if (equal? (bank-transaction-type transaction) "Poplatek") | ||||||
|        #f |        #f | ||||||
|        (let* ((varsym-id0 |        (let* ((varsym-id0 | ||||||
|  | 	       (if (*jendasap-compat*) ;; JendaSAP - whole string | ||||||
|  | 		   (bank-transaction-varsym transaction) | ||||||
| 		   (string->number | 		   (string->number | ||||||
| 		(bank-transaction-varsym transaction))) | 		    (bank-transaction-varsym transaction)))) | ||||||
| 	      (varsym-id | 	      (varsym-id | ||||||
| 	       (or varsym-id0 | 	       (or varsym-id0 | ||||||
| 		   (let* ((msg (bank-transaction-message transaction)) | 		   (let* ((msg (bank-transaction-message transaction)) | ||||||
|  | @ -76,6 +79,12 @@ | ||||||
| 		     (string->number vs))))) | 		     (string->number vs))))) | ||||||
| 	 varsym-id))) | 	 varsym-id))) | ||||||
| 
 | 
 | ||||||
|  |  ;; Special comparator with JendaSAP hack | ||||||
|  |  (define (compare-member-id member-id bank-varsym) | ||||||
|  |    (if (*jendasap-compat*) | ||||||
|  |        (equal? bank-varsym (number->string member-id)) | ||||||
|  |        (eq? member-id bank-varsym))) | ||||||
|  | 
 | ||||||
|  ;; Merges bank account statement into members payment keys. The |  ;; Merges bank account statement into members payment keys. The | ||||||
|  ;; payment key will be a list of transactions. |  ;; payment key will be a list of transactions. | ||||||
|  (define (members-payments-process-bank mb ba) |  (define (members-payments-process-bank mb ba) | ||||||
|  | @ -87,8 +96,7 @@ | ||||||
| 		(varsym-id (transaction-extract-member-id transaction))) | 		(varsym-id (transaction-extract-member-id transaction))) | ||||||
| 	   (loop (members-base-update mb | 	   (loop (members-base-update mb | ||||||
| 				      (lambda (mr) | 				      (lambda (mr) | ||||||
| 					(eq? (member-id mr) | 					(compare-member-id (member-id mr) varsym-id)) | ||||||
| 					     varsym-id)) |  | ||||||
| 				      (lambda (mr) | 				      (lambda (mr) | ||||||
| 					(member-record-add-payment mr transaction))) | 					(member-record-add-payment mr transaction))) | ||||||
| 		 (cdr transactions)))))) | 		 (cdr transactions)))))) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue