【机房收费系统】上下机

        面对机房这个重头戏,开头走的还是很顺利的,但哪有那么顺利就收获的,到现在为止,机房还有几个大模块有待研究。今天终于把上下机的问题解决了。还是总结一下理理思路。

        对于上下机,逻辑思路是必须要清楚的,要不然就要吃大亏了,虽说吃亏是福,但这种亏就没有必要了。我开始就不怎么清楚,绕了个大弯子,还是整理整理的好啊。先看上机的思路:

【机房收费系统】上下机_第1张图片

一定要按照步骤一步步来,否则步骤多又杂会很混乱。


        在这个工程中,判断完之后需要做的:

        1、如果卡号正在上机,将卡号的上机信息导出到主界面;

        2、上机,同样将卡号信息导出到主界面;

        3、更新Online和Line表;

        4、更新上机人数。大体上就是这些了。


        下面再看下机,相对上机来说,下机会比较麻烦些,主要就是“消费时间”和“消费金额”两部分,大概流程:

【机房收费系统】上下机_第2张图片

        判断还是比较简单的部分,接下来。。。

        

        1、如果卡号正在上机,将上机信息导出到主界面,否则,上机;

        2、计算上机时间:

        

Usetime = (Date - DateValue(txtUpdate.Text)) * 1440 + (Hour(Time) - _
                    Hour(TimeValue(txtUptime.Text))) * 60 + (Minute(Time) - _
                    Minute(TimeValue(txtUptime.Text)))
                    '计算总共使用时间
        

        3、根据时间计算消费金额,这一步需要分多种情况:

              (下文中的英文单词全为数据库BasicData表的字段)

              a、总上机时间 < 准备时间PrepareTime      消费金额为0元

              b、总上机时间-准备时间 < 基本数据设置的LeastTime    消费金额为1元(个人设置不同)

              c、上机时间超出LeastTime:  如果为“固定用户”,每个unitTime消费Rate元

                                                         如果为“临时用户”,每个unitTime消费tmpRate元

        4、将Online表中数据清除;

        5、通过卡号和状态从Line表中找到对应行,将Line表数据填写完整;

        6、更新Student表中“余额”字段;

        7、更新正在上机人数,下机成功。


        通过这些逻辑步骤,上下机基本上就完成了,这只是一个大体的逻辑,从这个过程中,我们还可以收获更多。


        总结:

        一个上下机,让我们学会了很多思想,首先,做事没有逻辑是不行的,吃一盏长一智。同时要有计划,盲目的进行会浪费我们更多的精力。努力学习中,加油!


你可能感兴趣的:(数据库)