java课程设计人事管理系统
java人事部课程设计

java人事部课程设计一、课程目标知识目标:1. 掌握Java面向对象编程的基本概念,包括类、对象、继承、封装和多态;2. 学会使用Java编写人事部信息管理系统的基础功能,如员工信息的增加、删除、修改和查询;3. 理解并能运用Java异常处理、文件操作和数据持久化存储。
技能目标:1. 能运用面向对象的思想分析并解决实际问题,具备初步的软件项目设计能力;2. 能够使用Java编写结构清晰、可读性强的代码,养成良好的编程习惯;3. 能够运用所学知识,独立完成一个小型人事部信息管理系统的设计与实现。
情感态度价值观目标:1. 培养学生积极的学习态度,激发对计算机编程的兴趣和热情;2. 培养学生的团队合作意识,学会在项目开发过程中与他人沟通与协作;3. 培养学生勇于面对困难,敢于挑战的精神,提高解决问题的能力。
课程性质:本课程为实践性较强的学科,注重理论联系实际,通过项目驱动的教学方法,使学生能够将所学知识应用于实际项目中。
学生特点:学生具备一定的Java基础,对面向对象编程有一定的了解,但实践经验不足,需要通过实际项目锻炼编程能力。
教学要求:结合学生特点,教师应注重理论与实践相结合,引导学生通过项目实践,掌握Java编程技巧,提高解决实际问题的能力。
在教学过程中,关注学生的学习进度和个体差异,提供有针对性的指导。
二、教学内容1. 面向对象编程基础:- 类与对象的概念及其关系- 封装、继承和多态的实现原理- Java异常处理机制2. Java编程规范与技巧:- 代码规范、命名规范- 编程习惯和调试方法- 设计模式初步介绍3. 人事部信息管理系统功能模块设计:- 系统需求分析- 功能模块划分与设计- 数据存储与文件操作4. 实践项目开发:- 系统框架搭建- 员工信息管理功能实现- 系统测试与优化教学内容安排与进度:第一周:面向对象编程基础,学习类与对象、封装、继承和多态等概念;第二周:Java编程规范与技巧,培养良好的编程习惯;第三周:人事部信息管理系统功能模块设计,进行需求分析和模块划分;第四周:实践项目开发,分阶段完成系统框架搭建、功能实现及测试优化。
基于java的人事管理系统设计与实现

基于Java的人事管理系统设计与实现引言人员管理是每个组织或企业都需要关注和重视的一个方面。
为了更好地管理和组织人力资源,许多组织和企业选择开发和使用人事管理系统。
本文将介绍基于Java的人事管理系统的设计和实现原理。
系统需求分析在设计和开发人事管理系统之前,我们首先需要进行系统需求分析。
根据用户的需求和要求,我们确定了以下主要功能:1. 员工信息管理:包括员工基本信息、合同信息、岗位信息等。
2. 考勤管理:记录员工的签到、签退和请假情况。
3. 薪资管理:计算员工的薪资并生成相应的工资条。
4. 培训管理:记录员工的培训情况,包括培训计划和培训成绩。
5. 绩效管理:评估员工的工作绩效并记录相关数据。
6. 权限管理:设置和管理系统用户的权限。
系统设计与实现技术选型由于本系统需要实现较为复杂的功能,我们选择了Java作为开发语言。
Java拥有良好的跨平台性和稳定性,适合用于开发大型的企业级应用。
此外,我们还选择了Spring框架作为系统的基础框架,使用MySQL作为数据库。
架构设计本系统采用了MVC(模型-视图-控制器)的架构模式。
通过将系统划分为模型、视图和控制器,实现了各个模块的解耦和灵活的拓展性。
模型层模型层主要负责处理与数据相关的逻辑。
我们使用Spring 框架提供的ORM(对象关系映射)功能,将Java对象映射到数据库表中,实现了数据的持久化和访问。
视图层视图层主要负责系统用户界面的展示和用户交互。
我们使用HTML、CSS和JavaScript技术开发了一个响应式的Web界面,使用户可以方便地操作系统。
控制器层控制器层作为模型和视图之间的桥梁,负责处理用户请求、调用模型层处理数据,并将处理结果返回给视图层。
我们使用Spring框架的控制器功能,实现了对用户请求的路由和处理。
数据库设计本系统使用MySQL作为数据库管理系统,设计了以下几个主要的数据表: 1. 员工表:存储员工的基本信息,如姓名、性别、出生日期等。
java实训报告(简单人事管理系统的设计与实现)

