我有一张桌子好
fine_id amount date fine_type is_rec rec_status
F001 100 2018-12-01 1 TRUE INCOMPLETE
F002 10000 2018-12-02 4 FALSE NULL
和“付款”表
id fine_id amount paymode txn_id txn_status
1 F002 10000 ONLINE TXN001 1
可能会重复发生罚款,即用户必须每月支付罚款,直到管理员的rec_status更新为“完成”为止。
EDIT-1
精通大师
fine_id amount entry_date fine_type is_rec rec_status rec_type
F001 100 2018-12-01 1 TRUE INCOMPLETE Monthly
F002 10000 2018-12-02 4 FALSE NULL
F003 10000 2018-12-02 4 TRUE INCOMPLETE Yearly
好
rec_fine_id fine_id amount for_month for_year is_paid
RF001 F001 100 022018 NULL TRUE
RF002 F003 10000 NULL 2018 TRUE
RF003 F002 10000 NULL NULL TRUE
RF004 F001 100 032018 NULL FALSE
付款
id rec_fine_id amount paymode txn_id txn_status is_successful pay_date
1 RF001 100 ONLINE TXN001 1 true 2018-02-10
2 RF003 10000 ONLINE TXN010 1 true 2018-10-10
3 RF002 10000 ONLINE TXN011 1 true 2018-07-11
答案 0 :(得分:0)
我建议您使用三个表:Child
(保存有关罚款的主信息,无论rec_status是否已完成。罚款只有一个条目),Child
(定期保存)详细信息,并有上级参考FineMaster)FineMaster
(保存每次重复发生的付款信息)。
不需要单独的表。只需一张桌子付款。带有一个标志Fine
。该标志将指示付款是否成功。
可以使用Payment
处理经常性罚款。请参阅答案的第一段。
我建议您在“罚款”表中保留经常性的罚款信息。在Fine表中有一个标记IssuccessfulPayment
。如果成功支付了定期罚款,请更新罚款表以确认支付成功。对于一次罚款,也可能需要多次付款。我建议您在“罚款”表中维护经常性的罚款信息。