Payroll-System-Design, Business-Logik in der SPs oder Application Layer (C#.Net), Wartbarkeit - Repost

Entwerfen wir ein Lohn-Generation-System für einen Kunden.

Die Organisation, die wir im Visier haben, hat eine Hierarchie wie folgt:
Unternehmens -> Cluster -> Business Unit (BU) -> Abteilung -> Mitarbeiter

Das Gehalt eines Mitarbeiters setzt sich aus verschiedenen lohnbestandteilen.
Jedes Gehalt-Komponente hat 3 Regeln zugeordnet, der eine Rechenregel (Berechnen Komponente als % der anderen Komponente, oder %, die eine Feste Zahl oder eine festgelegte Anzahl), Förderfähigkeit der Regel (ob ein Mitarbeiter/Dept ist berechtigt, für a-Komponente) und eine Einschränkung der Regel, die Grenzen tha max und min eine Komponente.

****Diese Regeln sind editierbar und können vom Benutzer bearbeitet werden end-user**. Auch diese Regeln werden von oben nach unten vererbt, aber wenn definiert auf einer niedrigeren Ebene, der unteren Ebene Regel Vorrang.**

Wir haben eine Datenbank, die hat Besuch, Blätter, Boni Tabellen und diese Regeln sollten auch für die Interaktion mit diesen Tabellen.

Den client generieren Gehaltsabrechnung für mehrere Mandanten jeder das hosting einer Separaten Datenbank-Instanz. Sie können sich durch eine unterschiedliche Auslegung der einzelnen Komponenten und kann mit anderen Komponenten.

Wir sind nur auf der Suche nach Unterstützung für SQL Server und Lohn-generation, eine offline-Aktivität.

Wir sind getrennt auf, wo die Logik, die verwendet wird, diese Regeln zu generieren, die einzelnen Steuer-Komponenten (das sind Steuerliche Abzüge, Steuerliche Abschreibungen, Wertberichtigungen, etc.).

Einige Leute befürworten magic SPs, die eine Mitarbeiter-Id und generieren Sie eine Abrechnung für diesen Monat.
Andere wollen die Logik aufgeteilt werden in separate Komponenten, die die abhängigen Daten für einen Mitarbeiter im application-layer und berechnen diese Komponenten gibt.

Die Reihenfolge unserer Prioritäten sind:
1. Die Fähigkeit, sich Veränderungen schnell neue Kunden
2. Langfristige Wartbarkeit
3. Leistung

1 und 2 überwiegen 3 hier von einem großen Faktor werden, es wird eine offline-Aktivität.

Wartbarkeit und Schnelle Anpassbarkeit sind sehr wichtig, wir werden mit der Bereitstellung der Anwendung für verschiedene Kunden.
Client A kann ein gehaltsbestandteil Regel als ((0.3 * Basic) + 800)
und Client B als (0.2 * Basic) + (0.1 * Atendance Bonus)

Wird SPs-Ursache für ein Durcheinander hier, wie die Regeln, die oben vorgeschlagen wird vom Endbenutzer spezifiziert und müssen sich dabei individuell über eine web-UI.
Wir haben zum Parsen der Formeln von SQL. Wie schwer oder einfach wird es sein?
Welche Vorteile dies zu tun, in den Application-Layer (C# .Net) haben über die Verwendung SPs?

Der original post ist hier:
Design-Hinweise, Payroll System...repost
...aber keine der Fragen wurden richtig beantwortet.

Anregungen und Hinweise zu bestehenden Systemen " - Architektur wird sehr hilfreich sein.
...und ja, wir werden mit LINQ to SQL an anderer Stelle im system.

Freundlichen GRÜßEN,
Ashish Sharma

  • TLDR. Können Sie vereinfachen Ihre Frage?
Schreibe einen Kommentar