您的位置:首页 > 数据库

机房收费系统——结账

2014-10-26 14:26 246 查看
    机房收费系统的逻辑性很强。师傅也说了,第一次做机房,首要的是理清思路,明白它的逻辑。

    做到结账这里,跟大家分享一下我对结账的一点理解:



钱分三个状态:用户的钱,柜台的钱(账面),老板的钱(实际)
用户充值,退卡,钱在用户自己和柜台之间流动;用户实际消费之后,用户充值后存在柜台的钱中消费的部分实际上就划归为老板所属了。
 

    操作员结账:
    售卡不收钱,充值收钱,退卡退钱。
        充值的钱-退卡退的钱=应收的钱
    要注意:用户注册卡的时候包含了一次充值过程,需要把这次充值过程在充值记录里体现出来。
老板查账:
    上期充值卡余额+本期充值金额-本期消费金额-本期退款金额=本期充值卡余额
 
对应到数据库里记录的操作就是:
    用户每次下机计算一下本次消费了多少钱,用账户里的钱减去消费的钱,得到的结果写入账户,更新账户余额。
操作员结账:
1)按操作员检索充值记录里未结账的记录,统计对应记录的充值金额,求和就是自上次结账之后的总的充值金额。把检索出来的未结账记录的状态改为结账。
2)按操作员检索退卡记录里未结账的记录,统计对应记录的退卡金额,求和就是自上次结账之后的总的退卡金额。把检索出来的未结账记录的状态改为结账。
3)用求得的总的充值金额-总的退卡金额=应收金额
(算得的应收金额在实际上就是为了核对实际柜台上收的钱数对不对。)
4)临时收费金额是临时用户消费的金额。在学生上机记录里查询上次结账之后的临时用户的记录,把它们的消费金额求和即得。
   临时用户与固定用户的区别:收钱单价不一样。
 
 老板查账:
    1)按日期检索学生上机记录里对应的记录,对检索出的记录中的消费金额求和,得到本期消费金额。
    2)检索学生卡记录里所有的记录,对所有记录中的余额求和,得到本期充值卡余额。
    3)我认为日结账单就是按照日期来结账,如果一天当中中午结了一次帐有了当日的结账记录,当天晚上又结一次帐,则应该更新中午的那次结账记录,而不是重新再建一条记录。如果某一天没有结账,第二天结账,则应该按照日期记录把第一天的结了,同时产生一条记录,再进行第二天的结账。而不是什么时候进行结账操作,就把之前的未结账记录全部结账而不分日期。
    4)日结账单是简单地全部地显示结账记录。周结账单是对日结账单的按日期查询。
 
本人对于算钱不太懂,难免有考虑的不合理的地方,还请批评指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息