ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:385.97KB ,
资源ID:7091703      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7091703.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(详细设计文档.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

详细设计文档.docx

1、详细设计文档详细设计文档文档编号 V1.0 版本 密级 研发生产中心 项目名称 报表审批发布功能 项目来源 报表审批发布功能 详细设计说明书 2011-03-26 编 写: 范屹 日 期: 检 查: 日 期: 审 核: 日 期: 批 准: 日 期: 版权所有 不得复制 文档变更记录 序号 变更(+/-)说明 作者 版本号 日期 批准 1 新建文档 范屹 V1.0 2011-03-26 2 1. 引言. 4 1.1 编写目的和范围 . 4 1.2 术语表. 4 1.3 使用的文字处理和绘图工具 . 4 1.4 定义. 4 1.5 BI系统总体架构(基于已有的BI系统上进行开发) . 4 2. 模

2、块设计. 6 2.1 用例图. 6 2.2 功能设计说明 . 8 3. 数据库设计 . 30 . 30 3.1 表.3.2 视图. 32 4. 系统出错处理 . 34 1. 引言 1.1 编写目的和范围 企业内部的各类报表指标为是需要上报给上级领导进行查看,企业的掌舵者对企业将来发展的决策都是根据这些报表指标来进行的,尤其是企业内部的财务和资金数据更不能有一丝一毫的偏差。因此这些指标数据如果发生错误,将会对企业将来的发展造成很大影响,所以对于此类数据,需要通过层层审批、确认正确后才能进行展示。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软

3、件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 1.2 术语表 序号 术语或缩略语 说明性定义 1 DW 数据仓库(Data Warehouse) 2 BI 商业智能(Business Intelligence) 1.3 使用的文字处理和绘图工具 文字处理软件:WPS Office 2010 绘图工具:Visio 1.4 定义 AJAX:AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),AJAX并Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网

