急!一个发票校正号的问题,比较复杂,高手请进!
要完成一个发票校正功能,在设计过程中出现了一些问题,欢迎大家指点。
数据库结构
autoid userid num_start num_end num_used flag
autoid: 自动编号
userid: 管理员ID
num_start: 票据起始号
num_end: 票据结束号
num_used: 发票校正号,必须唯一,它是一组递增的数字。
flag: 新开票据标志(新添加一组票据标记为1,使用过程中插入的数据标记为0)
功能说明:
每个管理员可以有多组票据,但必须在一组使用完时再用另一组,而且是从小的那一组开始用,再用大的票据组。
每插入一组数据时 "num_used"会递增一个,直到这一组数据用完为止,再去衔接该管理员的下一组票据。
举例:
autoid userid num_start num_end num_used flag
1 2 1 1000 0 0
2 2 1 1000 0 0
3 2 1 1000 1 1
4 3 1001 3000 0 0
5 2 1 1000 2 1
6 2 3001 5000 0 0
....
1101 2 1 1000 999 1
数据说明:
autoid为1、2、4、6的是超级管理员给管理员新开通的票据(flag标记为0),其他的是在使用过程中新增的数据。
问题:
如何去查寻每个管理员自己的票据组,并找到当前正在使用的那组票据,不致于混乱。
如果该管理员没有票据,或票据用完时,就要提醒。还有当一组票据用完时,如何去配对
该管理员的下一组较小的票据组,也就是换一组票据,重新开始使用。