《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于ASP.NET2.0的技改工程管理平台的设计与实现
基于ASP.NET2.0的技改工程管理平台的设计与实现
来源:微型机与应用2011年第22期
杨 扬
(河南省电力通信自动化公司, 河南 郑州450052)
摘要: 设计并实现了一个基于ASP.NET2.0的技改工程管理平台系统。系统采用ASP.NET2.0作为开发工具,采用了Access数据量,并对系统的角色划分、数据库的结构、系统的功能模块划分、审批流程等作了一系列阐述。
Abstract:
Key words :

摘  要:  设计并实现了一个基于ASP.NET2.0技改工程管理平台系统。系统采用ASP.NET2.0作为开发工具,采用了Access数据量,并对系统的角色划分、数据库的结构、系统的功能模块划分、审批流程等作了一系列阐述。
关键词: ASP.NET2.0; 数据库设计; 技改工程

    随着企业的规模扩大,申报项目的不断增多以及公司内部信息化水平的提高,传统的科技项目、技改项目的申报方式已经无法满足目前信息化的需要。针对这种情形,运用信息化的手段,设计一个适用于公司内部的技改工程管理平台,可以改善当前申报项目效率低下的状况,有利于项目集中管理、历史查阅,更高效地协助计划部做好相应的项目管理工作。
    本文设计和开发的技改工程管理平台是以B/S结构为基础,运用ASP.NET2.0技术和Access数据库,充分利用VS2005提供的各种功能控件。实现项目审批、流转、发回、导出等功能。以最少的人力、物力实现最大的功能。
