jmueller17 / Aixada

Aixada helps self-managed consumption cooperatives to organize their flow of products, money, and information.
Other
33 stars 37 forks source link

account balance ERROR #278

Closed Monicafgz closed 3 years ago

Monicafgz commented 3 years ago

Hola! Estem posant a punt els comptes de les UF de l'Aixada i ens hem trobat que no es fa correctament el balanç de diners... tal com es veu a la captura s'afegeix d'inici un dipòsit a la UF però després no ho té en compte per calcular el saldo...

image

Vam fer proves i entrar de nou un dipòsit seguint els mateixos passos que abans, i sí va fer correctament el càlcul del saldo...es un misteri que no sabem a què pot ser degut...alguna pista!?

jorix commented 3 years ago

Sí, ja veig que és, sembla que l'usuari s'ha creat sense dades a la taula aixada_account, l'heu esborrat les dades de la taula abans de iniciar en real?

Aixada no tracta prou bé els assentaments simultanis, el ca els del 14-08-2020 15:31:ss


1.- Veure quins comptes estan afectats:

SELECT account_id, ts, balance saldo, 
(SELECT SUM(quantity) FROM aixada_account Q0 WHERE T0.account_id = Q0.account_id) sumes
FROM aixada_account T0 
WHERE id IN(SELECT MAX(ID) FROM aixada_account S0 WHERE T0.account_id = S0.account_id) 
AND t0.BALANCE <> (SELECT SUM(quantity) FROM aixada_account Q0 WHERE T0.account_id = Q0.account_id);

A la columna sumes hi haurà el saldo correcte


2.- Arreglar els saldos amb aquest sql:

insert into aixada_account (
account_id, currency_id, operator_id, payment_method_id, description, quantity, balance)
(
SELECT account_id, currency_id, 
    1, 11, '**Repair balance**', 0,
    (SELECT SUM(quantity) FROM aixada_account Q0 WHERE T0.account_id = Q0.account_id)
    FROM aixada_account T0 
    WHERE id IN(SELECT MAX(ID) FROM aixada_account S0 WHERE T0.account_id = S0.account_id) 
    AND t0.BALANCE <> (SELECT SUM(quantity) FROM aixada_account Q0 WHERE T0.account_id = Q0.account_id)
);

3.- Arreglar el codi per tal de que els assentaments simultanis no causin problemes.

@jmueller17 : Creo que ya tango localizado el problema, lo comento luego...

Monicafgz commented 3 years ago

@jorix gràcies per la teva resposta! Amb els comptes no ens acaba de quadrar el saldos de les Unitats Familiars perquè hem de traslladar a l'aixada saldos anteriors a estar fent servir l'aixada. Ens trobem que hem de fer setup per cadascuna de les UF, he vist com fer-ho amb queries a la base de dades però ens preguntem si hi ha alguna manera més àgil de fer-ho amb la interface del propi programa aixada... Gràcies una vegada més!

jorix commented 3 years ago

...traslladar a l'aixada saldos anteriors...interface del propi programa aixada.

No n'hi ha, pero podeu restar o sumar al saldo d'Aixada d'una UF per tal que quedi el que toca.

Useu a "Gestiona->Diners" la pestanya "Fer operacions"