diff --git a/db/routines/vn/procedures/addAccountReconciliation.sql b/db/routines/vn/procedures/addAccountReconciliation.sql index 0db018109..e396e57dc 100644 --- a/db/routines/vn/procedures/addAccountReconciliation.sql +++ b/db/routines/vn/procedures/addAccountReconciliation.sql @@ -8,59 +8,22 @@ BEGIN UPDATE accountReconciliation ar JOIN ( SELECT id, - calculatedId, + calculatedCode, CONCAT( - calculatedId, + calculatedCode, '(', - ROW_NUMBER() OVER (PARTITION BY calculatedId ORDER BY id), + ROW_NUMBER() OVER (PARTITION BY calculatedCode ORDER BY id), ')' ) newId - FROM accountReconciliation - WHERE calculatedId IN ( - SELECT calculatedId + FROM accountReconciliation ar + WHERE calculatedCode IN ( + SELECT calculatedCode FROM accountReconciliation - GROUP BY calculatedId + GROUP BY calculatedCode HAVING COUNT(*) > 1 ) - ORDER BY calculatedId, id + ORDER BY calculatedCode, id ) sub2 ON ar.id = sub2.id - SET ar.calculatedId = sub2.newId; - - INSERT INTO till( - dated, - isAccountable, - serie, - concept, - `in`, - `out`, - bankFk, - companyFk, - warehouseFk, - supplierAccountFk, - calculatedCode, - InForeignValue, - OutForeignValue, - workerFk - ) - SELECT ar.operationDate dated, - TRUE isAccountable, - 'MB' serie, - ar.concept concept, - @totalIn := IF(ar.debitCredit = arc.debitCredit2 AND a.currencyFk = arc.currencyFk, ar.amount, NULL) `in`, - @totalOut := IF(ar.debitCredit = arc.debitCredit AND a.currencyFk = arc.currencyFk, ar.amount, NULL) `out`, - a.id bankFk, - sa.supplierFk companyFk, - arc.warehouseFk warehouseFk, - ar.supplierAccountFk supplierAccountFk, - ar.calculatedId calculatedCode, - @totalIn InForeignValue, - @totalOut OutForeignValue, - account.myUser_getId() user - FROM accountReconciliation ar - JOIN supplierAccount sa ON sa.id = ar.supplierAccountFk - JOIN accounting a ON a.id = sa.accountingFk - LEFT JOIN till t ON t.calculatedCode = ar.calculatedId - JOIN accountReconciliationConfig arc - WHERE t.id IS NULL; + SET ar.calculatedCode = sub2.newId; END$$ DELIMITER ; \ No newline at end of file