编号:xxxxXx学院综合课程设计报告简单人事管理系统的设计与实现学生:x,x,x,xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师: x x所在系:电子信息系所学专业:计算机科学与技术年级: xxxxxxxxxxxx2014年12月目录摘要 (1)第一章前言 (2)第二章需求分析 (3)第三章概要设计 (5)3.1 总模块设计 (5)3.2系统管理模块设计 (5)3.3数据信息管理模块 (6)3.4数据信息浏览模块 (7)3.5数据信息查询模块 (8)3.6帮助模块 (9)第四章详细设计 (11)4.1总的流程 (11)4.2 用户登录流程图 (11)4.3员工信息管理流程图 (12)4.4 部门信息管理流程图 (16)4.4.1添加部门管理信息流程图 (16)4.4.2删除部门管理信息流程图 (16)4.4.3 修改部门管理信息流程图 (17)4.5查询信息管理流程图 (18)4.5.1按职工号查询员工信息 (18)4.5.2按部门号查询部门信息 (20)第五章系统实现 (21)5.1用户登录模块实现 (21)5.2主界面设计模块实现 (22)5.2.1管理员进入的主界面 (22)5.2.2员工进入的主界面 (28)第六章总结 (31)参考文献: (32)简单人事管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。
人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规化的必要条件。
计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。
整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。
如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。
人力资源管理系统java程序设计(可打印修改) (2)

基于java的企业人事管理系统的设计与实现

基于java的企业人事管理系统的设计与实现随着企业的不断发展,人力资源管理的重要性也越来越被企业所重视。
为了提高人力资源管理的效率和精度,许多企业开始采用人事管理系统来进行管理。
本文将介绍一种基于Java的企业人事管理系统的设计与实现。
一、系统需求分析1.1 系统背景本系统是一种针对企业人力资源管理的信息化管理系统。
在企业中,人力资源管理是一个非常重要的部门,其主要职责是负责招聘、培训、绩效评估、福利管理等工作。
为了提高人力资源管理的效率和精度,本系统应运而生。
1.2 系统功能本系统主要包括以下功能:(1)员工信息管理:包括员工基本信息、工作经历、教育背景、证书信息等。
(2)招聘管理:包括招聘计划、招聘流程、招聘结果等。
(3)培训管理:包括培训计划、培训流程、培训结果等。
(4)绩效评估:包括绩效考核计划、绩效考核流程、绩效考核结果等。
(5)福利管理:包括薪酬管理、保险管理、福利管理等。
1.3 系统技术要求本系统采用Java语言进行开发,使用MySQL数据库进行数据存储。
前端界面采用HTML、CSS、JavaScript等技术进行开发,后端使用Spring、Hibernate等框架进行开发。
二、系统设计2.1 系统架构设计本系统采用MVC(Model-View-Controller)架构模式进行设计,具体如下:(1)Model层:负责数据的存储和处理,包括数据访问层、业务逻辑层等。
(2)View层:负责展示数据和接收用户的操作,包括前端界面、交互逻辑等。
(3)Controller层:负责控制数据流向和业务流程,包括业务控制器、路由控制器等。
2.2 数据库设计本系统采用MySQL数据库进行数据存储,数据库设计如下:(1)员工信息表:包括员工编号、姓名、性别、出生日期、联系方式等字段。
(2)工作经历表:包括员工编号、公司名称、职位、入职时间、离职时间等字段。
(3)教育背景表:包括员工编号、学校名称、专业、学历、入学时间、毕业时间等字段。
java课程设计人事管理系统

