1、1JAVA 企业合同管理系统的开发设计摘要:长期以来,由于在合同管理中实行手工作业,合同审批流程不明确,存在各部门之间合同流转时间长而且特别容易出错等问题。合同管理系统就是针对当前的合同管理业务特点所定制的一套管理系统,该套系统本着进一步完善企业内部合同管理制度,规范合同管理机制的目的,更加及时、准确、全面地反映合同信息,辅助企业管理决策,从而实现该企业合同管理智能化,降低管理成本,提高内部管理水准,为企业决策层及时了解合同管理业务层的工作情况提供第一手资料。该系统采用了 Jbuilder2005 结合 Access2000 的开发环境,应用Jbuilder2005 提供的数据库控件和 Swi
2、ng 控件,比如 Swing 包的JTree、 JTable、JSplitPane 、JTabbedPane ,dbSwing 包的JdbTable、JdbComboBox、TableScrollPane、JdbNavToolBar, DataExpress 包的Database、QueryDataSet,sql 包的 Connection、Statement 、ResultSet 等等,完成了系统管理、客户管理、合同管理和系统帮助这四个模块的功能。关键字:合同管理,Jbuilder,Access ,SQL2目录第一章 引言.1第二章 合同管理系统 需求 分析.22.1. 用户概述.22.2.
3、 现 有业务 流程及分析.22.3. 效益 分析.3第三章 .合同管理系 统概要 设计 53.1. 系 统开发目标53.2. 系 统开发 环境53.3. 系统 功能分析63.4. 系 统模块设计63.5. 数据 库的 设计7第四章 合同管理系统的详细设计及 实现 . .104.1用户 管理.104.2群组管理.154.3权限 配置.164.4系统日志.204.5查询.214.6动态菜单.254.7排序.274.8可视 的日历.284.9合同 信息.29第五章 结束语.32致谢.33主 要参考文献.34附录.353引言合同,又称契约,它是当事人双方或数方设立、变更和中止相互权利和义务关系的协议。
4、合同制度在我国有着悠久的历史,合同作为一种企业之间横向联系的工具,是现代生产和商品交换高度发展的结果。合同管理即合同行为的监督管理,是规范、制约、完善合同行为的一种活动,是国家法律赋予管理主体的一种职能,是企业在经济活动中保证企业利益的重要环节。改革开放以来,我国的经济建设取得了长足的发展,然而长期以来,由于在合同管理中实行手工作业,合同审批流程不明确,造成合同管理过程中业务处理效率低,浪费了大量的人力、物力,各部门之间合同流转时间长而且特别容易出错等问题。为了解决这一问题,需要开发一套功能完整的智能化的合同管理系统软件,用于各行各业的大中小型企业的合同制定、评审、实施动态控制等方面的具体应用
5、需求,并以先进成熟的计算机网络和通信技术为手段,覆盖整个企业的各部门,实现该企业合同管理智能化,提高办公效率及人员的利用率成为促进企业迅速发展的一支很好的催化剂。合同 管理系统需 求分析2.1 用户 概述“禹洲集团建筑工程公司”包括好几个部门,下属有人事部、财务部、质量部等部门。现在除了个别的部门实现微机辅助管理外,其他各部门尚未实现微机管理,同时已实现微机管理的部门也没有很好的进行合同资源共享。而且已经实现微机管理的部门因工作升级、部门工作的变动和重新分工,原有系统已经不能满足当前工作的需要。我们提出基于禹洲集团建筑工程公司扩大业务的整体考虑,规划实施“禹洲集团建筑工程公司合同管理系统“ ,
6、此套合同管理系统的最终用户是禹洲集团建筑工程公司的所有员工和董事长,要充分满足当前用户需求,按照合同管理思想规范禹洲集团建筑工程公司合同的签定,变更,索赔,保险,审核等管理,减少了人为主观因素的干预,通过系统的实施使禹洲集团建筑工程公司合同管理达到智能化,为企业节省许多的管理费用,为禹洲集团建筑工程公司的发展战略的实现奠定基础。2.2 现 有业 务分析合同管理系统的主要功能有系统管理、客户管理、合同管理和系统帮助。其中合同管理的流程如下图 1 所示:4图 1 合同管理业务流程图 流程说明:各部门签定好合同后,合同管理员将合同信息输入系统,交由合同管理系统统一管理。如果在合同履行过程中碰到不可克
7、服的困难而需要变更合同时,就上交一份合同变更申请,由公司主管领导进行审核,若审核通过,则开始进行合同变更,若审核不通过,则退回申请。如果在合同履行过程中对方未履行合同所规定的义务,就上交一份合同索赔申请,由公司主管领导进行审核,若审核通过,则开始进行合同索赔,若审核不通过,则退回申请。如果合同到期,则删除该合同。2.3 效益分析1规范了合同管理的业务流程,增强了合同业务处理过程的透明度 信 息递 送部门签定合同合同变更信息 合同索赔信息输入信息合同管理员变更申请删除合同是提交否删除变更或索赔信息是进行合同变更或合同索赔索赔申请审核是否通过合同是否到期5系统通过设置用户权限,定义了不同组别的用户
8、在系统中的功能,从而规范了合同管理过程中各个岗位的职能,避免了业务处理时责任不明确的现象,使得每个岗位(即用户)能够各司其责,杜绝了人为干预的现象。系统中工作流的定义,使得合同管理的业务流程更加合理、科学。去掉了原有手工合同管理流程中不必要的审批环节,增加了审批过程中不可缺少的业务处理环节。2对合同的执行情况做到了动态控制系统存储了与合同相关的所有数据,通过各种提醒等功能的设置从合同的签定开始,系统便对合同执行了“监控“ ,可以对合同的执行情况进行具有实用价值的监督。例如:随时查看已生效和即将结束的合同,提醒用户下一步的操作,并可以检查合同执行过程中是否有因出现了某些问题而无法完成的合同,既而
9、采取必要的解决办法,最大限度的减少企业的损失。3提高了工作效率,降低了管理成本通过系统的实施,业务人员可方便地进行业务操作、资料查阅、相关业务进展查询、接收业务指令等各种日常业务处理;领导人员可方便地进行各种业务查询、事务审批等。使各级人员摆脱了原有手工操作的束缚,大大地提高了工作效率,使得将更多的时间和精力钻研业务成为可能。总之系统实现了合同管理的信息化,从而减少了公司的人力、物力,进一步降低了公司的管理成本。合同 管理系 统概 要设计3.1系统开 发目标合同管理系统可用于支持企业完成合同管理工作,有如下 3 个方面的目标: 支持企业实现规范化和智能化的合同管理。 支持企业高效率完成合同管理
10、的日常业务,包括合同签定后合同信息的 建立,合同变更,合同索赔,合同审核等。 支持企业进行合同管理及其相关方面的科学决策,如企业领导根据合同 的变更信息或解除信息来决定是否变更或解除合同,以便更好地解决合同的纠纷。3.2 系统开发环境 开发工具的选择Borland 公司的 Jbuilder2005 是运用功能强大的 JAVA 程序设计语言的应用程序开发工具。它提供了很多可视的和不可视的控件,还提供可视化的编程环境,开发人员可以直接运用这些控件在可视化的界面进行用户界面布局,大大6地减少了开发人员的工作量。这种开发工具对网络安全和其它网络方面的应用也有很大的支持,用这种工具开发出来的应用程序可运
11、行多种操作平台。所以相对于其他的开发工具,Jbuilder2005 是一个较好的选择。 关系数据库的实现微软公司提供的 Access2000 就是一种关系数据库开发工具,它用于开发中小型关系数据库,开发人员可以在它的可视化界面方便地创建数据库,表,视图等等,简单易用,不用花费开发人员的很多时间,Access2000 的优点还在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许输出数据库中的信息。Access 也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库
12、。经分析,该合同管理系统使用了一个包括十几张表的数据库,属于小型的关系数据库,而且信息维护也不怎么复杂,所以对该系统来说,Access2000 是一个较好的数据库开发工具。 Jbuilder2005 和 Access2000 的结合Jbuider2005 提供了不同的程序接口用于连接数据库和执行 SQL 语句。利用它提供的 JDBC API(JAVA 数据库互连应用程序接口 )接口,可以执行通常的SQL 语句(用 Statement 类) ,动态 SQL 语句(用 PreparedStatement 类) ,以及带 IN 和 OUT 参数的存储过程。其中 ResultSet 类和 QueryD
13、ataSet 类用于保存系统从数据库表中检索出来的记录集,这两个类都可以建立动态的或静态的记录集合,利用这两个类可以很方便地将检索结果显示于用户界面,也可以新增或修改数据库表里的记录。3.3. 系统功 能分析合同管理涉及合同的多个方面,如工程信息、合同信息、合同变更信息、合同索赔信息等等。根据这些信息完成合同管理的日常业务。本系统需要完成的功能主要有: 合同信息和具体内容的建立。 合同变更、索赔等方面信息的输入。 工程信息和客户信息的输入与查询。 对各种信息的查询、添加、删除和编辑。 系统管理员对不同组别的用户权限的配置。 系统日志的建立。3.4. 系统模块 设计7在系统功能分析的基础上,得到
14、如图 2 所示的功能模块图。图 2 功能模块图3. 5. 数据 库设计( 库表设计)表 1.XTGL_YHXX(用户信息表)字段含义 字段名 数据类型 主键 非主键用户编号 yhbh Varchar(10) YES NO用户名称 yhmc Varchar(8) NO YES部门编号 bmbh Varchar(10) NO NO用户组别 yhzb char(2) NO YES性别 xb Varchar(2) NO YES用户密码 yhmm Varchar(10) NO YES注册标识 zcbs char(1) NO YES表 2.XTGL_ZBXX(组别维护表)字段含义 字段名 数据类型 主键
15、非主键组别编号 zbbh Varchar(2) YES NO组别名称 zbmc Varchar(10) NO YES组别备注 zbbz Varchar(20) NO YES表 3.XTGL_CDGL(菜单管理表)字段含义 字段名 数据类型 主键 非主键菜单编码 cdbm Varchar(8) YES NO合 同 管 理 系 统系 统管理客户管理合同管理系统帮助用户管理群组管理权限配制修改密码系统日志重新登录退出系统客户信息录入客户信息查询工程信息合同信息合同变更合同索赔关于系统8菜单英文名称 cdywmc Varchar(16) NO YES菜单中文名称 cdzwmc Varchar(16)
16、NO YES表 4. XTGL_ZBQXWH(组别权限维护表)字段含义 字段名 数据类型 主键 非主键用户组别编号 YHZB Varchar(2) YES NO菜单编号 CDBM Varchar(8) YES NO是否选择 SFXZ Boolean NO YES表 5. XTGL_ZZJG(组织机构表 )字段含义 字段名 数据类型 主键 非主键组织机构代码 zzjgdm Varchar(10) YES NO组织机构名称 zzjgmc Varchar(20) NO YES上级机构代码 sjjgdm Varchar(10) NO NO组织机构级别 zzjgjb Varchar(10) NO YES
17、表 6. XTGL_XTRZ(系统日志表)字段含义 代码 数据类型 主键 非主键日志编号 rzbh 自动编号 YES NO操作内容 czmc Varchar(10) NO YES操作用户 czyh Varchar(10) NO YES操作时间 czsj datetime NO YES表 7.KHGL_KHXX(客户信息表)字段含义 字段名 数据类型 主键 非主键客户编号 KHID 自动编号 YES NO姓名 XM Varchar(8) NO YES客户呢称 KHNC Varchar(10) NO YES客户性别 KHXB Varchar(10) NO YES关系类型编号 GXLXBH Varc
18、har(2) NO NO传真 CZHM Varchar(20) NO YES家庭电话 JTDH Varchar(12) NO YES办公电话 BGDH Varchar(12) NO YES移动电话 YDDH Varchar(15) NO YESOICQ OICQ Varchar(10) NO YESE_MAIL E_MAIL Varchar(20) NO YES邮政编码 YZBM Varchar(10) NO YES职务 ZW Varchar(10) NO YES国家地区 GJDC Varchar(10) NO YES省自治区 ZZQ Varchar(10) NO YES所在城市 SZCS V
19、archar(10) NO YES工作单位 GZDW Varchar(20) NO YES所在部门 SZBM Varchar(20) NO YES9办公室 BGS Varchar(20) NO YES单位地址 DWZZ Varchar(50) NO YES公司网址 GSWZ Varchar(20) NO YES家庭住址 JTZZ Varchar(50) NO YES客户备注 BZSM Varchar(100) NO YES出生年月 CSNY datetime NO YES籍贯 JG Varchar(10) NO YES月收入 YSR float NO YES银行帐号 YHZH Varchar(
20、30) NO YES开户银行 KHYH Varchar(20) NO YES登记人 DJR Varchar(8) NO YES表 8.KHGL_KHLX(客户类型表)字段含义 字段名 数据类型 主键 非主键类型编号 lxbh Varchar(2) YES NO客户类型名称 khlxmc Varchar(14) NO YES表 9.HTGL_GCXX(工程信息表)字段含义 字段名 数据类型 主键 非主键工程编号 gcbh Varchar(3) YES NO工程名称 gcmc Varchar(20) NO YES开工日期 kgrq datetime NO YES竣工日期 jgrq datetime
21、 NO YES表 10.HTGL_HTXX(合同信息表)字段含义 字段名 数据类型 主键 非主键合同编号 HTBH Varchar(3) YES NO合同名称 HTMC Varchar(20) NO YES客户编号 KHBH Varchar(6) NO YES工程项目编号 GCXM Varchar(12) NO YES签定日期 QDRQ datetime NO YES开始日期 KSRQ datetime NO YES结束日期 JSRQ datetime NO YES完成标志 WCBZ Varchar(10) NO YES合同金额 HTJE float NO YES核审标志 HSBZ Varch
22、ar(1) NO YES负责人 FZR Varchar(8) NO YES变更标志 BGBZ Varchar(1) NO YES审核意见 SHYJ Varchar(100) NO YES审核时间 SHSJ Datetime NO YES审核人 SHR Varchar(8) NO YES合同文件 HTNR Varchar(20) NO YES10表 11. HTGL_HTBGXX(合同变更信息表 )字段含义 字段名 数据类型 主键 非主键变更编码 BGBM Varchar(3) YES NO合同编号 HTBH Varchar(3) NO YES变更名称 BGMC Varchar(10) NO Y
23、ES变更类型 BGLX Varchar(8) NO YES变更日期 BGRQ Datetime NO YES生效日期 SXRQ Datetime NO YES变更原因 BGYY Varchar(50) NO YES变更通过标志 BGTGBZ Varchar(1) NO YES表 12. HTGL_HTSPXX(合同索赔信息表)字段含义 字段名 数据类型 主键 非主键索赔编号 SPBH Varchar(3) YES NO索赔类型 SPLX Varchar(8) NO YES索赔项目 SPXM Varchar(20) NO YES工程编号 GCBH Varchar(3) NO NO索赔日期 SPRQ datetime NO YES索赔生效日期 SPSXRQ datetime NO YES索赔原因 SPYY Varchar(50) NO YES索赔通过标志 SPTGBZ Varchar(1) NO YES合同管 理系统的 详细设计及实现4.1 用户管理图 3 用户管理4.1.1 组织机构与用户的显示4.1.1.1 用户信息显示的算法