- 2.25 MB
- 2022-05-17 13:04:35 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
学号20090801050107密级_____________兰州城市学院本科毕业论文设计学生考勤管理信息系统的设计与实现学院名称:信息工程学院专业名称:计算机科学与技术学生姓名:指导教师:二○一三年五月
BACHELOR"SDEGREETHESISOFLANZHOUCITYUNIVERSITYDesignandimplementationofstudentattendancemanagementinformationsystemCollege:SchoolofInformationEngineeringSubject:ComputerscienceandtechnologyName:FengTaoDirectedby:ZhuZhengpingProfessorMay2013
郑重声明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名:日期:
摘要目前社会上信息管理系统发展飞快,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。学生考勤管理是学生信息管理的重要部分,面对大量的学生信息,采用人力处理将浪费大量的时间、人力和物力,而且统计数据麻烦。一个学校对其学生日常教学过程中的出勤和缺勤进行统计,用计算机对统计数据进行统计分析处理,得到我们所需要的各种统计报表和考勤原始数据,方便了学校对学生的管理。本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统总体上由三大功能模块:请假系统、考勤管理系统和权限管理、后台管理系统。涉及到高校六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管理员。1.请假系统模块本模块的功能是在线请假的时限和管理,主要涉及三大类用户:学生、任课老师、院系领导用户,学生通过此功能模块进行在线请假和记录信息,任课教师在线审批学生请假及查看请假记录信息,院系领导在线审批长时间的请假及查看请假记录信息。2.考勤系统模块本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己的出勤信息;任课教师在线管理学生出勤信息;院系领导、学校领导、班主任查看不同范围的学生出勤信息。3.后台管理模块本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排等信息,是整个系统实现的基础。本学生考勤管理系统采用了SSH技术,以Tomcat为服务器、MySQL为数据库系统毕业设计,建立了一个基于B/S模式的三层体系的学生考勤管理网站,实现了网上考勤任务。关键词:考勤管理;在线请假;权限管理
ABSTRACTAtpresentthesocialdevelopmentofinformationmanagementsystemforfast,intelligentinformationprocessingisthemosteffectivewaytoimproveefficiency,standardizemanagement,objectivereview.Studentattendancemanagementisanimportantpartofstudentinformationmanagement,inthefaceofalargenumberofstudentinformation,usingmanpowerprocessingwillwastealotoftime,manpowerandmaterialresources,andstatisticaldata.Thesystemisaninformationsystemforcurrentcollegestudentsandthestudentsleaveschoolattendancelinemanagementanddesign.Theoverallsystemconsistsofthreefunctionalmodules:leavesystem,attendancesystemandauthoritymanagement,involvessixmajorcategoriesofuniversityusers:students,teachers,classteachers,facultyleadership,schoolleadership,thesystemadministrator.1.leavesystemmoduleThismoduleistolimitandmanageonlineleave,Mainlyinvolvesthreecategoriesofusers:students,teachers,students,facultyleadershipusers,onlineleaveandrecordinginformationbythisfunctionmodule,theteacheronlineexaminationandapprovalandcheckstudentsleaveleaverecordsinformation,leaveandseeleaverecordsinformationfacultyleadershiponlineapprovalinlongtime.2.attendancesystemandauthoritymoduleThismoduleistheimplementationandmanagement,studentattendanceinformationstatisticalview,relatestoallusersinthesixcategoriesofusers.Onlinestudentschecktheirattendanceinformation;theteacheronlinemanagementstudentattendanceinformation;facultyleadership,schoolleadership,teachersviewthedifferentrangeofstudentattendanceinformation.3.BackwardmanagementmoduleThismodulefunctionimplementationsynchronousupdatethesystemdataandmaintenance,involvingonlythesystemadministratoruser.Dynamicsystemadministratormanagementofstudentinformation,coursearrangementandotherinformation,isthebasisofthewholesystem.ThestudentattendancemanagementsystemusingSSHtechnology,usingTomcatserver,MySQLasdatabasesystem,setupawebsitebasedonthestudentattendancemanagementsystemofthreelayersB/S,realizetheonlineattendancetask.Keywords:attendancemanagement;theonlineattendance;authoritymanagement
目录引言...................................................................................................................................................1第一章可行性分析21.1可行性研究的前提21.2要求2第二章需求分析………………………………………………………………………………….....32.1用户需求描述32.1.1学生用户需求描述32.2功能需求描述42.3相关开发工具简介42.3.1B/S(浏览器/服务器)简介52.3.2JSP简介5第三章总体设计63.1系统布局设计63.2总体结构图63.3系统功能流程图83.4数据库设计与实现83.4.1主要实体模型93.4.2E-R模型103.4.3数据库的建立103.4.4数据库的逻辑设计103.4.5数据库表的创建11第四章系统实现264.1登陆界面的设计与实现264.1.1用户登录界面264.2管理员主界面的设计与实现264.2.1管理员主界面264.3添加基础信息界面的设计与实现274.3.1基础信息的设计与实现284.3.2用户管理界面的设计与实现284.4课程管理的设计与实现324.4.1课程管理的增删改查324.5考勤记录的设计与实现344.5.1信息录入的设计与实现344.6请假管理的设计与实现384.6.1学生请假的设计与实现.....................................................................................................38第五章软件测试.............................................................................................................................425.1测试方案425.1.1黑盒测试425.1.2白盒测试425.1.3其他测试方案425.1.4本系统所采用测试方案43
5.2测试过程435.2.1用户登录测试43总结.................................................................................................................................................49参考文献.............................................................................................................................................50致谢51
引言目前各高校校园信息化已逐步完善,而校园网不仅方便了用户,更重要地是提高了办事效率。各大高校有针对师生的成绩查询系统、教务管理系统、招生就业系统、校园BBS论坛、校内网站等一系统系统在各大高校纷纷出现,给高校管理、学校师生的学习、生活、办公带来了便利。但我校的考勤管理模式还是以任课教师上课点到,以及学生会的学生干部、干事课堂查勤来管理。同时,学生请假需要经过系辅导员、系部领导批准才能生效。对于考勤结果,需要进行数据信息的录入以及数据信息的统计,这样比较麻烦,且费时费力,出现误差的概率也比较大。更重要的是暴露出了以下的弊端:一、学生请假不方便;二、学生请假对任课教师不透明。三、学生对自己整个学期的上课出勤情况没有整体的统计信息。四、院系领导、学校领导不能把握住学生的上课出勤情况。由于以上原因,我们小组决定开发学生考勤管理系统,以方便学校对学生的考勤进行管理。在设计的过程中,要求利用面向对象的编程思想来完成系统的设计;建立清晰的类层次;分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。研究方法:通过阅读有关书籍,并在网上查找相关资料(通过网络引擎查找关键字和学校的资源)。基于SSH技术建立的学生日常教学考勤管理毕业设计,其目标是完成高校教学中学生日常教学考勤管理,毕业设计主要包括权限、考勤、请假三个功能模块,其中权限模块实现各用户的权限分配;考勤模块实现按教学班考勤;请假模块审批学生请假等功能;毕业设计采用了SSH技术,以Tomcat为服务器、MySQL为数据库,建立了一个基于B/S模式的学生考勤管理网站。53
引言目前各高校校园信息化已逐步完善,而校园网不仅方便了用户,更重要地是提高了办事效率。各大高校有针对师生的成绩查询系统、教务管理系统、招生就业系统、校园BBS论坛、校内网站等一系统系统在各大高校纷纷出现,给高校管理、学校师生的学习、生活、办公带来了便利。但我校的考勤管理模式还是以任课教师上课点到,以及学生会的学生干部、干事课堂查勤来管理。同时,学生请假需要经过系辅导员、系部领导批准才能生效。对于考勤结果,需要进行数据信息的录入以及数据信息的统计,这样比较麻烦,且费时费力,出现误差的概率也比较大。更重要的是暴露出了以下的弊端:一、学生请假不方便;二、学生请假对任课教师不透明。三、学生对自己整个学期的上课出勤情况没有整体的统计信息。四、院系领导、学校领导不能把握住学生的上课出勤情况。由于以上原因,我们小组决定开发学生考勤管理系统,以方便学校对学生的考勤进行管理。在设计的过程中,要求利用面向对象的编程思想来完成系统的设计;建立清晰的类层次;分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。研究方法:通过阅读有关书籍,并在网上查找相关资料(通过网络引擎查找关键字和学校的资源)。基于SSH技术建立的学生日常教学考勤管理毕业设计,其目标是完成高校教学中学生日常教学考勤管理,毕业设计主要包括权限、考勤、请假三个功能模块,其中权限模块实现各用户的权限分配;考勤模块实现按教学班考勤;请假模块审批学生请假等功能;毕业设计采用了SSH技术,以Tomcat为服务器、MySQL为数据库,建立了一个基于B/S模式的学生考勤管理网站。53
第一章可行性分析1.1可行性研究的前提随着教育事业的飞速发展,我国的教育水平已经跃上了一个更高的平台:普及九年义务教育,本科生、硕士研究生的大量扩招,各高等院校及地州院校的新建与升级,越来越多的学子走进了大学的殿堂,这意味着学生的考勤管理信息任务越来越复杂、繁重,传统的考勤管理系统已无法承担当前的信息量,快速、高效的完成学生考勤信息管理的任务,无法减轻考勤管理人员的工作量与工作压力。传统的考勤管理系统,不能及时将学生的考勤信息进行登记、更新,也可能存在不公平的现象,比如:有的学生逃课,教师点名了,他就去找班主任请假,补个假条,取消自己的缺席记录等等……种种背景使得学校若要快速稳定发展,就必须从加强信息化入手,在各种领域都进行信息化管理,在考勤管理方面也不例外,然而各高校却不太重视考勤管理方面的建设、加强与发展。1.2要求基本运行要求:本组学生所需要开发的软件要求能在本院所有计算机上基于WINDOWS系统运行。同时所开发的软件要能与学校教务管理系统相衔接,进一步完善学校教务管理系统的功能。功能要求:主要功能模块为学生考勤管理中心信息管理、任课教师对学生考勤信息的管理和学生对自己考勤信息的查询。系统能够使查询学生考勤信息,变得更为轻易,并使这些信息更为一目了然。安全要求:登陆系统时,需验证身份和密码,只有通过验证的身份才能进入系统进行相关的操作。系统间信息的传递也需要进行安全设置,以防止学生的考勤信息被恶意篡改。同时该系统还需具有灵活性、兼容性等要求。53
第二章需求分析2.1用户需求描述2.1.1学生用户需求描述学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“高等数学”这门课程在整个学期请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节课等详细信息。其它需求:查看本人基本信息,如本人所属院系、年级、专业、班级、学号、姓名等,以及修改个人用户密码。2.1.2任课教师用户需求描述任课教师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。管理学生上课出勤需求:考勤表随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。查看学生出勤信息需求:查看所教班级学生整个学期上出勤统计信息及详细信息。其它需求:查看上课课表,本人基本信息以及修改个人用户密码。2.1.3班主任用户需求描述班主任对系统的主要需求是:查看本班学生上课出勤信息。查看出勤信息需求:输入查询条件后,系统根据查询条件列出本班学生相关的上课出勤信息。其它需求:查看有关全班的基本信息以信修改个人用户密码等。2.1.4院系领导用户需求描述院系领导对本系统的主要需求是:查看本院学生本学期所有课程的上课出勤信息。查看学生上课出勤信息需求:查看本院学生整个学期有关课程的上出勤统计信息及详细信息。53
其它需求:查看本院学生的基本信息、修改个人用户密码等。2.1.5校领导用户需求描述学校领导对系统的主要需求是:查看全校学生上课出勤信息。查看出勤信息需求:输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤信息。其它需求:查看有关全校的基本信息以信修改个人用户密码等。2.1.6系统管理员用户需求描述系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:1.管理学校各院系、年级、专业、班级的添加、删除、修改等。2.管理每个学期每个班级的课程安排及指定院系领导和任课老师。3.管理系统所有用户。4.管理全校每学年开学的起止时间。5.管理系统的考勤信息。2.2功能需求描述根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。请假系统功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过1个月,特殊情况除外。考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。2.3相关开发工具简介根据各用户的需求,以及系统各大功能的需求,经过大量的调查分析,针对本高校学生考勤管理系统选择以下开发工具进行开发:53
系统结构:B/S(浏览器/服务器)开发语言:Java、JSP、javascript数据库:MySQLServer5.5、SQLyogEnterprise系统环境:JDK1.6以上版本、apache-tomcat-6.0.26以上版本开发工具:Myeclipse10 2.3.1B/S(浏览器/服务器)简介B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对网络环境依赖性太强,由于各种原因引起网络中断都会造成系统瘫痪。2.3.2JSP简介JSP的全称是JavaServletPages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*htm)中加入Java程序片段和JSP标记,就构成了JSP页面。由Web服务器上的JSP引擎来处理JSP元素,生成调用Bean,并用JDBC访问数据库(或文件),最后以HTML或XML的形式返回浏览器。JSP在Servlet类中编译,编译一次后存入内存,以后再调用时,不用再编译,所以速度很快。2.3.3MYSQL简介MYSQL是一个精巧的SQL数据库管理系统,而且是开源的数据管理系统。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。2.3.4MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE53
集成开发环境,包括了完备的编码调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。第三章总体设计3.1系统布局设计系统页面采用框架来设计,不同的用户有不同的功能菜单,但都有统一的风格,这给页面的使用和维护都带来了很大的便利,特别是在代码重用方面起了很大作用。本系统各用户的页面设计如图3.1所示:页面主体BannerBottom3.1页面设计图1.Banner区——可以在此展示系统标识、页面归属等信息。2.功能菜单区——提供系统可供操作的功能列表。3.页面主体区——显示页面格式化数据页面主体区显示的内容,将依据页面在系统中的作用而定。4.Bottom区——可以在此显示系统当前在线人数及在线用户的信息。3.2总体结构图53
根据系统功能的要求,高校学生考勤管理系统各个模块之间的层次结构如图3.2所示:高校学生考勤管理系统请假系统考勤系统后台管理图3.2按用户划分,系统结构图如图3.3所示:高校学生考勤管理信息系统学生班主任任课老师院系领导学校领导管理员图3.3系统子功能模块的层次结构如图3.4所示:考勤管理子模块任课教老师提交数据各用户查询考勤数据53
图3.43.3系统功能流程图主功能流程如图4.1所示:开始用户登录在线请假查看考勤信息修改密码查看个人信息学生提交考勤信息查看考勤信息修改密码查看个人信息任课教师审批请假查看考勤信息查看学生信息查看个人信息领导修改密码维护与管理管理员退出系统图4.1注:领导包括班主任、院系领导、学校领导;3.4数据库设计与实现53
3.4.1主要实体模型用户ID编号用户名密码用户类型性别是否班级是否超级用户账户状态课程ID编码名称类型周课时月课时总课时按钮ID编码名称图标路径排序号描述启用部门ID部门编码名称叶子结点排序号人员存在类别删除标志行政划分ID行政区划ID编码名称叶子结点排序号面积类型在用标志菜单ID编码描述叶子结点排序号名称类别是否启用上级菜单编码53
图4.23.4.1E-R模型学生出勤出勤记录课程讲授任课教师提交请假请假记录提交学号姓名性别班级专业学院编号名称学时ID姓名班级课程应到人数实到人数上课时间缺勤情况n1n11n111n1n选定审批人批准结束n图4.3注:审批人包括班主任、院系领导、学校领导。3.4.3数据库的建立建立数据库有两种方法:(1)使用mysqlserver命令简历数据库;(2)使用辅助工具sqlyogenterprise命令创建数据库。以下主要用第二种方法:打开MYSQL,登录之后,选择[新建数据库]命令,给数据库起名为lzcu。然后通过设计器创建数据表,刚才已经说明了需要不同的数据表来分管,它们分别是“sys_user”,“work_course”,“work_attendance”等,有关这些数据表的信息见下表。3.4.4数据库的逻辑设计53
根据系统功能设计的要求以及功能模块的划分,对于系统数据库,可以列出以下数据项和数据结构:考勤登记表:课程安排代号、记载时间、上课时间。学生上课出勤信息表:上课时间代号、上课时间、学号、出勤状态。请假信息表:请假原因、结束时间、申假天数、申请时间、申请人、审批人、审批结果等。3.4.5数据库表的创建根据数据库需求的分析,建立如下基本数据表。系统表表1-Sys_button(按钮表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号BUTTONIDvarchar(50)NotNull按钮编码BUTTONNANMEvarchar(100)NotNull按钮名称SORTNUMint(11)排序号BUTTONACTIONvarchar(100)按钮动作DIRECTIONvarchar(30)按钮动作方向ICONPATHvarchar(100)按钮图标路径PICPATHDOWNvarchar(100)选中时按钮图片路径PICPATHUPvarchar(100)未选中时按钮图片路径BUTTONDESCvarchar(200)按钮描述ISRUNNINGvarchar(2)是否启用53
表2-sys_code(代码表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号CODEIDvarchar(50)NotNull代码编码CODENANMEvarchar(100)NotNull代码名称CODETYPEIDvarchar(50)NotNull代码分类编码FATHERIDvarchar(50)上级代码编码CODEVALUEvarchar(100)SORTNUMint(11)排序APPFLAGvarchar(2)NotNull在用标志:使用是1,不使用是0表3-sys_codetype(代码分类表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号CODETYPEIDvarchar(50)NotNull代码分类编码CODETYPENANMEvarchar(100)NotNull代码分类名称CODETYPEDESCvarchar(200)代码分类描述SORTNUMint(11)NotNull排序APPFLAGvarchar(2)NotNull在用标志:使用是1,不使用是0表4-sys_divisions(行政区划表)53
字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号DIVISIONIDvarchar(50)NotNull院校编码DIVISIONNAMEvarchar(100)NotNull院校名称FATHERIDvarchar(50)NotNull上级院校编码FULLNAMEvarchar(200)院校全称DIVISIONTYPEvarchar(10)院校类型(0:公立,1:私立)AREAdouble(18,4)辖区面积(平方公里)DIVISIONDESCtext院校简介ISLEAFNODEvarchar(2)NotNull是否叶子节点(0:否,1:是)ISHAVEUNITvarchar(2)NotNullSORTNUMint(11)排序号APPFLAGvarchar(2)NotNull在用标志:使用是1,不使用是0表5-sys_errorlog字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号OPERTIMEvarchar(30)操作时间DIVISIONIDvarchar(50)机构编码DIVISIONNAMEvarchar(100)机构名称UNITIDvarchar(50)部门编码53
UNITNAMEvarchar(100)部门名称USERIDvarchar(50)用户编码USERNAMEvarchar(100)用户名称USERTYPEvarchar(30)用户类型OPERMODIDvarchar(50)操作模块编码OPERMODNAMEvarchar(200)操作模块名称OPERIPvarchar(20)操作者IPERRORTYPEvarchar(30)错误类别ERRORCONTENTtext错误内容OPERTYPEvarchar(2)操作类型(C,U,R,D)DETAILURLvarchar(200)详情地址REMARKSvarchar(200)备注DELFLAGvarchar(2)NotNull删除标识表6-sys_loginlog(系统登录日志)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号LOGINTIMEvarchar(30)登录时间LOGOUTTIMEvarchar(30)退出时间DIVISIONIDvarchar(50)机构编码DIVISIONNAMEvarchar(100)机构名称UNITIDvarchar(50)部门编码53
UNITNAMEvarchar(100)部门名称USERIDvarchar(50)用户编码USERNAMEvarchar(100)用户名称USERTYPEVarchar(30)用户类型OPERIPVarchar(20)操作者IPREMARKSVarchar(200)备注DELFLAGVarchar(2)NotNull表7-sys_menu(菜单表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号MENUIDvarchar(50)NotNull菜单编码MENUNAMEvarchar(200)NotNull菜单名称FATHERIDvarchar(50)NotNull上级菜单遍码MENUDESCvarchar(200)菜单描述SORTNUMInt(11)排序号ACTIONURLvarchar(200)菜单动作DIRECTIONvarchar(30)菜单动作方向(本窗体、弹出、根窗体)MENUTYPEvarchar(30)菜单类别SUPERUSERvarchar(2)超级用户使用ICONPATHvarchar(100)按钮图标路径PICPATHDOWNvarchar(100)选中时按钮图片路径53
PICPATHUPvarchar(100)未选中按钮图片路径ISLEAFNODEvarchar(2)NotNull是否叶子节点(0:否,1:是)APPFLAGvarchar(2)NotNull是否启用(1:启用;0:禁用)表8-sys_menu_button(菜单拥有权限)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号ROLEMENUIDvarchar(50)NotNull菜单编码自增)BUTTONIDvarchar(50)NotNull按钮编码BUTTONLOCAvarchar(200)按钮位置表9-sys_operationlog(系统日志)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号OPERTIMEvarchar(30)操作时间DIVISIONIDvarchar(50)机构编码DIVISIONNAMEvarchar(100)机构名称UNITIDvarchar(50)部门编码UNITNAMEvarchar(100)部门名称USERIDvarchar(50)用户编码USERNAMEvarchar(100)用户名称53
USERTYPEvarchar(30)用户类型OPERMODIDvarchar(50)操作模块编码OPERMODNAMEvarchar(200)操作模块名称OPERIPvarchar(20)操作者IPOPERCONTENTtextOPERTYPEvarchar(2)操作类型(C,U,R,D)DETAILURLvarchar(200)详情地址REMARKSvarchar(200)备注DELFLAGVarchar(2)NotNull表10-sys_role(角色表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号ROLEIDvarchar(50)角色编码(自增)ROLENAMEvarchar(100)NotNull角色名称ROLETYPEvarchar(30)角色类别ROLEDESCvarchar(200)角色描述表11-sys_role_menu(角色拥有菜单权限)字段名字段类型主/外键字段约束说明53
IDvarchar(50)PNotNull自增序号ROLEIDvarchar(50)NotNull角色编码(自增)MENUIDvarchar(50)NotNull菜单编码表12-sys_unit(部门表,即行政区划所辖单位表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull部门编码UNITIDvarchar(50)NotNull部门编码DIVISIONIDvarchar(50)NotNullFATHERIDvarchar(50)NotNull上级部门编码UNITNAMEvarchar(200)NotNull部门名称UNITTYPEvarchar(50)班级类别(班级、学工办、院办、其他)UNITDESCtext班级/学工办/院办简介STAFFNUMInt(11)班级人数/办公室人数LEADERNUMvarchar(50)班主任/学工办主任/院办主任CONTACTvarchar(100)班长/学工办联系人TELEPHONEvarchar(100)联系电话FAXvarchar(30)传真ADDRESSvarchar(100)联系地址ZIPCODEvarchar(30)邮政编码WEBURLvarchar(100)主页URLEMAILvarchar(100)EMAIL53
SORTNUMInt(11)排序号ISLEAFNODEvarchar(2)NotNull是否叶子节点(0:否,1:是)ISHAVEUSERvarchar(2)NotNull是否存在人员DELFLAGvarchar(2)NotNull删除标志表13-sys_user字段名字段类型默认主/外键字段约束说明IDvarchar(50)PNotNull自增序号UNITIDvarchar(50)NotNull学院/班级编码USERIDvarchar(50)NotNull用户编码(教师工号、学生学号)USERNAMEvarchar(100)用户名(教师姓名、学生姓名)PASSWORDvarchar(200)123456NotNull用户密码USERTYPEvarchar(30)用户类型(1.老师2.学生3.其他人员)ISDEPvarchar(2)是否班级ISSUPERvarchar(2)是否超级用户SORTNUMint(11)NotNull序列号APPFLAGvarchar(2)0账户状态:正常为0;禁用为1;默认为0IDCARDvarchar(30)身份证号SEXvarchar(10)性别BIRTHDAYvarchar(30)出生日期TELPHONEvarchar(100)联系电话MOBILEvarchar(100)手机号码POSITIONvarchar(30)职务53
POSTvarchar(30)职位POLITICALvarchar(10)政治面貌NATIONvarchar(10)民族EMAILvarchar(100)邮箱QQvarchar(100)QQMSNvarchar(100)MSNADDRESSvarchar(100)住址PHOTOvarchar(100)照片USERDESCtext用户描述表14-sys_user_role字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号USERIDvarchar(50)NotNull用户编码ROLEIDvarchar(50)NotNull角色编码工作表表1-work_askapply(请假表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull自增序号53
APPLYTIMEvarchar(30)申请时间APPLYDAYNUMint(30)申请天数APPLYERvarchar(30)申请人APPLYERIDvarchar(50)申请人IDAPPLYREASONtext申请原因CHECKSTUTEvarchar(2)审批结果CHECKERvarchar(30)审批人CHECKERIDvarchar(50)审批人ID表2-work_attendance(出勤表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNullIDCOURSEIDvarchar(50)课程IDCOURSENAMEvarchar(50)课程名称CLASSIDvarchar(50)班级IDCLASSNOvarchar(50)班级名称CLASSROOMTEACHERIDvarchar(50)任课教师IDCLASSROOMTEACHERvarchar(50)任课教师TOTALNUMint(11)应到人数REALNUMint(11)实到人数ASKDAYNUMint(11)请假人数53
ASKERIDtext请假者IDASKERtext请假者NOATTENDNUMint(11)旷课人数NOATTENDANTIDtext旷课者IDNOATTENDANTtext旷课者REMARKSvarchar(100)备注ADDERIDvarchar(50)NotNull添加人编码ADDERvarchar(100)NotNull添加人ADDERUNITIDvarchar(50)NotNull添加学院编码ADDERUNITvarchar(100)NotNull添加学院ADDTIMEEvarchar(30)NotNull添加时间DELFLAGvarchar(2)NotNull删除标志表3-work_check(审核表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNull序列号FOREIGNKEYIDvarchar(50)关联父表IDCHECKERIDvarchar(50)审核人编码CHECKERvarchar(100)审核人CHECKUNITIDvarchar(50)审核部门编码CHECKUNITNAMEvarchar(100)审核部门53
CHECKTIMEvarchar(30)审核时间CHECKRESULTvarchar(2)0-未通过,1-通过CHECKOPINIONvarchar(255)审核意见ADDERvarchar(100)添加人ADDERIDvarchar(50)添加人IDADDUNITIDvarchar(50)添加部门IDADDUNITvarchar(100)添加部门ADDTIMEvarchar(30)添加时间DELFLAGvarchar(2)删除标志(0-未删除,1-删除)表4-work_course(课程表)字段名字段类型主/外键字段约束说明IDvarchar(50)PNotNullIDCOURSEIDvarchar(50)课程编码COURSENAMEvarchar(50)课程名称COURSETYPEvarchar(50)课程类型COURSEWEEKHOURSvarchar(50)周课时COURSEMONTHHOURSvarchar(50)月课时COURSETOTALHOURSEvarchar(50)总课时REMARKSvarchar(100)备注ADDERIDvarchar(50)添加人编码ADDERvarchar(100)NotNull添加人53
ADDERUNITIDvarchar(50)NotNull添加学院编码ADDERUNITvarchar(100)NotNull添加学院ADDTIMEEvarchar(30)NotNull添加时间DELFLAGvarchar(2)NotNull删除标志53
第四章系统实现4.1登陆界面的设计与实现4.1.1用户登录界面用户登录界面,此界面主要用于用户进入主界面。此界面对用户身份没有设置了相对应的权限,当所有用户成功进入系统时,统一显示主界面,但区别用户身份的是菜单。其登录界面如图4.1所示。图4.1登录界面4.2管理员主界面的设计与实现4.2.1管理员主界面当管理员填写完用户名和密码,点击“登录”按钮时如下图4.2所示,图4.2填写完用户名和密码点击登录时Login.js://1functionsubmitUser(){53
//验证用户名是否为空if($("#userid")[0].value==""){alert("请输入用户名");//1.(1returnfalse;}//验证密码是否为空if($("#password")[0].value==""){alert("请输入密码");//1.(2returnfalse;}//窗口最大化self.moveTo(0,0);self.resizeTo(screen.availWidth,screen.availHeight);$.ajax({url:"login",//2type:"post",cache:false,dataType:"json",async:true,//异步data:$("#loginForm").serialize(),//获取数据timeout:30000,success:function(data){//2.(1if(data.success==true){window.location.href="login!getMenus.action";returnfalse;}else{//2.(2alert(data.msg);returnfalse;}},error:function(){alert(data.msg);returnfalse;}});};1.系统首先通过login.js的submitUser()方法进行js对用户名和密码的空验证,53
1)当用户名或者密码为空时,通过alert方法(JavaScript脚本语言中窗口window对象的一个常用方法,弹出消息对话框,并且alert消息对话框通常用于一些对用户的提示信息)提示用户对应的空项,不跳转到LoginAction;2)当用户名和密码都不为空时,然后通过ajax将用户名和密码提交到LoginAction的execute方法。2.由1.(2进入到LoginAction的execute方法调用loginService的validateUser方法验证用户名,如果用户名不存在数据库中,返回null;如果用户名存在于数据库中,进而获得当前用户名所对应的密码和userInfo中的密码做比较,如果密码不匹配,返回null;如果密码都不匹配,将sysUser填充到userInfo中,返回userInfo对象。当用户名或者密码有一个不匹配时,LoginAction将msg储存信息:"用户名或密码错误!"并返回到登录界面给出相应提示;当用户名和密码都匹配时,初始化当前在线人数onlineUserList,然后将获取到的userInfo对象填充到LoginInfo中并且调用createLoginLog方法(初始化登录日志为其添加一条记录),将success(success默认为false)赋值给success并返回login.js。当LoginAction的execute方法返回的success值为true时,调用getMenus方法通过对用户身份的认证获得当前登录用户所对应的菜单,如下图4.3。图4.3主界面当LoginAction的execute方法返回的success值为false时,不调用getMenus方法,只通过alert方法提示用户。4.3添加基础信息界面的设计与实现53
4.3.1基础信息的设计与实现基础信息模块主要分为用户管理(用户维护、用户查询、密码重置)、院系管理、学工办管理、班级管理四大块。将最基础的学院或者系的信息和班级信息或者学工办信息以及班级学生信息整合在此模块,方便管理操作。菜单的顺序如需调节,根据个人爱好请进行调换。图4.4基本信息界面4.3.2用户管理界面的设计与实现用户管理分为用户维护、用户查询、密码重置三部分。如下图4.5:图4.5用户管理界面1)用户维护:方便用户(学生、老师、管理员)进行增删改查操作,主要字段有用户编码、用户名称、是否班级、是否超级用户、是否在用。① 当用户是学生时,此时当前用户只有查看详情的权力。如下图4.6:图4.6学生登录主界面53
查看详情相应操作如下图4.7:图4.7查看学生详情① 当用户是教师时,此时当前用户只有查看详情的权力。如下图4.8:图4.8教师登录主界面查看详情相应操作如下图4.9:53
图4.9查看学生详情① 当前用户如果是管理员,可以对任意一个用户进行增删改查操作。如下图4.10:图4.10管理员登录主界面新增按钮的操作如下图4.11:图4.11错误的添加方式53
注:出现弹出框提示,说明你没有选定院系或者学工办或者班级。正确的操作如下图4.12:图4.12新增一个学生信息步骤图点击“提交”按钮时,弹出如下图提示框:4.13图4.13提交按钮弹出的提示框修改、详情的操作如同4.9实例。删除(包含多个删除)操作如下图4.14:53
图4.14删除操作的步骤点击“确定”按钮后,弹出删除成功与否的提示。1)用户查询:不同角色的用户查询结果相同,即管理员和老师可以看见所有人信息,学生没有这个菜单,如下图4.15:图4.15管理员以及教师使用用户查询的界面2)密码重置:不同角色拥有不同权限。管理员可以重置所有人的密码,而其他角色之内能重置自己的密码。管理员重置密码步骤下图4.16,其余用户一样的操作过程:图4.16管理员重置密码步骤4.4课程管理的设计与实现设计课程管理这一模块的主要目的是方便考勤记录,在后面的考勤管理模块会具体体现。主要功能模块如下图4.17:53
图4.17课程管理模块图4.4.1课程管理的增删改查1.下图4.18是课程信息的主要列表页面,显示字段:课程编码、课程名称、课程类型、周课时、月课时、总课时。图4.18课程信息列表页面2.添加步骤以及页面,如下图4.19:图4.19添加课程信息步骤以及页面注:课程类型:其他、专业课、选修课、公共课、公共选修课、专业选修课。3.修改(详情页面、删除略,操作一样)的步骤以及页面,如下图4.20:53
图4.20修改课程信息页面修改(详情、删除)了当前页面内容之后,点击“提交”按钮,会有提示框提示修改(详情、删除)是否成功。4.查询操作以及页面,点击提交后,跳转到主列表得到结果集,操作如下图4.21:图4.21查询步骤以及按钮4.5考勤记录的设计与实现这一模块的设计是为了方便后期的统计查询做准备。考勤信息录入需要每上一节课,当前代课老师登录此系统进行考勤记录,这个模块只有任课老师有此权限。模块设计简单,只需录入每节课的信息。模块设计如下图4.22:图4.22考勤记录模块设计图4.5.1信息录入的设计与实现1.考勤信息录入列表页面的设计与实现53
① 设计:页面主要显示字段有:课程名称、班级名称、应到人数、实到人数、请假人数、请假者、旷课人数、旷课者;② 实现:考勤信息录入列表页面如下图4.23:图4.23考勤信息录入列表页面1.添加步骤以及页面,如下图4.24:图4.24添加步骤以及页面设计注:1)在点击班级名称的文本框时会弹出如图所示的一棵树图4.25:53
图4.25班级树1)在点击添加课程时,会弹出和前面课程信息管理添加的一样的界面(不同是:此时并数据返回到父页面),如下图4.26:图4.26添加课程页面2)点击“添加已存在课程”时,会弹出和课程信息管理中的列表页面一样一个页面(区别:只能单选,不能复选),点击“确定”后,将课程名称填充到文本框中。如下图4.27:53
图4.27添加已存在课程步骤1)点击“添加请假者”或者“添加旷课者”的前提是:已经选择了班级,然后才有该班学生信息。如下图4.28:图4.28选择请假者或者旷课者的前提操作添加请假者或者旷课者具体操作如下图4.29:53
图4.29添加请假者或者旷课者具体操作3.修改、删除、详情略;4.6请假管理的设计与实现为了方便学生请假的管理和老师审批,此模块主要设计为申请请假和等待办理,然而等待办理根据学生具体请假天数来划分不同的审批对象。根据学生用户请假的需求,学生三天内的请假(包括三天)只需班主任批准后就可生效;四天(包括四天)至15天的请假,必须先由学院领导审批同意;如果请假天数大于15天,必须由学校审批同意。4.6.1学生请假的设计与实现1.学生请假只有申请、导出列表中的记录和查看详情三项权力。1)学生请假列表的主列表,实现字段:申请时间、申请天数、申请人、申请原因、审批人、审批状态(后两项等到老师审批完成后显示),列表如下图4.30:图4.30申请主列表2)申请请假步骤如下图4.31:53
图4.31申请请假步骤注:请假类型:病假、事假、丧假、婚假、公假、其他。3)查看详情略,注意:首先有且仅有选中一条记录,然后点击“详情”按钮查看。1.不同天数的审批,对应的只有不同的菜单,但审批操作是一样的。如下图4.32:图4.32不同角色的不同菜单图2.审批过程,拥有菜单的人都一样的操作方法,如下图4.33:53
图4.33审批过程注:① 审核结果:通过、不通过。② 审批可以单个审批,也可以批量审批,不同点是:单个审批弹出如图4.33的添加页面,而批量审批不弹出界面,只显示提示对话框。53
第五章软件测试软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。5.1测试方案5.1.1黑盒测试黑盒测试(Black-boxTesting,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程5.1.2白盒测试白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作5.1.3其他测试方案1、性能测试性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。2、随机测试随机测试没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程3、本地化测试本地化测试的对象是软件的本地化版本。本地化测试的目的是测试特定目标区域设置的软件本地化质量。本地化测试的环境是在本地化的操作系统上安装本地化的软件4、国际化测试53
国际化测试的目的是测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域都能正常运行。国际化测试使用每种可能的国际输入类型,针对任何区域性或区域设置检查产品的功能是否正常,软件国际化测试的重点在于执行国际字符串的输入/输出功能。5、安装测试安装测试是确保软件在正常情况和异常情况下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装的测试。5.1.4本系统所采用测试方案性能测试5.2测试过程5.2.1用户登录测试1、测试目的:验证服务器可以同时接受多少用户进行并发访问,查找系统的瓶颈。2、测试工具:loadrunner3、测试环境硬件环境操作系统数据库服务器客户端软件配置OS:Win7JDK1.5.0_06Apache2.2.0Tomcat5.5.15MySQLWindow7旗舰版32位4、测试结果测试场景一:200人并发登陆系统53
图5.1平均事务相应时间平均事务响应时间比较稳定,恒定的时间段内事务的相应时间相同。图5.2事务通过率事务的通过率较高,没有出现失败的事务。测试HTML报告:测试结果200login.htm测试结果:200同时并发访问服务器,事务响应时间稳定,通过率高,系统的瓶颈不在此处。测试场景二:300人并发登陆系统53
图5.3平均事务相应时间因为并发访问人数增多,平均事务响应时间边长,页面的响应速度变慢。图5.4事务通过率事务的通过率在2:30分钟变为0,服务器没有响应。测试HTML报告:测试结果300login.htm测试结果:300同时并发访问服务器,事务响应时间边长,2:30时事务的通过率变为0,已经超出了系统的瓶颈人数,说明系统的瓶颈在200-300人之间。测试场景三:250人并发登陆系统53
图5.5平均事务相应时间随并发访问人数减少,但是平均事务响应时间依然很长,页面响应速度变慢。图5.6事务通过率事务的通过率在2:00分钟变为0,事务通过数为0,服务器没有响应。测试HTML报告:测试结果250.htm测试结果:250同时并发访问服务器,事务响应时间边长,2:00时事务的通过率变为0,已经超出了系统的瓶颈人数,说明系统的瓶颈在200-250人之间。测试场景四:225人并发登陆系统53
图5.7平均事务相应时间随并发访问人数减少,但是平均事务响应时间依然很长,页面响应速度变慢。图5.8事务通过率事务的通过率在0:55分钟变为0,事务通过数为0,服务器没有响应。测试HTML报告:测试结果225login.htm测试结果:225同时并发访问服务器,事务响应时间边长,0:55时事务的通过率变为0,已经超出了系统的瓶颈人数,说明系统的瓶颈在200-225人之间。测试场景四:215人并发登陆系统53
图5.9平均事务相应时间随并发访问人数减少,但是平均事务响应时间依然很长,页面响应速度变慢。图5.10事务通过率事务的通过率在0:55分钟变为0,事务通过数为0,服务器没有响应。测试HTML报告:测试结果215login.htm测试结果:225同时并发访问服务器,事务响应时间边长,0:55时事务的通过率变为0,已经超出了系统的瓶颈人数,说明系统的瓶颈在210人之间。测试结果:学生考情管理系统的登陆页面的瓶颈为215人,建议配置更好的服务器,之后再进行系统上线。53
总结1.在角色分配及角色之间关系的时候,小组成员及指导老师进行了全方位的分析与讨论。2.在进行数据的输入输出时必须清晰的列出所有输入状况及数据,不能马马虎虎,要考虑到尽可能到达的范围,以及输入输出的完整准确。3.后台数据库设计阶段是我们的难点和重点。4.经过这次本小组对学生考勤管理系统的设计,我们深深的体会到系统设计的每一个环节的背后都是要付出很大的努力,以坚强的耐力和不怕困难的精神才能完成一部很好的作品。通过此次作品的制作,让我们对系统设计的操作更加的熟练,对软件工程的思想有了更深入的理解,在此过程中我们深入地学习到了很多系统设计方面的知识,最重要的是在此系统实现中磨练了我们的意志,培养了小组成员的团队协作能力。我们懂得了只要认真学习,多借鉴别人的经验,多思考,多实践,一定能够做出更好的作品,而且还需要我们每一个人的共同努力,发挥各自的优势,发挥丰富的想象力与创新意识。53
参考文献[1]福塔.SQL必知必会[M].北京:人民邮电出版社,2007[2]萨卡.MicrosoftSQLServer2005技术内幕:T-SQL程序设计[M].北京:电子工业出版社,2007[3]KalenDelaney.MicrosoftSQLServer2005技术内幕:查询、调整和优化[M].北京:电子工业出版社,2009[4]图雷.JT-SQL编程入门经典[M].北京:清华大学出版社,2009[5]邹建.深入浅出——SQLServer2005开发、管理与应用实例[M].北京:人民邮电出版社,2008[6]迪尤逊.SQLServer2005基础教程[M].北京:人民邮电出版社,2006[7]萨师煊.数据库系统概论[M].北京:高等教育出版社,2006[8]陈明.软件工程导论[M].北京:机械工业出版社,2010[9]琼斯.SQL入门经典[M].北京:人民邮电出版社,2011[10]赵松涛.SQLServer2005奥秘[M].北京:电子工业出版社,2007[11]敬铮.SQLServer高级开发与专业应用[M].北京:国防工业出版社,200253
致谢经过两个来月的忙碌和工作,本次毕业设计已接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有老师的督促指导,以及小组成员的支持,想要完成这个设计是难以想象的。在这里首先要感谢我的指导老师朱正平教授。他在整个过程中都给予了我们悉心的指导。除了敬佩老师的专业水平外,他的治学严谨和科学研究精神是我们永远学习的榜样,并将积极影响我们今后的学习和工作。然后还要感谢大学四年来所有的老师,感谢你们在校期间对我们的培养,感谢你们的循循教导和不拘一格的思想给予我们无尽的启迪,为我们以后的人生打下坚实的基础,感谢四年陪伴在我身边的同学、朋友,感谢你们为我提出的有益建议和意见,感谢你们的支持、鼓励和帮助,正是因为有了你们支持和鼓励,此次毕业设计才会顺利完成,为我们四年的大学生活画上一个完美的句号。最后感谢学院感谢我的母校------兰州城市学院四年来对我们的大力培养,在这里请接收我们诚挚的谢意。内部资料请勿外传9JWKffwvG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ^!djs#XuyUP2kNXpRWXmA&UE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ^!djs#XuyUP2kNXpRWXmA&UE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^G89AmUE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ^!djs#XuyUP2kNXpRWXmA&UE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQ@Gn8xp$R#͑Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^GjqvadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%MadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*adNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%MzadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@adNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^GjqvUE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3adNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz84!z89Amv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^GjqvtnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqvz849Gx^Gjqv^$U*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5ux^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7Jv#nD6YWRrWwc^vR9CpbK!zn%MzFA5uxY7JnD6YWRrWwc^vR9CpbK!zn%Mz849Gx^Gjqv^$UE9wEwZ#Qc@UE%&qYp@Eh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu##KN&MuWFA5uxY7Jv#nD6YWRrWwc^vR9CpbK!zn%MzXNQExJB8VK#%W7m$ZA5JdkVWce9APz^FvJzwYWCcyAh*bnxBvaFQH8YHV$#&3Q3vdWe3YXvbJr序号名称规格型号单位数量备注一制冷系统1压缩机组4AV10台42冷凝器LN-70台13贮氨器ZA-1.5台14桶泵组合ZWB-1.5台15氨液分离器AF-65台16集油器JY-219台17空气分离器KF-32台18紧急泄氨器JX-108台19冷风机KLL-250台853
10冷风机KLD-150台411冷风机KLD-100台212阀门套8613电磁阀套614管道及支架吨18.615管道及设备保温m32216管道保温包扎镀锌板吨1.617附件套1二气调系统1中空纤维制氮机CA-30B台12二氧化碳洗涤器GA-15台13气动电磁阀D100台144电脑控制系统CNJK-406台15信号转换器8线台16果心温度探头台77库气平衡袋5m3个78库气安全阀液封式个79小活塞空压机0.05/7台110PVC管套111附件套1三水冷系统1冷却塔DBNL3-100台22水泵SBL80-160I台23水泵SBL50-160I台24阀门套305管道及支架吨2.86附件套1四电仪控系统1电器控制柜套12照明系统套13电线电缆套14桥架管线套15附件套153
53