枣庄学院信息科学与工程学院课程设计任务书题目:java人事管理系统学号: 0153 姓名: XXX 专业:计算机科学与技术课程: java程序设计指导教师: XXX 职称:讲师完成时间: 2012 年 5 月----2012 年 6 月枣庄学院信息科学与工程学院制课程设计任务书及成绩评定目录第1章概述前言1.1.1 背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。
当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。
并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。
计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。
因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。
人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。
传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。
如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。
如今,随着计算机技术的普及人们开始采用一系列的计算机语言编写程序开发人事管理系统,它实现了办公地自动化,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。
本文主要介绍一个简单的基于Java的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。
人事管理系统 java课程设计说明书

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (2)四、设计步骤 (3)五、设计总结 (6)六、程序清单 (6)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一、设计目的通过课程设计,使自己提高理论联系实际解决实际问题的能力;也使自己对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高自己的学习兴趣为其将来顺利进入毕业环节作必要的准备。
按照教师给出的思路和计划进度安排独立完成课程设计二、功能介绍1、具有新用户注册功能。
2、具有注册用户登录功能。
3、具有数据的录入功能。
4、具有数据查询功能,可以实现查询全部信息和按条件执行查询。
5、具有按条件删除数据功能。
6、具有统计功能7、本程序采用RCP技术,和SQL数据库。
三.程序流程图1┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊四、设计步骤(一)程序设计步骤1.建立RCP工程并构建数据库2.建立view和editor3.构建基本框架,并主要修改Perspective和WorkbenchWindowAdvisor两个文件4.构建需要的辅助文件5. 测试(二)详细设计:1.登录和注册当登录名框和密码为空的时候,后边会显示×;当点击验证码的时候,调用Random函数产生随机验证码,点击登录的时候,从三个框中获得值,进行对数据库的操作。
部分代码如下:String name = text.getText();String sql = "select * from users where name='"+name+"'";DBHelper db = new DBHelper();ResultSet rs = db.query(sql);效果如图如下:图2当用户点击提交时,程序会将用户输入的信息通过SQL语句提交给数据库,如果数据库修改成功,会返回信息。
基于JAVA人事管理系统的设计与实现

