Vb6 рассчитать обновление - PullRequest
0 голосов
/ 19 мая 2011

Как рассчитать и обновить возмещение?

У меня есть три строки в базе данных:

NO  |  TRANAMT  |  REFUNDAMT
1   |  100      |  0 
2   |  200      |  0
3   |  300      |  0

Если возмещение равно 350, возмещение будет обновлено следующим образом:refundamt не может быть больше транса:

NO  |  TRANAMT  |  REFUNDAMT
1   |  100      |  100 
2   |  200      |  200
3   |  300      |  50

При повторном возврате с 50, будет обновлена ​​только последняя запись, возврат будет обновляться следующим образом:

NO  |  TRANAMT  |  REFUNDAMT
1   |  100      |  100 
2   |  200      |  200
3   |  300      |  100

1 Ответ

1 голос
/ 19 мая 2011

Вот простой алгоритм (без учета многопоточности и блокировок):

  1. Пусть RF будет полным возвратом
  2. Найдите первую строку, где REFUNDAMT
  3. Рассчитайте разницу DIFF для строки: DIFF = TRANAMT - REFUNDAMT
    • Если DIFF> = RF, обновите REFUNDAMT в ROW до REFUNDAMT + RF, и все готово.
    • Если DIFF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...