feat: PHASE 4.1 - Entités et Repositories Comptables

Entités créées:
- CompteComptable: Plan comptable avec types, classes, soldes
- JournalComptable: Journaux (ACHATS, VENTES, BANQUE, CAISSE, OD)
- EcritureComptable: Écritures avec équilibre Débit=Crédit
- LigneEcriture: Lignes d'écriture avec validation

Enums créés (module API):
- TypeCompteComptable: ACTIF, PASSIF, CHARGES, PRODUITS, TRESORERIE, AUTRE
- TypeJournalComptable: ACHATS, VENTES, BANQUE, CAISSE, OD

Repositories créés:
- CompteComptableRepository: Recherche par numéro, type, classe
- JournalComptableRepository: Recherche par code, type, période
- EcritureComptableRepository: Recherche par journal, organisation, paiement, période
- LigneEcritureRepository: Recherche par écriture, compte

Fonctionnalités:
- Validation équilibre écritures (Débit = Crédit)
- Calcul automatique des totaux
- Génération automatique numéros de pièce
- Relations avec Organisation et Paiement
This commit is contained in:
dahoud
2025-11-30 11:16:24 +00:00
parent a62f401ab8
commit ced33a116e
10 changed files with 825 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
package dev.lions.unionflow.server.api.enums.comptabilite;
/**
* Énumération des types de comptes comptables
*
* @author UnionFlow Team
* @version 3.0
* @since 2025-01-29
*/
public enum TypeCompteComptable {
ACTIF("Actif"),
PASSIF("Passif"),
CHARGES("Charges"),
PRODUITS("Produits"),
TRESORERIE("Trésorerie"),
AUTRE("Autre");
private final String libelle;
TypeCompteComptable(String libelle) {
this.libelle = libelle;
}
public String getLibelle() {
return libelle;
}
}

View File

@@ -0,0 +1,27 @@
package dev.lions.unionflow.server.api.enums.comptabilite;
/**
* Énumération des types de journaux comptables
*
* @author UnionFlow Team
* @version 3.0
* @since 2025-01-29
*/
public enum TypeJournalComptable {
ACHATS("Achats"),
VENTES("Ventes"),
BANQUE("Banque"),
CAISSE("Caisse"),
OD("Opérations Diverses");
private final String libelle;
TypeJournalComptable(String libelle) {
this.libelle = libelle;
}
public String getLibelle() {
return libelle;
}
}