org.chorem.callao.service
Class AccountServiceImpl

java.lang.Object
  extended by org.chorem.callao.service.AccountServiceImpl

public class AccountServiceImpl
extends java.lang.Object

Permet d'implémenter le Plan Comptable Général. Un compte ne peut être supprimé si il contient des écritures comptables. Un compte peut devenir père et avoir des comptes fils. Chaque compte créé doit renseigné si il appartient à un compte père avec le numéro de compte père.

Author:
Rémi Chapelet

Constructor Summary
AccountServiceImpl()
           
 
Method Summary
 java.lang.String createAccount(AccountDTO accountDTO)
          Permet de creer un compte à partir d'un objet DTO
 java.lang.String createAccount(java.lang.String accountNumber, java.lang.String label, Account masterAccount, java.lang.String type)
          Permet de créer un nouveau compte dans le PCG de l'application.
 java.lang.String createAccount(java.lang.String accountNumber, java.lang.String label, java.lang.String masterAccountNumber, java.lang.String type)
          Permet de créer un compte à partir du numéro de compte père.
 boolean existAccount(java.lang.String accountNumber)
          Renvoie vrai si le compte avec son numéro existe déjà dans la base de données.
 java.util.List<AccountDTO> getAllAccount()
          Permet de convertir tous les comptes en DTO.
 java.lang.String modifyAccount(AccountDTO accountDTO)
          Permet de modifier un compte à partir d'un compte DTO.
 java.lang.String modifyAccount(java.lang.String accountNumber, java.lang.String label, java.lang.String type, Account masterAccount)
          Permet de modifier un compte sur son label et son compte père.
 java.lang.String modifyAccount(java.lang.String accountNumber, java.lang.String label, java.lang.String type, java.lang.String masterAccountNumber)
          Permet de modifier un compte sur son label et son compte père.
 java.lang.String removeAccount(AccountDTO accountDTO)
          Permet d'effacer un compte à partir d'un compte DTO.
 java.lang.String removeAccount(java.lang.String accountNumber)
          Permet d'effacer un compte dans la base de données.
 Account searchAccount(java.lang.String accountNumber)
          Permet de rechercher un compte à partir d'un numéro de compte.
 AccountDTO searchAccountDTO(java.lang.String accountNumber)
          Recherche un compte DTO.
 java.util.List<Account> searchListChildAccount(Account account)
          Permet de renvoyer tous les enfants du compte.
 java.util.List<Account> searchListChildAccount(java.lang.String accountNumber)
          Permet de renvoyer tous les enfants du compte.
 java.lang.String updateDTO(AccountDTO accountDTO)
          Permet de mettre à jour le compte DTO ainsi que tous ses fils.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AccountServiceImpl

public AccountServiceImpl()
Method Detail

createAccount

public java.lang.String createAccount(java.lang.String accountNumber,
                                      java.lang.String label,
                                      Account masterAccount,
                                      java.lang.String type)
Permet de créer un nouveau compte dans le PCG de l'application. Il ne peut exister deux numéros identiques. Pour chaque nouveau compte, il est vérifié si il n'existe pas un compte avec le numéro donné. Dans ce cas présent, le compte n'est pas créé. ATTENTION : le compte masterAccount, c'est à dire le compte père, doit exister, sinon le compte n'est pas créé. Si le compte n'a pas de père, alors mettre masterAccount à null.

Parameters:
label - label du compte
number - numéro du compte
maserAccount - compte père, si il en a pas, alors mettre à null.
type - type du compte (actif,passif,etc.)
Returns:

createAccount

public java.lang.String createAccount(java.lang.String accountNumber,
                                      java.lang.String label,
                                      java.lang.String masterAccountNumber,
                                      java.lang.String type)
Permet de créer un compte à partir du numéro de compte père. Il appelle ensuite createAccount avec le compte père.

Parameters:
accountNumber - numéro du compte à créer
label - label pour le compte
maserAccountNumber - numéro du compte père, si il en a pas, mettre 0.
Returns:

createAccount

public java.lang.String createAccount(AccountDTO accountDTO)
Permet de creer un compte à partir d'un objet DTO

Parameters:
accountDTO - compte au format DTO
Returns:

searchAccountDTO