毕业设计(论文)基于JAVA人事管理系统的设计与实现姓名系别、专业导师姓名、职称完成时间摘要由于计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。
因此,本文围绕一个“人事管理系统”程序的设计和应用系统的开发课题为背景,详细介绍了以Java 和Oracle为语言编写管理信息系统的过程。
该程序通过Java 中的GUI图形界面前台与后台Oracle数据库的连接,并具有典型的数据库应用系统的特征,完成了系统结构与现实生活的紧密结合。
管理系统的开发不仅是一个应用程序编写的过程,更重要的是在系统分析和设计阶段所做的工作。
该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQL 的强大数据库功能,直到形成一个完善的可行性系统.优美、秀丽的界面,方便实用的查询与维护功能共同构成了“人事工资管理系统”。
关键词:Oracle,p/l SQL ,数据库,软件工程,人事工资管理系统AbstractBecause of the rapid development of computer technology, database technology as data management of a effective means in all walks of life, get more and more widely. Therefore, this paper around a "personnel management system" program design and application system development issues as the background, detailed introduces the Java and Oracle for language preparation process of management information system. The program through the GUI GUI receptionist Java with background of Oracle database connection, and the typical characteristics of database application system, completing the system structure and real life closely.Management system development is not only an application programming process, the more important is in system analysis and design stage work done. The program in the design process strictly comply with the method of software engineering, with the life cycle of stages to the strict management, and main plan tells the program overall design, detailed design phase, and procedures, revise and demand iteration, using powerful SQL improvements database function, the feasibility of until form a perfect. Beautiful, beautiful system interface, convenient and practical query and maintenance function together formed "personnel salary management system".Keywords:Oracle, p/l SQL, database, software engineering, personnel salary management system目录摘要 (I)Abstract (III)1 绪论 (I)1.1 课题背景 (I)1.2 课题研究的目的和意义 (1)1.3 需求信息的收集 (1)1.4 需求信息的整理: (3)1.5 研究实施的具体方案: (3)2 相关于工具的基本理论 (6)2.1 关于Java的说明 (6)2.2 关于管理信息系统: (8)2.3 数据库系统概论 (8)2.4 后台数据库的选择-Oracle9i (9)3 系统需求分析和总体设计 (11)3.1 系统分析 (11)3.2 系统的可行性研究 (11)3.3 现行系统的详细调查 (12)3.4 系统业务流程设计 (13)3.5 系统功能设计 (14)3.6 系统数据库设计 (17)3.6 本章小结 (24)4 系统详细设计 (25)4.1 系统模块的具体实现 (25)4.2 本章小结 (36)5 系统运行与测试 (38)结论 (39)致谢 (40)参考文献 (41)附录一:外文翻译 (42)附录二:译文 (49)1绪论1.1课题背景随着我国成功加入WTO及信息化浪潮的日益临近,企业经营管理机制正在发生着根本性的变化,企业要想在激烈的市场竞争环境下求得生的存,就必须有效地利用人才、时间、信息结合的优势,就必须有效地进行企业内部改革和加强企业管理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
j a v a课程设计人事管理系统Newly compiled on November 23, 2020人事管理系统一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计员工基本表(Employinfo)员工考核表(Appraisal)考核历史记录(History)二. 功能模块开发(1)查询人员信息界面实例一个SelEmploy类,当点击“查询”时调用EmployModel类的queryEmploy方法实现查询(2)添加员工界面实例一个AddEmploy类当点击“添加”时调用EmployModel类的updEmploy方法实现添加功能(3)修改员工信息界面实例一个ReviseEmploy类当点击“修改”时,先调用UpdDialo弹跳出一个修改信息对话框,信息修改完毕后,调用EmployModel类的updEmploy方法实现修改功能(4)删除员工界面实例一个DelEmploy类当点击“删除”时调用EmployModel类的updEmploy方法实现删除功能(5)员工考核界面实例一个Examine类当点击“确认”时调用AppraisalModel类的updAppraisal方法来完成考核功能(6)员工考核历史记录界面实例一个History类当点击时调用AppraisalModel类的updAppraisal方法来完成考核功能三.各个类说明类之间的关系图:1.M anager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane类将整个界面分为左右两个部分。
其中左侧实现了人事管理系统的功能树,采用JTree类构建,同时实现了TreeSelectionListener接口,定义了该接口所必须实现的valueChanged(TreeSelectionEvent e)方法,JSplitPane右边加入卡片布局CardEmploy 类。
当JTree的TreeSelectionEvent事件发生时,调用CardEmploy的方法切换不同卡片,实现不同的管理界面。
2.CardEmploy类CardEmploy为卡片布局类的面板,主要功能是添加各个界面的卡片,当JTree的TreeSelectionEvent事件发生时。
切换不同的卡片3.EmployModel、AppraisalModel类这两个类继承了AbstractTableModel,主要实现的功能是,存放调用sqlhelper类得到的数据。
可以通过调用sqlhelper实现增删查改功能4.SqlHelpe r类主要就是连接数据库的一些基础操作是,方便代码修改,重复使用5.SelEmplo y这个类继承Panel,为“查询员工”的界面。
实现了Actionlistener 接口,当ActionEvent 事件发生时,调用EmployModel类的queryEmploy方法实现查询6.AddEmploy、ReviseEmploy、DelEmploy类这些类继承Pane,分别为“添加员工信息”“修改员工信息”“删除员工信息”的界面,这些类实现了Actionlistener 接口,当ActionEvent 事件发生时,调用EmployModel类的updEmploy方法实现添加、查询、删除、功能7.Examine类这个类继承Panel,为“考核员工”界面。
这个类实现了Actionlistener 接口,当ActionEvent 事件发生时,(1)先通过调用AppraisalModel的queryAppraisal 获取上次考核成绩,(2)修改Appraisal表的考核成绩(3)再把上次考核成绩跟本次考核成绩加到History表中8.History这个类主要是把History表中的信息显示到界面上。
四.程序代码(1)Managerpackage ;import .*;import .*;importimport ;importimport .*;public class Manager extends JFrame implements TreeSelectionListener { JPanel jp;JSplitPane js;JScrollPane jsp;JTree tree;DefaultMutableTreeNode root, t1, t2, t1_1, t1_2, t1_3, t1_4, t1_5, t2_1,t2_2;CardEmploy ae;EmployModel em;public static void main(String[] args) {Manager manager = new Manager();}public Manager() {dd(js);("人事管理系统");(true);(600, 500);;}public void valueChanged(TreeSelectionEvent e) {etLastSelectedPathComponent();;import .*;public class CardEmploy extends Panel{CardLayout c;;import .*;importpublic class SelEmploy extends Panel implements ActionListener { EmployModel em;JLabel jl;JTextField jtf;JButton jb;JTable jt;JScrollPane jsp;JPanel jp1;public SelEmploy() {;import .*;importpublic class AddEmploy extends Panel implements ActionListener { JLabel jl, jl1, jl2, jl3, jl4, jl5, jl6, jl7;JButton jb1, jb2;JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;JPanel jp1, jp2, jp3, jp4;EmployModel em;public AddEmploy() {jl1 = new JLabel("工号:");jl2 = new JLabel("姓名:");jl3 = new JLabel("性别:");jl4 = new JLabel("出生年月:");jl5 = new JLabel("部门:");jl6 = new JLabel("职位:");jl7 = new JLabel("工资:");jtf1 = new JTextField(20);jtf2 = new JTextField(20);jtf3 = new JTextField(20);jtf4 = new JTextField(20);jtf6 = new JTextField(20);jtf7 = new JTextField(20);jb1 = new JButton("添加");jb2 = new JButton("取消");;importimport .*;public class ReviseEmploy extends Panel implements ActionListener { JTable jt;JScrollPane jsp;JButton jb1, jb2;JPanel jp1,jp2;EmployModel em;JLabel jl1;public ReviseEmploy() {jl1 = new JLabel("修改员工信息",;(new Font("宋体", , 28));jp2 = new JPanel();(jl1);em = new EmployModel();String[] paras = { "1" };("select * from Employinfo where 1 = ", paras);jt = new JTable(em);jsp = new JScrollPane(jt);jb1 = new JButton("修改");jb2 = new JButton("刷新");;import .*;importpublic class UpdDialog extends JDialog implements ActionListener { JLabel jl1, jl2, jl3, jl4, jl5, jl6, jl7;JButton jb1, jb2;JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;JPanel jp1, jp2, jp3;public UpdDialog(EmployModel em, int rowNums) {jl1 = new JLabel("工号:");jl2 = new JLabel("姓名:");jl3 = new JLabel("性别:");jl4 = new JLabel("出生年月:");jl5 = new JLabel("部门:");jl6 = new JLabel("职位:");jl7 = new JLabel("工资:");jtf1 = new JTextField(20);jtf2 = new JTextField(30);jtf4 = new JTextField(30);jtf5 = new JTextField(30);jtf6 = new JTextField(30);jtf7 = new JTextField(30);;import .*;importpublic class DelEmploy extends Panel implements ActionListener { JTable jt;JScrollPane jsp;JButton jb1, jb2;JPanel jp1, jp2;JLabel jl1;EmployModel em;public DelEmploy() {;import .*;public class AllEmploy extends Panel{EmployModel em;JTable jt;JScrollPane jsp;JLabel jl1;JPanel jp;public AllEmploy(){;importimportimport ;import .*;import .*;public class Examine extends Panel implements ActionListener { JLabel jl1, jl2, jl3, jl4;JTable jt;JScrollPane jsp;JTextField jtf1, jtf2;Choice ch;JButton jb1, jb2;JPanel jp1, jp2, jp3, jp4;AppraisalModel am;SqlHelper sqh;public Examine() {;importimport .*;public class History extends Panel implements ActionListener { AppraisalModel am;JTable jt;JScrollPane jsp;JLabel jl1;JPanel jp, jp1, jp2;JButton jb1, jb2;public History() {;import .*;public class EmployModel extends AbstractTableModel{Vector rowData,columnNames;;import .*;public class AppraisalModel extends AbstractTableModel { Vector rowData, columnNames;;public class SqlHelper {Connection ct = null;PreparedStatement ps = null;ResultSet rs = null;String driver = ;String url = "jdbc:odbc:Manager";// 查询数据库操作public ResultSet queryExecute(String sql, String[] paras) { try {(driver);ct = (url);ps = (sql);for (int i = 0; i < ; i++) {(i + 1, paras[i]);}rs = ();} catch (Exception e) {();}return rs;}//没注入式查询数据库操作public ResultSet queryExecute(String sql) {try {(driver);ct = (url);ps = (sql);rs = ();} catch (Exception e) {();}return rs;}// 增删改功能public boolean updExecute(String sql, String[] paras) { boolean b = true;try {(driver);ct = (url);ps = (sql);for (int i = 0; i < ; i++) {(i + 1, paras[i]);}if () != 1)b = false;} catch (Exception e) {b = false;();} finally {();}return b;}// 重写 close 关闭数据库资源public void close() {try {if (rs != null)();if (ps != null)();if (ct != null)();} catch (Exception e2) {();}}}。