机房收费系统--各个窗体功能实现的基本要点

来源:互联网 发布:安卓app 知乎 编辑:程序博客网 时间:2024/05/16 08:31

各窗体是按照权限分类的

操作员

1.学生注册:涉及两个表(student_inforecharge_info),注册成功时在学生表增加一条记录同时充值表也增加一条记录.界面上,本次要充入的金额可以输入但是最终"充值金额"不可输入.代码则不要忘mrc.addnewmrc.update

2充值:首先判断该卡是否已注册,若注册则充值成功时在充值表增加一条记录,同时更新学生表中的余额数据.

3.退卡:判断该卡是否注册是否正在上机,已注册未上机则办理退卡,退卡成功不删除学生表中的记录,而是将state"使用"改为"不使用".

4.收取金额查询:用到一个日期控件,DTPicker,然后查询两个日期之间的所有记录.导出为Excel的方法在上一篇博客中有详细介绍.

5.退还金额查询:即由于退卡而退回的金额,在学生表中查询两个日期之间的status"不使用"的记录.

6.学生基本信息维护

7.学生上下机统计信息

8.操作员工作记录

这三个都是组合查询,通过字段名(卡号,姓名等),操作符(<=)和组合关系(and,or)的组合构成查询条件,在相应的表中的找到记录并用MXFlexGrid控件显示.其中用到的方法是定义一组变量Field(2),通过select语句判断combo控件的comboField.listindex属性值给变量Field(0)赋值,其他两个条件同上,然后构造SQL语句.用到的思想是用变量将字段内容取出,在处理多个类型相同的数据时,数组不失为一种极佳的选择.

一般用户

1学生查看余额

2学生上机记录查看

3.学生充值记录查询

输入卡号,进行一些条件的判断,如是否注册,卡号是否为空,然后分别在学生表,上下机表,充值表中查询并显示符合条件的记录.

4.学生上机状态查看:

该窗体有四个菜单选项,

(1)上机状态查询,是一个组合查询,查找符合某些条件的正在上机的记录.

(2)显示全部,将正在上机表中的所有记录查询出来显示.

(3)上机管理,包括全部下机和选中学生强制下机,参考下机的事件过程即可.

(4)退出.

5.修改密码:输入旧密码和新密码,user表中查询该userIDPWD,若和输入的旧密码,则更新user表数据,改为新密码.

6退出

退出时,用到QueryUnload事件,对参数UnloadMode进行判定,若为0-5则提示是否退出,退出时在操作员工作记录表中补充相应信息.

管理员

1.结账

分别从student_info,recharge_infocancelcard_info查询userid为某个操作员且status为未结账的记录,结账时将各个记录集的个数赋值给汇总部分的相应文本框,更改status为已结账.选择操作员的意义在于管理员可以核对该操作员所上交的钱和系统的账目上的收入金额是否一致,对于后台数据库没有多少影响.此处的操作员应为广义上的操作员,即包括有注册,充值,退卡等权限的管理员

2.添加删除用户:

选择用户级别,填写用户信息,然后更新user_info中的数据.

3.基本数据设定:

该表的意义在于为上下机的结账提供依据.表中数据分别有一下意义:

(1)准备时间:为上机学生提供一定的准备时间,该时间段内不收费

(2)最少上机时间:如果上机时间少于该数,则按照最少上机时间收费

(3)递增单位时间:在上机时间大于最少上机时间的情况下,按照递增单位时间计算上机时间,不足一个单位时间的按照一个单位时间计算.

(4)每半小时费用:根据实际情况,递增单位时间应该是半小时的整数倍,所以设定每半小时的费用,依此计算上机费用.

4正在值班教师查询:

在教师工作记录表中查询status"true"的记录即可.

5日结账单

6周结账单

共用checkday_info一张表,日结时只对当天的充值金额,消费金额和退卡金额各进行求和结算,更新数据,然后用报表显示出来.有打印和打印预览功能.周结时,选择起止日期,为防止有某日未结账而直接从数据库中读取数据将漏掉数据的情况,先将该时间段内的记录删除,然后执行日结的过程,重复次数为该时间段的天数.然后再从数据库中读取这些记录并显示.


登录窗体

1.考虑是否在线

2.判断用户名是否合法

3.判断用户名和密码是否一致

4.判断权限

上机

判断是否注册,

是否正在上机,

判断最小余额,小于最少余额,提示余额不足.

满足条件开始上机

下机

准备时间内不收费

消费时间consumetime=offtime-ontime

计费时间=consumetime-preparetime

如果上机时间<准备时间,则直接下机不收费

如果准备时间<上机时间<至少上机时间,则按照至少上机时间收费

如果上机时间>至少上机时间,则按照递增单位时间收费



原创粉丝点击