📄 readme.txt
字号:
////////////////////////////////////////////////
1 问题定义 (要解决的问题是什么)
////////////////////////////////////////////////
1.1 编写目的
作为产品出售。与程控交换机通讯交换数据,计算话费写入到结帐单中。
可以控制分机开通等级,控制押金,及统计报表等。
1.2 范围
酒店客房,话吧及其它使用程控交换机的场所使用。不包括交换机深度控制。
本软件为中小型程控交换机管理计费软件。
///////////////////////////////////////////////////////////////////
2 可行性研究 (对于上一阶段所确定的问题有行的通的解决办法吗)
//////////////////////////////////////////////////////////////////
本公司开发了客房管理系统,需要自己的电话计费程序来和客房部分通讯记账。
因为是自主开发,所以扩充功能余地大。
关于交换机,本公司没有采购,可以借用皇朝绿洲的交换机环境来开发。
不过,在开发结尾时的软件调试及测试工作比较麻烦。
///////////////////////////////////////////////////////////////////
3 需求分析 (为了解决这个问题,本系统需要做什么)
//////////////////////////////////////////////////////////////////
3.1 数据字典
1 中继线号
2 出局
13 起步
4 步长
5 计次
6 费率
7 折价率
8 双端口通讯:一台电脑,一套接收程式,两台交换机。
9 第二费率
10 通话类型: 国际电话、国际地区、国内长途、移动电话
信息台、本地、呼入计费电话
11 通话类型编号:顺序流水号
12 标识号码: 能唯一标识次通话类型的号码,例如00代表国际长途
3.2 功能分析
登陆管理
登陆检验用户名,密码,权限。根据权限控制功能。
修改密码功能
能修改密码。
分机信息管理
由系统管理员管理,添加分机,删除分机,修改分机信息等。分机信息修改包括
用户话费限额、开通标志、描述、开通权限及其他一些属性的维护。叫起。等级控制。
免打扰。
部门信息维护
有系统管理员管理,添加部门,删除部门,及修改部门信息,及为部门加入分机。
费率管理
对电话费率进行管理。分国际电话、国际地区、国内长途、省内长途、移动电话
郊县电话、信息台、本地、呼入计费电话分类管理。修改费率属性。
折扣管理
每种计费规则的手续费率、附加费率、及优惠时段的折扣费率设定。
折扣管理细节待定。
假日管理
设定假期日期。
自动计费功能
从电话交换机接受字符串,经数据分析后算出余额,写入数据库保存。
难点: 计费规则。
处理数据库时需要独享,用一个变量记录独占。
每次计费以开始时间记录。例如:每6秒0.70元。需要按开始时间计费的。
手工录入话单功能
手工录入话单,用于非直拨长途电话手工计费或发生意外故障时补入话单。
修复话单功能
对于分析不成功的话单,修复时使用。然后自动入账。
通话明细查询
查询通话明细,按时间,按分机号,按通话类型。
统计报表管理
部门分机清单
分机月报表
部门月报表
每日统计表
各类通话类型日报表
各类通话类型日报详表
各类通话类型月报表
各类通话类型月报详表
费率表、基本费率表、计费参数及总机房其它收入日报表的打印
3.3 系统性能要求
接受缓冲区需要1K左右,可以用CString对象来做。需要一个本地ACCESS数据库,
机器配置一般即可。重新启动?
3.4 运行要求
系统运行时,需要一台电脑,操作系统为windows98/2000/xp。
本地安装SQL Server2000。服务器端需要SQL Server 2000数据库。
需要与一个交换机通讯的串口。
3.5 将来可能提出的要求
控制押金
控制电话开通级别
接通电话即显示
/////////////////////////////////////////
4 总体设计(总体分析功能及实现)
/////////////////////////////////////////
数据库采用SQL Server 2000数据库,需要实现的功能为自动计费,控制电话等级,
查询话单,手动入账,费率折扣等设置,通讯设置,报表打印。其中计费,
控制需要两个串口来进行。查询话单,费率折扣设置,报表打印不需要串口支持,
可以放在服务器或客户端,直接访问或通过网络访问服务器数据库中的相应表即可实现。
控制电话等级需要放在客户端,与客房前台相连,由客房前台升降等级。
暂时可以将所有功能写入一个软件TelManager中,待以后加入接口。
主程序需要弹出一个窗体来实现电话升降级。发送Ctrl +K到串口,
会收到交换机基本信息的字符串,然后发送"chtrfc:2,2,2,2,8000;",
收到"X00238^Z"即为设置正确,否则,设置不正确。
自动计费功能可放在服务器端,也可以放在客户端,
计费时主程序从串口接收字符串,主程序需要先判断是否收到结尾,
收到结尾后,分析字符串符合规范写入数据库原始数据表中,
然后分析字符串,得出主叫,被叫,时长等信息,通过检索费率,折扣,节假日等信息得出金额。写入数据库通话明细表中,如成功,修改原始数据表中的Deal字段。如果不成功,不修改Deal字段。
修复话单功能需要放在客户端,提示检索数据库中原始数据中Deal字段为未处理的记录,
需要手工入账。
手工入账需要放在客户端,需要手动录入分机号码,金额 信息,然后写入通话明细中。
算钱方式:收到字符串,分析得到主叫,被叫,通话时间,通话时长,中继。根据被叫号码比对
根据费率表得到纪录
国际电话00 ->
国内长途0 -> 检索4位号
外地移动电话013X
移动电话13X
本地通话
特殊号码
信息台
附加费1的计算方法:
每次固定收 元 / 次
附加费2
此次价格打折之后金额的百分比。
手续费1
固定值。
手续费2
打折后,不包含附加费1 附加费2,手续费1的总话费的%
主程序启动后,读入参数,连接数据库。每个窗体使用一个连接。
/////////////////////////////////////////////
5 详细设计(应该怎样具体地实现这个系统)
////////////////////////////////////////////
*********************************************************
5.1 启动画面 (Begin Splash)
*********************************************************
待实现功能 初始化连接数据库并且和交换机沟通。
*********************************************************
5.2 登陆功能 (Login Function)
*********************************************************
功能:
系统登陆功能,并记录操作员等级。
输入:
人员名字:字母数字 用户选择 combo
人员编号:字母数字 用户手动输入 0<长度<8
人员密码:字母数字 用户手动输入 0<长度<8
加工:
检索数据库用户表,并根据用户编号检验用户密码。
如果正确记录本操作人员编号,名称,等级,人员名称在状态栏中显示,
人员编号记为全局变量中,更改工号时使用,等级记录在全局变量中,
判断权限时使用。如果错误,提示。3次错误退出。
输出:
登陆正确,登陆错误
*********************************************************
5.3 分机信息管理功能 (Extension Manager)
*********************************************************
功能:
分机信息管理功能,添加删除分机功能,修改分机信息功能:
断此用户是否有权限,判断此分机是否有未结话单,如有未结话单,提示不
允许删除此分机。
输入:
分机号* 字符串 4 // 主键
描述 字符串 16 // 前台
开通标志 字符串 2 // y
话费限额 字符串 8 // 99999999
开通等级 字符串 2 // 0
是否需要密码字符串 2 // n
密码 字符串 10 // 0
是否叫醒 字符串 2 // y
叫醒时间 字符串 20 // 0000-00-00 00:00:00
是否计费 字符串 2 // y
月租费 字符串 10 // 0.00
加工: 1 分机号码为主键,
2 全部为默认值。
输出: 添加记录到分机信息表中。
**************************************************************************
5.4 部门信息管理功能 (Dept Setup)
**************************************************************************
功能:
添加部门:
输入:
部门编号:
部门名称:
加工:
部门编号,部门名称都必须是唯一的。
输出:
添加到部门表中
功能:
删除部门:
输入:
部门编号:
加工:
删除部门表中=此部门编号的字段。
查看:
输入: 无
加工: 不加工。,
输出: select * from 部门详表。
设置分机:
输入: 部门编号:
分机号:
加工: 检验分机号是否是唯一。如果唯一输出。其中部门编号,分机号为用户选择的。
输出: 添加记录到部门详表,分机号为主键。
***************************************************************************
5.5 费率设置功能 (Rate Setup)
***************************************************************************
引言:
设置费率 分开设置 新增,删除,修d改功能。
国际电话、国际地区、国内长途、省内长途、移动电话
郊县电话、信息台、本地、呼入计费电话
输入:
以下字段都不允许为空
通话类型编号* 字符串 2 // 顺序产生
标识号码 字符串 10 // 手动输入
通话类型 字符串 10 // 手动输入
起算秒数 字符串 4 // 手动输入 默认是0
首次时长 字符串 4 // 手动输入 默认是0单位是秒
首次价格 字符串 10 // 手动输入 默认是0
每次时长 字符串 4 // 手动输入 默认是0单位是秒
每次价格 字符串 10 // 手动输入 默认是0
附加费1(元/次)字符串 4 // 手动输入 默认是0
附加费2 (%/次)字符串 4 // 手动输入 默认是0
手续费1(元) 字符串 4 // 手动输入 默认是0
手续费2(%) 字符串 4 // 手动输入 默认是0
是否折价1 字符串 2 // 手动输入 默认是n
加工:
分开设置 新增,删除,修改功能。
*************************************************************************
5.6 折扣设置功能 (Cheapen Setup)
*************************************************************************
引言:
设置折扣
输入:
序号 字符串 2 // 0
通话类型编号字符串 2 // 2
减价区域 字符串 16 // 优惠时段1
起始时间 字符串 10 // 00:00:00
结束时间 字符串 10 // 00:00:00
折扣率 字符串 4 // 0
是否折扣 字符串 2 // y
加工:
输出:
进位设置功能
***************************************************************************
5.7 假日设置窗体 (Holiday Setup)
***************************************************************************
添加假日
引言: 添加假日。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -