2009-06-16 7 views
0

Soit cette exigence est bizarre, soit je devrais trop m'embrouiller J'ai une table de règles avec 30 colonnes. Chaque ligne d'un fichier de flux est comparée à certaines ou à toutes les conditions en fonction du type de flux. Le domaine est la banque et l'application est pour les rapports de prêt (par exemple, les rapports du montant total des prêts garantis et des prêts non garantis)Formule dans une ligne de base de données - Java

Ceci est mon problème:

If the (total of collateral amount)> loan principal amount, then consider the principal amount for consolidation 

Else if the (total of collateral amount)<loan principal amount, then consider only the amount covered by collateral 

J'ai des 5 scénarios comme celui-ci (qui devrait être personnalisable) par les utilisateurs (par exemple, si la garantie est en espèces/actions, alors considérer seulement la garantie en espèces/garantie d'équité).

Beaucoup plus de ce scénario est prévu. Je ne suis pas sûr de la façon dont je devrais aborder ce problème. Mon plan est de créer une colonne dans la table de règles et d'avoir quelques conditions anglaises préformatées en eux (documenter et enseigner aux utilisateurs de cela), les analyser en utilisant Regex et les convertir en nombres plus tard. Je n'ai aucune connaissance/expérience avec DSL et c'est le meilleur ?? !! ce que je peux penser. Toute aide sera une grande source de connaissances pour moi. Merci. Arun

Répondre

2

Vous pouvez utiliser le moteur de règles métier pour implémenter ceci au lieu de mettre en œuvre votre propre logique d'analyse ou d'écrire un DSL.

Référez-vous à Business Rules Engine pour plus de détails. La plupart des moteurs de règles vous permettront de créer une grammaire en langage clair pour définir de telles règles. Nous utilisons ilog JRULES pour définir ces règles. Il existe plusieurs autres moteurs de règles commerciales et open source disponibles. Un logiciel open source populaire est drools.

Questions connexes