public AccountDTO searchAccountDTO(java.lang.String accountNumber)
Recherche un compte DTO. Il est recherché dans la base de données et est converti avec ConvertAccount. ConvertAccount recherche dans la liste de ses enfants pour les convertir également, et ainsi de suite.

Parameters:
accountNumber - numéro du compte qu'on souhait rechercher
Returns:

searchAccount

public Account searchAccount(java.lang.String accountNumber)
Permet de rechercher un compte à partir d'un numéro de compte.

Parameters:
accountNumber - numéro du compte à rechercher
Returns:

searchListChildAccount

public java.util.List<Account> searchListChildAccount(Account account)
Permet de renvoyer tous les enfants du compte. Cette fonction permet de renvoyer les enfants, mais PAS les enfants des enfants (et ainsi de suite). Cette méthode descend donc uniquement d'un niveau sur la hiérarchie.

Parameters:
account - compte dont on souhaite obtenir ses enfants.
Returns:

searchListChildAccount

public java.util.List<Account> searchListChildAccount(java.lang.String accountNumber)
Permet de renvoyer tous les enfants du compte. Elle se base sur la fonction searchListChildAccount(Account account). Cette fonction permet de renvoyer les enfants, mais PAS les enfants des enfants (et ainsi de suite). Cette méthode descend donc uniquement d'un niveau sur la hiérarchie.

Parameters:
account - numéro de compte dont on souhaite obtenir ses enfants.
Returns:

getAllAccount

public java.util.List<AccountDTO> getAllAccount()
Permet de convertir tous les comptes en DTO. Il recherche dans un premier temps tous les comptes "master", et les converti en DTO avec leur descendance.

Returns:

existAccount

public boolean existAccount(java.lang.String accountNumber)
Renvoie vrai si le compte avec son numéro existe déjà dans la base de données.

Parameters:
accountNumber - numéro du compte recherché
Returns:

removeAccount

public java.lang.String removeAccount(java.lang.String accountNumber)
Permet d'effacer un compte dans la base de données. Il est vérifié dans un premier temps si le compte existe bien. ATTENTION : si il existe une entrée comptable associée au numéro de compte, il est alors impossible de supprimer le compte.

Parameters:
accountNumber -
Returns:

removeAccount

public java.lang.String removeAccount(AccountDTO accountDTO)
Permet d'effacer un compte à partir d'un compte DTO. Il appelle la méthode removeAccount, qui effacera également les enfants (et ainsi de suite dans la hiérarchie du compte).

Parameters:
accountDTO - Compte au format DTO qu'on souhaite supprimer.
Returns:

modifyAccount

public java.lang.String modifyAccount(java.lang.String accountNumber,
                                      java.lang.String label,
                                      java.lang.String type,
                                      Account masterAccount)
Permet de modifier un compte sur son label et son compte père. Il n'est pas possible de modifier un numéro de compte. Si le compte n'existe pas, il envoie alors un message d'avertissement.

Parameters:
accountNumber - numéro de compte à modifier
label - label à modifier
masterAccountNumber - compte père à modifier
Returns:

modifyAccount

public java.lang.String modifyAccount(java.lang.String accountNumber,
                                      java.lang.String label,
                                      java.lang.String type,
                                      java.lang.String masterAccountNumber)
Permet de modifier un compte sur son label et son compte père. Il recherche le compte père avec le numéro de compte fourni. Appel ensuite la méthode modifyAccount avec pour paramètre le compte père trouvé.

Parameters:
accountNumber - numéro de compte à modifier
label - label à modifier
masterAccountNumber - le numéro du compte père
Returns:

modifyAccount

public java.lang.String modifyAccount(AccountDTO accountDTO)
Permet de modifier un compte à partir d'un compte DTO.

Parameters:
accountDTO - compte au format DTO qu'on souhaire modifier.
Returns:

updateDTO

public java.lang.String updateDTO(AccountDTO accountDTO)
Permet de mettre à jour le compte DTO ainsi que tous ses fils. Cette méthode permet d'ajouter, modifier, et supprimer un compte et ses enfants (et ainsi de suite).

Parameters:
accountDTO -
Returns:


Copyright © 2008-2010 CodeLutin. All Rights Reserved.