4、页开非缩写词,而是由发技术。1.5 BI系统总体架构(个人对BI系统理解) 2. 模块设计 2.1 用例图 2.2 报表指标管理处理流程图 2.3 审核操作处理流程图 2.4 功能设计说明 用例名称:查看报表模块 用例标识号:101 参与者:操作人员 简要说明: 操作人员在相关主题树状菜单中选择需要查看的报表 前置条件: 操作人员已经成功登录M1BI系统。 基本事件流: 1(操作人员鼠标点击某主题树形菜单中的报表 2(如果报表审核能过,则可以正常显示 3(如果报表未能被审核能过,则不会显示报表,且显示提示信息 4(用例终止 其他事件流A1: 异常事件流: 后置条件: 操作人员可以查看所需要的报

5、表 主要程序代码清单: 清单1:是否有特权可以访问报表 private boolean isExtraPrivilege(TreeNode node,TDmGyUser User)throws Exception /获取报表负责人所在的单位 因为不通过报表数据的维度来看这个问题而是通过报表对象来看这个问题 String gnDm = this.pzgl.getReportUserOrg(node.getNodeid(); /取出当前登录用户所在的组织和节点信息 UserOrgMapping mapping = this.pzgl.getOrgMappingByUser(User.getMc()

6、; if(mapping != null) /如果当前 的登录用户是报表负责人的上级,则也可以 查看此报表 if(isMyBoss(mapping.getGnDm(),gnDm) return true; else /如果当前查看用户(或者 是登录用户) 已经被授过权了,则也能查看些报表 List matchUsers = this.pzgl.getCanViewThisReportUsers(node.getNodeid(); if(matchUsers.contains(User.getMc() return true; else return false; else return fal

7、se; 清单2:判断是否能显示报 public boolean canDisplayReport(TreeNode node)throws Exception int count = 0; /判断当前报表是下属子公司 是否都 已经审核发布完成 count = this.pzgl.countNotPubAudit(node.getNodeid(); if(count 0) return false; else /判断当前报表是否存在一个指标,此指标也同时存在于其它未发布的报表中的 count = this.pzgl.countNotPubWithIndex(node.getNodeid(); i

8、f(count 0) return false; else /判断是否当前报表中的指标是否都被审核过了 count = this.pzgl.countReportNotAudit(node.getNodeid(); if(count 0) return false; else /判断当前报表中是否还有没有审核通过的指标 count = this.pzgl.countReportIndexNotAudit(node.getNodeid(); if(count 0) return false; else return true; 清单3:通过回逆的方法,判断当前登录用户是不是报表创建者的组织的上级

9、 如果是就返回true,如果不是就返回false public boolean isMyBoss(String my,String comparator)throws Exception OrgInfo info = this.pzgl.getOrgInfo(comparator); if(my.trim().equals(info.getSjgnDm().trim() return true; else if(0.equals(info.getSjgnDm().trim() return false; else return isMyBoss(my,info.getSjgnDm(); 用例名

10、称:报表展现页面审核操作 用例标识号:102 参与者:操作人员 简要说明: 在报表展现页面内提供页面的审核操作 由于目前存在上级公司可以查看下级公司的未审核通过的报表,或者授过权的用户也可以直接查看未经审核的报表。 前置条件: 操作人员已经成功登录M1BI系统。 查看的报表,报表本身及内部指标必须经过审核 如果未能通过审核,当且仅当登录用户必须属于上级公司人员或者已授权用户才能正常访问报表 基本事件流: 1(如果是已经发布的报表,可以点击报表顶部的反发布按钮 2(点击“反发布”按钮后,则报表进入待审核状态,则报表顶部会出现当然的报表状态,以及“审核”,“打回”二个操作按钮 3(当点击“审核”操

11、作按钮,则报表状态变更为已审核,则会出现“发布”及“反审核”操作按钮 4(点击反审核后,报表状态变更为待审核状态,页面可参照第2步骤 5、点击“发布”按钮后,报表状态变更为发布状态,页面可参照第1步骤 6、接第2步骤,如果点击“打回”操作按钮,则报表状态变更为未审核状态,页面会出现“审核”操作按钮 其他事件流A1: 状态变更图: 后置条件: 如果进行报表展现页面审核操作后 如果报表状态为发布,则操作人员可以正常访问报表 如果未能通过审核,当且仅当登录用户必须属于上级公司人员或者已授权用户才能查看报表,反之不能正常访问报表 主要程序代码清单: 清单1:AJAX调用的js方法,处理页面展现时的审核

12、操作 function handlerAudit(userid,nodeid,operation) /alert(operation); var returnValue = xmlhttpsend($appPath/changeAuditStatus.action,&NodeID= + nodeid + &operation= + operation); var str = ; var buttonStr = ; if(returnValue!=null & returnValue!=) if(returnValue = 1) str += 未审批; buttonStr += ; else i

13、f (returnValue = 2) str += 待审批; buttonStr += ; buttonStr += ; else if (returnValue = 3) str += 已审批; buttonStr += ; buttonStr += ; else if (returnValue = 4) str += 已发布; buttonStr += ; else str += 审批 操作有误; document.getElementById(ajaxHandlerResult).innerHTML = str; document.getElementById(ajaxTakeIn).

14、innerHTML = buttonStr; 清单2:报表审核状态的枚举类 public enum ReportAuditStatus NOAUDIT(1),/未审核 WAITAUDIT(2),/待审核 AUDITED(3),/审核过 PUBLISHED(4);/发布 private String value; private ReportAuditStatus(String value) this.value = value; public String getValue() return value; 用例名称:报表数据组织检索(审核管理) 用例标识号:103 参与者:操作人员 简要说明:

15、 每个报表下面存在着多个不同的数据组织,我们需要根据状态及数据组织名称(也就是公司名称)进行检查 前置条件: 操作人员已经成功登录M1BI系统,且必须有审核管理权限 基本事件流: 1(点击“系统管理”下面的“审核管理”菜单项 2(然后选择右边的树状菜单项中的具体报表 3(在右边的查询页面,选则过滤条件,然后点击查询按钮,然后会出现查询结果。查询字段中会出现“审批公司”,“状态”信息项以及操作铵钮s 4(用例终止 其他事件流A1: 异常事件流: 后置条件: 操作人员可以查看所需要的报表数据组织 主要程序代码清单: 清单1:审核管理页面查询 public String shglQuery() th

16、rows Exception /公共属性 start ActionContext ctx = ActionContext.getContext(); HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST); HttpSession session = request.getSession(); TDmGyUser users = (TDmGyUser)session.getAttribute(USER); HttpServletResponse response =

17、 (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE); /end /审核状态 String status=request.getParameter(status); /报表中文名称 String Text=request.getParameter(Text); /审核公司名称 String company=request.getParameter(company); /报表节点ID String NodeID=request.getParameter(NodeID); /如果报表节点ID不存在,则直接返回 if(S

18、tringUtils.isBlank(NodeID) return ; List list = pzgl.getAuditUnit(NodeID, status, company); if(list != null & !list.isEmpty() UserOrgMapping mapping = this.pzgl.getOrgMappingByUser(users.getMc(); for(int index=0;indexlist.size();index+) Shgl shgl = (Shgl)list.get(index); if(mapping.getGnDm().equals(

19、shgl.getJgDm() shgl.setCanDisplay(true); else if(isMyBoss(mapping.getGnDm(),shgl.getJgDm() shgl.setCanDisplay(true); else shgl.setCanDisplay(false); request.setAttribute(auditJgList, list); request.setAttribute(Text, Text); request.setAttribute(NodeID, NodeID); request.setAttribute(company, company)

20、; request.setAttribute(status, status); return suc; 用例名称:报表数据组织审核(审核管理) 用例标识号:104 参与者:操作人员 简要说明: 操作人员可以对报表下面的数据组织进行审核操作 前置条件: 操作人员已经成功登录M1BI系统,且必须有审核管理权限 报表下面的数据组织只能由组织对应岗位人员进行审核操作 基本事件流: 1(接用例103,当然用户属于物产集团下岗位,则可以对物产集团数据进行审核,目前物产集团数据当前状态为未审核。 2(如果点击通过按钮后,则页面相应变更,而且查询结果会聚集到物产集团数据上,方便操作人员查看 3(如果点击发布操

21、作按钮,则页面变更为 4(具体操作可以参照用例202. 5、用例结束 其他事件流A1: 异常事件流: 后置条件: 主要程序代码清单: 清单1:是否有特权可以访问报表 public void getAjaxInfo() throws Exception /公共属性 start ActionContext ctx = ActionContext.getContext(); HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST); HttpServletResponse

22、response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE); /end String appPath=(String)request.getSession().getAttribute(appPath); if(appPath=null) appPath=/M1BI; response.setCharacterEncoding(utf-8); response.setContentType(text/xml); response.setHeader(Cache-Control, no-cache); TDmGyUser User=(TDmGyUser)request.getSession().getAttribute(USER); String userid=User.ge

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1