1 ASP.NET2.0介绍
    ASP.NET2.0是建立在微软新一代.NET平台架构上,利用普通语言运行时(Common Language Runtime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架[1]。ASP.NET2.0主要包括WebForm和WebService两种编程模型。前者为用户提供建立功能强大、外观丰富的基于表单的可编程Web页面。后者通过对HTTP、HTML、SOAP、WSDL等Internet标准的支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面。
    ASP.NET2.0的优点除了比传统 ASP 的运行速度更快、具有服务器控件、采用“code-behind”方式编写代码使得代码更易于编写外,还支持应用程序的实时更新、自动检测变化并根据需要动态编译文件。它不但使执行效率大幅度提高,对代码的控制能力也很强,并且支持Web Controls功能和多种语言,提高安全性、易管理性和高扩展性。
    与ASP.NET 1.x相比, ASP.NET2.0在提高开发效率、简化管理、提高性能等方面有了进一步的增强。主要表现在:更丰富的服务器控件,增加了40多个控件类;增加了主题和母版页,使得网站更容易建立统一的风格和布局;成员资格和角色管理实现了模块化和自动化;增加的数据控件能更加方便地连接数据源和绑定数据;Web部件的增加为用户浏览页面提供了布局调整等多种个性化页面功能;个性化用户配置的增加为存储单个用户的配置数据提供了方便。
2 系统角色的划分
    根据需求分析中各个不同角色的不同权限,该系统共分为5种角色[2],每种角色分别享有不同的权限。这5种角色按照权限的大小从低到高依次为:
    (1) 普通用户。其权限为对“十二五”规划的项目和年度计划的项目有增、删、改的权限;可查询本部门的当前项目和历史项目。
    (2) 部门主任。其权限为除对“十二五”规划的项目和年度计划的项目有增、删、改的权限之外,还可将本部门的项目上报给主管领导;可查询本部门的当前项目和历史项目。
    (3) 公司领导。作为主管领导的角色可以审批部门上报的项目,作为公司领导的角色可以审批计划部最终讨论通过的项目,对项目具有发回和批准上报的权利。对项目的细节可以查看和修改;可查询本公司的当前项目和历史项目。
    (4) 计划部 。其权限为对主管领导批准的项目进行讨论,讨论通过后上报公司领导。对公司领导批准报送的项目进行立项、上报省公司或国网公司,对没有通过省公司审核的项目将其发回部门;可查询本公司的当前项目和历史项目。
    (5) 管理员。其权限为管理数据库中的全部表信息;备份数据库;添加用户等。
3 数据库设计
    根据系统的需要,当前数据库中共设计了13个表,分别是技改项目表、技改工程完成明细表、项目资料表、项目进度信息表、年度技改计划表、项目里程碑计划表、三年技改计划表、项目验收表、等待处理事项表、竣工结项表、出资明细表、用户表、部门表。图1、图2为技改系统中比较重要的两个表的结构。

4 系统设计思路
4.1 系统的功能模块

     系统从功能上可以划分为多个功能模块[3],分别是“十二五”规划、年度计划、里程碑计划、系统管理。这几个功能模块针对不同的角色分别对应不同的权限,如“十二五”规划,部门普通员工只能添加和修改,部门主任除了增删改还具有上报功能;主管领导具有查看、修改和批准报送的功能;计划部具有上报公司领导和对项目上报省公司、归档等功能。图3为系统软件总体结构图。

 

 


4.2 审批流程
    审批流程大致为:发起人填写项目基本信息→部门主任审核、上报→主管领导审核、批准报送给计划部→计划部审核、上报给公司领导→公司领导批准报送给计划部→计划部上报给省公司。任意一个审批环节没有通过,都会将该项目发回申报人所在部门。流转过程如图4所示。

    为了实现项目审批流转的功能,本系统主要采用了状态位来判断一个项目目前的状态:
  (1) 部门上报给主管领导的状态;
  (2) 主管领导批准报送给计划部的状态;
  (3) 计划部上报给公司领导的状态;
  (4) 公司领导批准报送给计划部的状态;
  (5) 计划部上报省公司的状态;
     通过状态位就可以准确地定位项目目前的状态。在页面上只有当前要审批该项目的人员可以看到该项目。如果某个项目的审批流程结束后,领导或者计划部就可以在历史项目中查询该项目的基本信息。
4.3 程序难点分析
4.3.1 附件的添加和下载

    附件的添加和下载功能实现起来相对复杂,其实现原理是:针对每个项目建立一个文件夹,存放该项目的附件,文件名为项目编号,每次查看该项目内容时通过项目编号将该项目文件夹下的文件名依次列出[4],图5为图控项目中的附件,点击“浏览”即可打开该附件进行查看。

4.3.2 项目EXCEL报表的自动生成
    项目EXCEL报表的自动生成功能主要通过一个导出函数来完成[5]。下面这段代码实现的功能就是将数据库中年度计划表中的所有项目导出到一个EXCEL文件中。
      private void Export(string FileType, string FileName)
    {
      System.Web.UI.WebControls.GridView dgExport = new GridView();
      dgExport.DataSource=DataAccess.Select("SELECT 项目编号AS序号、项目名称、存在问题AS现状及存在的主要问题;主要内容AS项目主要内容、开始时间、结束时间、总投资、累计投资AS之前累计投资、合计、小计、省折旧、单位折旧、其他、上年结转、备注 FROM AnualPlan");
    dgExport.DataBind();
        Response.Charset = "GB2312";
        Response.ContentEncoding = System.Text.Encoding.UTF7;
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
    Response.ContentType = FileType;
          this.EnableViewState = false;
      StringWriter tw = new StringWriter();
          HtmlTextWriter hw = new HtmlTextWriter(tw);
          dgExport.RenderControl(hw);
          string a = tw.ToString();
         a = a.Remove(a.IndexOf("<tr>"), a.IndexOf("</tr>") - a.IndexOf("<tr>") + 5);
          a = a.Insert(a.IndexOf("<tr>"), " <tr><th colspan=′15′ rowspan=′1′ scope=′col′ > 年 部技 术 改 造 计 划 项 目 表</th></tr><tr><th align=′right′ colspan=′15′ rowspan=′1′ scope=′col′>资金单位:万元</th></tr>"
    + " <tr>"
              + "  <th scope=′col′ rowspan=′3′>"
              + "  序号</th>"
              + "  <th scope=′col′ rowspan=′3′>"
              + "  项目名称</th>"
              + "   <th scope=′col′ rowspan='3'>"
              + "  现状及存在的主要问题</th>"
              + "   <th scope=′col′ rowspan=′3′>"
              + "   项目主要内容</th>"
              + "   <th scope=′col′ rowspan=′3′>"
              + "   开始时间</th>"
              + "   <th scope='col' rowspan=′3′>"
              + "   结束时间</th>"
              + "  <th scope=′col′ style=′width:42px′ rowspan=′3′>"
              + "   总投资</th>"
           + "   <th scope=′col′ rowspan=′3′>"
           + "   之前累计投资</th>"
           + "   <th scope=′col′ colspan=′6′>"
           + "       本年度计划</th>"
           + "  <th scope=′col′ rowspan=′3′ style=′width: 31px′>"
              + "   备注</th>"
              + "  </tr>"
              + "  <tr>"
              + "  <th scope=′col′ rowspan=′2′>"
             + "合计</th>"
             + " <th scope=′col′ style=′height: 22px′ colspan=′4′>"
              + "   本年度资金</th>"
              + "      <th scope='col' rowspan='2'>"
              + "      上年结转</th>"
              + "   </tr>"
              + "    <tr>"
              + "    <th scope=′col′>小计</th><th scope=′col′>省折旧</th><th scope=′col′>单位折旧</th><th scope=′col′>其他</th>"
              + "    </tr>");
         Response.Write(a);
    Response.End();
  }
4.4 系统管理
    系统管理主要负责对数据库中所有表的管理,包括修改和删除、增加用户、备份和恢复数据库等。
    通过对技改工程管理平台进行分析和功能设计,本人对公司项目管理方面的流程已经比较熟悉,并将其功能和流程设计到技改工程管理平台中。实现了需求分析的全部要求。到目前为止,项目I期的计划已经全部完成。平台已经在公司试运行,并取得了良好的效果。
参考文献
[1] 范振钧.基于ASP.NET的三层结构实现方法的研究[J]. 计算机科学,2007,34(4):289-291.
[2] 王畅,王玲. 企业人事工资管理系统的设计与实现[J].电脑学习,2010,3(6):85-88.
[3] 郝刚,袁永刚,严治国. ASP.NET 2.0开发指南[M]. 北京: 人民邮电出版社, 2006.
[4] 李万宝.ASP.NET技术详解与应用实例[M].北京:机械工业出版社,2005.
[5] 孟宪会,张慧妍. ASP.NET 2.0 应用开发技术[M].北京:人民邮电出版社,2006.

此内容为AET网站原创,未经授权禁止转载。