0

私は現在、病院管理システムを開発しています。私のアプリケーションでは、病院で24時間年中無休で働く複数のレジ係がいて、患者からお金を集めてレシートバウチャーを発行するか、払い戻しの場合に患者に返金します。

現在、私はトランザクションごとに従業員のユーザーアカウント番号を保存しています。その日の終わりに、従業員は会計部門に送金する必要のある合計金額で行ったトランザクションのリストを印刷します。しかし、私は誰かが私に、従業員が彼/彼女のキャッシュボックスに持っている合計金額でのmsitakeを防ぐために必要な警察が何であるかを教えてくれる必要があります。

経理部長であっても、他人がレコードを削除したり、削除したりするのを防ぐ必要がありますか?

私は銀行の出納係として何かが必要だと思いますが、私を助けたり、この部分のために私の警察に何を入れる必要があるのか​​を正確に説明するための何かを見つけることができません。

私が使用しているのは、GUIおよびプログラミング言語としてのJava、データベースとしてのMySQL(Percona)、レポートおよび印刷ソリューションとしてのCrystalReportsです。

4

1 に答える 1

0

これについてもう少しアトミックに考える必要があると思います。編集または削除できるトランザクションがあるのではなく、発生するアクションがあるだけです。

そのため、必ずトランザクションを実行してもらい、誰かがそのトランザクションを編集したい場合は、バージョン管理システムがどのように機能するかに少し似ていますが、変更セットとして実行してください。したがって、元のトランザクションに関する情報は引き続き保持されますが、そのトランザクションに適用する必要がある変更があります。

トランザクション/アクションのベース ID があり、各変更セットがそれを指している場合、少なくともすべての変更を日付順で結び付けてから実行して合計を計算できます。これは、後でパフォーマンスのために簡単にキャッシュできます。の上。

お金が関係する場合はいつでも、データの編集や削除を許可することは非常に危険です.元のレコードの軌跡とその変更点。

最終的にはトレーサビリティにかかっています...

于 2012-12-07T11:16:05.500 に答える