我真是服了我们老板了!!!
一边催我们快做快做,要把东西在N天之内完成,一边又不断地加新功能。
今天又要加上为每个用户设置一个权限。
我在这个系统中设计了一个tUser表(用户)和tMonitor(摄像头表)。
在tUser表中有一个int型表示权限。我知道可以用&操作来判断是否具有这个权限的功能。
但老板说要用户1可以查看指定的一个或多个摄像头。
用户2可以查看其他指定的一个或多个摄像头。
在实际应用中,我估计可能是这样子的:
用户1是销售部经理,他可以查看属于销售部的摄像头。
用户2是测试部经理,他可以查看属于测试部的摄像头。
我现在头脑有点乱了。还没有想好怎么设计。
在和同事配合过程中,今天发现了一个大问题:
他的理解和我的思路不一致!
在客户端倒没什么,但到了管理端,我设计了数据库如下:
============================================================================
tMonitor (摄像头表)
主键、索引 字段名字 类型 长度 允许空 描述
主键 nID 自动增量 4 0 记录ID。
sCompanyID nvarchar 13 0 应用平台ID.
nMonitorID int 4 0 摄像头ID.
sName nvarchar 256 0 摄像头名
sIP nvarchar 16 0 摄像头IP(局域网可以访问的IP)
nPort smallint 2 0 摄像头端口号(局域网可以访问的端口)
nFPS smallint 2 0 摄像头图像传送速率 每秒*帧
sSnapShotFolder nvarchar 300 0 摄像头拍照的路径(相对路径,/开头),允许用户修改
bEnabled smallint 2 0 是否启用。1:启用,0:禁止。
bConnected smallint 2 0 状态是否连通。
lDeptID int 4 1 部门ID,默认0.为保持兼容,允许空
============================================================================
tMonitorLog(摄像历史记录表)
主键、索引 字段名字 类型 长度 允许空 描述
主键 nID 自动增量 4 0 记录ID。
sCompanyID nvarchar 13 0 应用平台ID.
nMonitorID int 4 0 摄像头ID。
sFileName nvarchar 256 0 文件名
sLogPath nvarchar 256 0 当前记录的路径(相对路径,/开头)
nFileSize bigint 8 0 文件大小.
nStatus smallint 2 0 0:初始状态。
nRecvSize bigint 8 0 已经接受的长度
dtLogTime datetime 8 0 记录的时间
============================================================================
tMonitorCommandLog(摄像历史记录读取命令表)
主键、索引 字段名字 类型 长度 允许空 描述
主键 nID 自动增量 4 0 记录ID。
sCompanyID nvarchar 13 0 应用平台ID.
nMonitorID int 4 0 摄像头ID。
dtStartTime datetime 8 0 开始记录的时间.
dtEndTime datetime 8 0 终止记录的时间.
nFileType smallint 2 0 需要传送的文件类型0:照片1:视频
nStatus smallint 2 0 0:尚未执行
============================================================================
还有很多表...
她把tMonitorLog/tMonitorCommandLog等表中的nMonitorID对应于tMonitor的nID。而不是tMonitor的nMonitorID!
还怪我我没有和她讲清楚。晕啊!!!
我举了很多情况,说明了如果按照她理解所带来的严重后果。
我知道她工作很忙,如果再加上权限功能,则工作量会更大。
但真的是没有办法!只能她那里改~
我想她心里一定对我很不舒服,可是没办法!
这几天工作压力太大了,每天都很晚才回去。
过几天你看着,又会说我项目拖了这么久了!!!唉.........
============================================================================