面对机房这个重头戏,开头走的还是很顺利的,但哪有那么顺利就收获的,到现在为止,机房还有几个大模块有待研究。今天终于把上下机的问题解决了。还是总结一下理理思路。
对于上下机,逻辑思路是必须要清楚的,要不然就要吃大亏了,虽说吃亏是福,但这种亏就没有必要了。我开始就不怎么清楚,绕了个大弯子,还是整理整理的好啊。先看上机的思路:
一定要按照步骤一步步来,否则步骤多又杂会很混乱。
在这个工程中,判断完之后需要做的:
1、如果卡号正在上机,将卡号的上机信息导出到主界面;
2、上机,同样将卡号信息导出到主界面;
3、更新Online和Line表;
4、更新上机人数。大体上就是这些了。
下面再看下机,相对上机来说,下机会比较麻烦些,主要就是“消费时间”和“消费金额”两部分,大概流程:
判断还是比较简单的部分,接下来。。。
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、更新正在上机人数,下机成功。
通过这些逻辑步骤,上下机基本上就完成了,这只是一个大体的逻辑,从这个过程中,我们还可以收获更多。
总结:
一个上下机,让我们学会了很多思想,首先,做事没有逻辑是不行的,吃一盏长一智。同时要有计划,盲目的进行会浪费我们更多的精力。努力学习中,加油!