




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业客户关系管理系统的设企业客户关系管理系统的设 计与实现毕业论文计与实现毕业论文 目录目录 1 前言 .2 1.1 背景.2 1.2 开发目的.2 1.3 开发意义.2 1.4 开发语言及工具简介.2 1.5 论文的结构.3 2 系统分析与设计 .4 2.1 系统概述.4 2.2 系统的总体结构.4 2.3 系统功能模块.5 2.4 系统需求设计.5 2.5 数据库设计.8 3 系统详细分析与设计 .12 3.1 客户管理.12 3.2 产品管理.15 3.3 系统开发规范及说明.15 4 系统部分核心代码 .16 4.1 产品管理模块合同订单与付款记录.16 4.2 数据字典标签.22 5 系统发布及使用说明 .24 5.1 系统发布.24 5.2 客户管理.26 5.3 产品管理.29 6 总结 .31 7 致谢 .32 参考文献 .32 1 1 前言 1.1 背景 21 世纪是信息化时代,随着人才的竞争和生产力的提升,市场的竞争力日益加剧,客户成为了公司 最宝贵的财富,保存与公司有关的客户的相关信息,以及开发新客户都是相当重要的。但是中小型企 业在这方面比较落后,还停留在人工收集报表,制定计划的阶段,要建立友好的客户关系,并不是口 头上的,而是要以实际行动来体现的,企业从“以产品为中心”转向“以客户为中心”,提高客户的 满意度,建立友好的客户管理关系,这些都已成为当今客户关系的研究热点。 企业信息一体化为公司提供客户的信息,管理那些与公司有往来的客户的信息愈来愈重要,同时 还要时刻注意到竞争对手的营销策略,在此基础上对公司产品进行管理并制定出相合理的营销战略, 并跟踪营销路线,及时提供准确信息,并对于客户的要求做出响应,及时改善与客户的关系,提高公 司的竞争力。 1.2 开发目的 利用客户关系管理系统,可以及时了解客户的相关详细信息,还可以及时更新公告,浏览更改公 告信息,还能安排每天日程为公司内部员工提供方便。在客户管理方面可以及时的了解,更新与客户 的联系记录有多少的销售机会以及这些新挖掘的客户有可能成为我们的潜在客户。针对某个客户我们 还能产生报价单。这些报价单对于我们的合同订单有何帮助,对于新客户我们可以先付完订金再发货, 对于熟悉的客户也可以发货玩再统一付款,付款根据情况也可以跟踪分期付款。对于一个合同条款我 们要可以查询到这个客户订购了哪些产品几个多少数量多少总价格又是多少。对于付款的信息我们可 以提取出来。作为一个销售的业绩图,也能因此来振奋员工的士气,对于这些业绩图做出相应的奖励。 对于营销计划也是相当重要的,一个客户处于何种阶段有多少的销售机会,这次销售有多少的销 售金额,又有多少的成功率这些都是很直观的,针对销售漏斗的数据才能相应的做出营销策略。 总之一个好的客户关系管理系是可以为公司带来好的效益,这也是我们开发的主要目的。 1.3 开发意义 客户关系管理系统是一中管理思想和理念,也是一个系统,当然必须借助先进的技术来实现,随 着市场的竞争力的加剧,企业开始把了解客户需求,发展客户关系作为营销的出发点,在这种形式下, 开发一个有助于企业,帮助企业分析市场信息,辅助企业针对的作出相应的营销战略,提高企业的市 场竞争力是此次开发的意义。 1.4 开发语言及工具简介 1.4.1 开发语言 Java1 Java 是 一个广泛使用的网络编程语言,它是一种新的计算概念。首先作为一种程序设计语言, 它简单、面向对象、不依赖于机器的结构、具有可移植性、鲁棒性和安全性,并且提供了并发的机制, 具有很高的性能。Java 还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统 1.4.2 开发工具 MyEclipse2 Eclipse是一个基于Java的、开源的和可扩展的集成开发环境。就eclipse本身而言,它只是一个框架 和一组服务,它有它的强大之处,可以通过安装不同的插件来建立不同的开发环境以满足不同的开发 需求。另外Eclipse是一个open-open的项目,任何人都可以免费下载它的源代码,然后根据自己的需要 并在此基础之上开发自己的功能插件。 MyEclipse 是一个 Eclipse 支持下的 J2EE 开发插件,功能十分强大,具备完美的编码、调试、测 2 试和发布功能并完整支持 Struts、spring 和 Hibemate 等框架技术。MyEclipse 插件基本上涵盖了众多 Eclipse 插件的功能,它能满足我们的各种应用需求,基本上是安装了它就无须其它插件。甚至可以这 样理解,MyEclipse 就是一个比较完备的、功能十分强大的开发环境。在MyEclipse 可以安装 SVN,对于 团队协作,可以及时同步代码。 1.4.3 系统开发服务 Tomcat 的 WEB 服务器3 系统开发所用的服务器是 Tomcat。Tomcat服务器。Web服务器是在网络中为实现信息发布、资 料查询、数据处理等诸多应用搭建基本平台的服务器。Tomcat Server是根据Servlet和JSP规范进行执行 的,是一个免费的开放源代码的 Web 应用服务器,它运行时占用的系统资源小,扩展性好,支持 负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,是一个十分 有用的网络应用开发服务平台。 1.4.4 数据环境简介 随着企业信息化建设步伐的不断加剧,全国乃至全球性市场竞争也日益加剧,越来越多企业也有 了自己的数据库系统,希望能对数据进行具体而又有针对性的分析。目前市场上的数据库种类繁多, 基于Oracle 数据库是业界比较成熟的数据库之一,而且它的安全性比较高,企鹅提供了免费使用版本, 为我的客户关系管理系统的实验性开发带啦了很多方便,因此最后决定采用Oracle数据库解决方案。 Oracle 可以创建属于自己的用户,专门用来开发客户关系管理系统。 1.4.5 B/S 三层结构4 B/S(Browsen/Server)结构即浏览器和服务器结构,随着 Internet 技术的兴起和强大,它是继承 C/S 结构的一种改进结构。其主要是利用不断成熟的 WWW 浏览器技术,结合浏览器的多种脚本语言,用 通用浏览器实现了原来需要复杂的专用软件才能实现的强大功能。在这种结构下,大部分的主要业务 逻辑在服务器端实现,少量在前段实现,二用户工作界面是通过网页浏览器来实现,形成了所谓的三 层结构。 浏览器 Internet Http http 服务器 数据库 SQL请求 SQL结果 请求 结果 图 1-1 B/S 三层结构 1.4.6 Servelt:控制层 Servlet 最重要的用途之一就是实现三层结构的 Web 数据库模式,即客户浏览器、Web 服务器和 数据库服务器三层结构,这也是当前 Intemet/Intranet 最流行的应用模式之一。它可以交互式地浏览和 修改数据,生成动态 Web 内容。 1.5 论文的结构 论文主要阐述系统设计开发背景、相关技术简介、系统详细设计、源代码摘要详解、有效性测试 及实用性分析与验证与总结。论文共分为六章,各章内容安排如下: 第一章 主要介绍了客户关系管理简介。 第二章 通过查询相关资料,进行系统设计需求分析 第三章 对于客户关系管理系统的客户管理模块以及产品管理模块进行详细的分析, 第四章 系统部分核心代码 第五章 系统使用说明、讨论及反思 第六章章 结束语 3 2 系统分析与设计 2.1 系统概述 客户关系管理系统不外乎就是体现企业有商业往来的客户的详细信息,联系记录,竞争对手的相 关资料追踪竞争对手销售及营销战略、客户人数、优势及劣势等等,以及企业产品的管理、营销战役、 及其合同追踪,并及时体现反应客户问题,及时解决客户的问题提高信誉也提高市场竞争力。 对于企业还能及时跟踪有一定销售机会的客户群,有多少的销售机会转成真正的客户,从销售可能 性评估中,可以获得一些信息,因此策划营销战略,进而能获得创造更多的合同订单提高企业的业绩。 对于合同订单,除了能了解到此合同订单里相应的产品列表以及相应的产品的数量价格以及总价外, 还能了解合同里面。 2.1.1 技术可行性分析 系统采用了框架是:jsp+servlet+ibatis。JSP 是页面表示层5,Servelt:控制层,JavaBean:业务逻辑层 6。Ibatis:数据持久层。Oracle:数据库。JSP 有以此编写到处运行的强势,且提供了许多内置对象来 让对象获取用户提交信息或对客户请求的相应。Ibatis7 SQL 映射是一种很有吸引力的关系数据库访问 途径,它以声明性的方式定义 SQL 语句,并且允许基于数据集的访问。从简单的值到 JavaBean 它都 可以映射。iBATIS 最重要的优点就是它不生成任何代码。因此,开发人员没有数据语言需要学习。也 不需要转换到数据库的 SQL 代码,具体的 SQL 语言是需要开发人员去实现的然后映射到相应的配置 文件,将 SQL 所需的字段返回到结果字段映射到指定的实体类中。iBATIS 为系统的开发和设计提供 了更大的自由空间。 2.1.2 经济可行性分析: 企业内部管理以及客户关系有多个方面的原因,一个好的客户关系管理系统可以对客户的数据进行 挖掘和进行分析,根据销售的可能性评估客观的对客户的价值进行评估,并以此为依据来策划新的销 售战略,增强企业的市场竞争力。 2.1.3 操作可行性分析: 本系统简单易学,简单培训下就可以熟练操作。 2.2 系统的总体结构 功 能 主 界 面 首页 任务管理 用户管理 客户管理 知识库管理 公告 任务 用户 角色 菜单 联系人 客户 联系记录 竞争对手 销售管理 产品价格表 销售机会 报价单 销售可能性评估 产品管理 产品 产品订单 合同订单 付款记录 文档资料 知识库 注销 用户登陆登陆成功 用户注册 注册成功 登录失败 4 图 2-1 总体模块图 2.3 系统功能模块 2.3.1 工作台模块 首页:显示首页信息 2.3.2 任务管理模块 包括公告和日程的管理 2.3.3 用户管理模块 用户权限的管理,控制访问权限 2.3.4 客户管理模块 客户信息的管理,包括客户、联系人、联系记录和竞争对手的信息 2.3.5 销售管理模块 记录销售情况并进行数据统计和分析 2.3.6 产品管理模块 对客户业务的跟踪 2.3.7 知识管理模块 解决一些常见的业务问题 2.4 系统需求设计 图 2-2 客户管理、产品管理用例图 说明:联系人、客户通过市场活动产生联系记录,客户通过联系人对企业下订单,企业负责人发货 给客户。客户对此合同进行付款产生付款记录。企业负责人跟踪此付款记录,全部的付款记录形成一 个销售的业绩图。 2.4.1 客户管理 联系人:利用联系人来记录和企业有商业往来的客户的信息,可以追踪到联系人的相关信息姓名, 手机,职位等 客户:与联系人相往来的客户,可追踪到该客户的行业,来源,以及客户的企业类型,销售的级 别人员规模等等。 联系记录:主要记录联系人和客户之间的商业往来。客户有何销售机会以便企业对该客户进一步 分析。 新增功能:主要添加新的联系人资料、客户资料以及记录详细的联系信息。 5 修改功能:对客户信息、联系人信息、联系记录进行修改 删除功能:删除选定的客户、联系人、联系记录信息。 查询功能:根据指定的查询条件模糊查询相关客户、联系人的信息 表 2-1 客户信息操作 名称客户信息 功能描述对客户信息列出一个详细的清单 输入客户编号,客户的名称,联系人,客户类型,客户来源,行业,客户级 别人员规模,处于销售的哪个阶段,手机,电话。客户开户银行,客户 付款方式,传真,邮件。负责人,国家,省份,城市,区域,地址,邮 编,备注 操作序列添加、修改、删除 输出客户信息列表 约束及说明客户编号,客户的名称,联系人,客户类型,客户来源,行业,客户级 别人员规模,处于销售的哪个阶段,手机,电话。负责人。自动生成这 个客户资料是谁创建的,以及创建时间。客户编号为主键,联系人与联系 人类表相对应修改的同时也会自动生成修改用户以及修改时间 表 2-2 客户信息查询 名称客户信息 功能描述对特定条件客户信息列出一个详细的清单 输入客户名称、联系人、企业类型、客户来源 操作序列查询 输出符合条件的客户信息列表 约束及说明无 表 2-3 联系人信息操作 名称联系人信息 功能描述对联系人列出一个详细的清单 输入记录编号、主题、客户、联系人、销售机会、类型、联系日期、主要内 容、类型、负责人备注 操作序列添加、修改、删除 输出联系人信息列表 约束及说明联系人编号为主键不能修改,创建时自动生成创建用户创建时间,修 改时自动生成修改用户,修改时间。联系人编号、姓名、客户、职位、 部门、手机、邮件非空。 表 2-4 联系人信息查询 名称联系人信息查询 功能描述对特定条件联系人信息列出一个详细的清单 输入联系人名称、职位、手机 操作序列查询 输出符合条件的联系人信息 6 约束及说明无 表 2-5 联系记录信息操作 名称 联系记录 功能描述对联系记录列出一个详细的清单 输入记录编号、主题、客户、联系人、销售机会、类型、联系日期、主要内 容、类型、负责人备注 操作序列添加、修改、删除 输出联系记录信息列表 约束及说明记录编号为主键。记录编号、主题、客户、联系人、销售机会、类 型、联系日期、主要内容、类型 非空。 2.4.2 产品管理 产品:利用产品模块可以查看、修改新增关于产品各方面的信息 合同订单:通过联系人客户向企业下订单,企业跟踪订单的情况,并根据需要发货,待发货完,可 以对客户进行催款,即产生付款记录。合同订单的总价格为同一个合同订单里面所有订单产品的总价 格取整。 付款记录:对于常有往来的客户可以直接发货,等发货完进行付款跟踪。对于新客户可以先付订金, 再进行付款跟踪,付订金只能付一次。而且付款记录只能从合同订单那里进行付款跟踪。 新增功能:主要添加新的产品信息资料、合同订单信息,付款信息。 修改功能:对客户信息、联系人信息、联系记录进行修改 删除功能:删除选定的产品、合同信息 查询功能:根据指定的查询条件模糊查询产品、合同的信息 表 2-6 产品信息相关操作 名称 产品信息 功能描述对产品信息列出一个详细的清单 输入客户编号,客户的名称,联系人,客户类型,客户来源,行业,客户级 别名称、规格、厂商、类别、负责人、库存、是否启用、备注 操作序列添加、修改、删除 输出产品信息列表 约束及说明库存为数值型,名称不为空,产品名称不为空,规格、厂商不为空。 产品编号自动生成。 表 2-7 产品信息查询 名称 产品信息查询 功能描述对特定产品信息列出一个详细的清单 输入产品名称、厂商或产品类型,根据条件进行差选 操作序列查询 7 输出符合条件的产品列表。 约束及说明无 表 2-8 合同订单、产品订单信息相关操作 名称 合同订单、产品订单信息 功能描述对合同订单、产品订单信息列出一个详细的清单 输入合同订单:客户、联系人、货币类型、产品发送状态、订金、订单类型、 经手人、联系人、负责人、附件、备注 产品订单:产品、数量、价格、备注 操作序列添加、修改、删除 输出符合条件的产品列表。 约束及说明合同订单编号为主键,一个合同订单有多个产品订单,合同订单的 主键为产品订单的外键。在添加合同订单的同时添加多个产品订单。客 户必选,订金必填写、联系人必选、产品的价格必选、产品数量必填。 一旦产品发送状态为已发送。该合同不再被修改 表 2-9 合同订单、产品订单查询 名称 合同订单、产品订单信息查询 功能描述对特定条件合同订单、产品订单信息列出一个详细的清单 输入客户、创建时间 操作序列查询 输出符合条件的产品订单信息 约束及说明无 2-10 付款记录相关操作 名称 付款记录信息 功能描述同一个合同的付款跟踪 输入负责人、备注、付款金额,付款时间,操作说明 操作序列添加、删除 输出同个合同的付款记录 约束及说明客户为合同订单付款的客户。付款的货币类型也和合同订单,一样, 总金额为合同订单的产品总价格。自动填入。不需填写。订金不能超过 总价格。或者说不能高于余额。 2.5 数据库设计 2.5.1 客户管理模块表设计 8 2-3 客户管理模块关系模型图 表 2-11 联系人(CONTACT) 字段名数据类型长度约束性描述 CONT_IDVARCHAR220主键联系人编号 CONT_NAMEVARCHAR220非空姓名 CONT_CUSTOMERVARCHAR220非空客户 CONT_SEXVARCHAR25非空性别 CONT_AGENUMBER5 年龄 CONT_BIRTHDAYDATE 生日 CONT_JOBVARCHAR220非空职位 CONT_DEPTVARCHAR220非空部门 CONT_MOBILEVARCHAR220非空手机 CONT_PHONEVARCHAR220 电话 CONT_FAXVARCHAR250 传真 CONT_EMAILVARCHAR250非空邮件 CONT_ WEBSITESVARCHAR2100网站 CONT_ PINCIPALVARCHAR220 负责人 CONT _COUNTRYVARCHAR220国家 字段名数据类型长度约束性描述 CONT_PROVINCEVARCHAR220省份 CONT_CITYVARCHAR220城市 CONT_AREAVARCHAR220区域 CONT_ADDRESSVARCHAR250地址 CONT_POSTCODEVARCHAR220邮编 CONT _CREUSERVARCHAR220创建用户 CONT _CRETIMEDATE创建时间 CONT _UPDUSERVARCHAR220修改用户 CONT _UPDTIMEDATE修改时间 CONT_NOTEVARCHAR2100备注 9 表 2-12 联系记录(RECORD_CONTACT) 字段名数据类型长度约束描述 RECO_IDVARCHAR220主键记录编号 RECO_TITLEVARCHAR230非空主题 RECO_CUSTEMERVARCHAR220非空客户 RECO_CONTACTVARCHAR220非空联系人 RECO_SALOPPORTVARCHAR220非空销售机会 RECO_TYPEVARCHAR220非空类型 RECO_DATEDATE非空联系日期 RECO_CONTENTVARCHAR2100非空内容 RECO_PRINCIPALVARCHAR220 负责人 RECO_NOTEVARCHAR2100备注 表 2-13 客户(CUSTOMER) 字段名数据类型长度约束性描述 CUS_IDVARCHAR220主键客户编号 CONT_IDVARCHAR220 联系人编号 CUS_NAMEVARCHAR220非空名称 CUS_TYPEVARCHAR220非空类型 CUS_ORIGINVARCHAR220非空来源 CUS_INDUSTRYVARCHAR220非空行业 CUS_BANKVARCHAR220开户银行 CUS_ACCOUNTVARCHAR220账号 CUS_PAYMENTVARCHAR220付款方式 CUS_LEVELVARCHAR220非空级别 CUS_SCALEVARCHAR220非空人员规模 CUS_STAGEVARCHAR220非空阶段 CUS_MOBILEVARCHAR220非空手机 CUS_PHONEVARCHAR220 电话 CUS_FAXVARCHAR250传真 CUS_EMAILVARCHAR250邮件 CUS_ PINCIPALVARCHAR220 负责人 CUS_COUNTRYVARCHAR220国家 CUS_PROVINCEVARCHAR220省份 CUS_CITYVARCHAR220城市 CUS_AREAVARCHAR220区域 CUS_ADDRESSVARCHAR250地址 CUS_POSTCODEVARCHAR220邮编 CUS _CREUSERVARCHAR220创建用户 CUS _CRETIMEDATE创建时间 CUS _UPDUSERVARCHAR220修改用户 CUS _UPDTIMEDATE修改时间 CUS_NOTEVARCHAR2100备注 10 2.5.2 产品管理模块设计 2-4 产品管理模块关系模型图 表 2-14 产品(PRODUTES) 字段名数据类型长度约束性描述 PRO_IDVARCHAR220主键产品编号 PRO_NAMEVARCHAR220非空名称 PRO_STANDARDVARCHAR220非空规格 PRO_FIRMVARCHAR220非空厂商 PRO_UNITSVARCHAR220非空单位 PRO_TYPEVARCHAR220非空类别 PRO_ENABLEDVARCHAR25非空是否启用 PRO_PRINCIPALVARCHAR220非空负责人 PRO_STOCKNUMBER20非空库存 PRO_NOTEVARCHAR2100备注 表 2-15 合同订单(CONTRACT_ORDER) 字段名数据类型长度约束性描述 CO_IDVARCHAR220主键订单编号 CUS_IDVARCHAR220外键客户编号 CO_MONEYVARCHAR220非空货币 CO_PINCIPALVARCHAR220 负责人 CO_LINKMANVARCHAR220非空联系人 CO_ACCESSORYVARCHAR220附件 CO_PAYMENTMOENY非空订金 CO_SUMMONEY总价 CO_HANDLERVARCHAR220经手人 CO_TYPEVARCHAR220非空订单类型 CO_NOTEVARCHAR2100备注 CO_CREUSERVARCHAR220创建用户 CO_CRETIMEDATE创建时间 CO_UPDUSERVARCHAR220修改用户 CO_UPDTIMEDATE修改时间 11 表 2-16 产品订单表(PRODUCT_ODER) 字段名数据类型长度约束性描述 CO_IDVARCHAR220 订单编号 PRO_IDVARCHAR220 产品编号 PO_IDVARCHAR220产品订单编号 PO_PRICENUMBER(20,2)单价 PO_AMOUNTNUMBER20数量 PO_SUMPRICENUMBER(30,2)总价 表 2-17 收款纪录表(PAY_RECORD) 字段名数据类型长度约束性描述 PR_IDVARCHAR220主键收款纪录编号 PR _DATEDATE非空单据日期 PR _CUSTOMERVARCHAR220非空客户 PR_MONEYVARCHAR220非空货币类型 PR_STATEVARCHAR220非空状态 PR_ PINCIPALVARCHAR220 负责人 PR_OPEVARCHAR220 操作 PR_RECEIVENUMBER(20,2)非空订金 PR_SUMNUMBER(20,2)非空总价 CO_idVARCHAR220合同编号 如图 2-3、图 2-4 的客户关系模块模型图以及产品关系模型图的概念模型,导出数据库的物理模型, 并选择 Oracle 9i 的 SQL 代码。导入数据库。 3 系统详细分析与设计 3.1 客户管理 3.1.1 联系人 1.添加联系人信息时序图 12 3-1 联系人添加时序图 说明:管理员或其他有权限的用户到联系人的列表页面,点击增加,传递相应的连接信息到监 听器,监听器根据相应的跳转条件跳到增加页面,用户根据要求填写数据或选择数据,最后点击保存, 页面对填写的数据进行验证,都符合条件后将表单信息提交到控制器进行判断并调用相对应得增加方 法,并将数据添加到数据库,添加成功后反馈信息到界面,并提醒使用此系统的人。 如果取消增加可以返回到列表页面或从菜单链接到相应的模块。 2.查询联系人信息时序图 3-2 联系人查询时序图 说明:管理员或其他有权限的用户到联系人页面查询需要的联系人的信息。填写联系人名称、 手机或职位点击查询进行模糊查询,控制器接收传来的信息,并对此进行相应的方法调用,到数据库 查询相应条件的联系人信息,将数据反馈给控制器,并跳转到联系人列表页面显示信息。 13 3.修改联系人信息时序图 3-3 联系人信息修改时序图 说明:对于修改联系人信息,先选择相应的条目,进入通过控制器到数据库提取信息后显示在 修改页面,根据需要修改信息,提交进行修改,数据库对数据进行修改,修改成功后跳转到联系人类 表页面。如果取消修改,可以返回到列表页面 4.详细联系人信息 点击详细联系人信息可以跳转到 details.jsp 将此联系人的全部信息包括创建时间创建者,修改时 间修改用户。只可查看,不能修改,点击返回能返回到列表页面。 3.1.2 客户 1.添加客户信息 说明:添加客户的时序图和联系人类似,只是在页面提交的时候有不同的页面验证,还有添加 一个新的客户是在有相应联系人的情况下,因此也要选择相应的联系人信息。 2.查询客户信息 说明:查询客户信息,可以对客户信息进行模糊查询,如果填入的信息多。可以对多个信息进 行 AND 的查询,并条件查询。查询出相应的信息。如果输入都为空的话没有限制条件输出的为全部 的列表信息。 3.修改客户信息时序图 说明:对于客户的信息修改也是有相应的限制条件,我们可以根据数据结构模型的来进行限制。 4.查看客户的详细信息 说明:由于客户的信息比较多,我们不能全部显示在列表页面,对此我们有一个现实详细的页面 跳转,可以查询到此客户的创建者以及客户的修改者及创建时间修改时间。 3.1.3 联系记录 1.添加联系记录信息 说明:管理员或其他有权限的用户到联系记录的列表页面,点击增加,传递相应的连接信息到 监听器,监听器根据相应的跳转条件跳到增加页面,用户根据要求填写数据或选择数据,最后点击保 存,页面对填写的数据进行验证,都符合条件后将表单信息提交到控制器进行判断并调用相对应得增 14 加方法,并将数据添加到数据库,添加成功后反馈信息到界面,并提醒使用此系统的人 2.修改联系记录信息 说明:根据需要要对联系记录进行修改,这样需要一个修改页面,在页面获得待修改的联系记录 的编号,再通过控制器获得该编号的联系记录的详细信息。反馈回页面,使用此系统的人对此进行相 应的修改并提交数据给控制台进行相应的方法调用。页面 3.2 产品管理 合同订单与付款流程图: 3-4 合同订单与付款记录流程图 3.3 系统开发规范及说明 1.系统目录及说明如下: 15 3-5 系统目录说明 2. jsp 页面有英语单词组成并全部用小写字母 3. 每个模块必需有一个模块名称:如客户信息管理名为(customer),模块编写模范说明: Action 目录: 3-6 action 目录 Proj 实体目录: 3-7 实体目录 系统业务逻辑处理类 Service 目录: 3-8 service 目录 4 系统部分核心代码 4.1 产品管理模块合同订单与付款记录 Xml 配置文件,添加合同的 sql 语句, insert into contract_order ( CO_ID,CUS_ID ,CO_MONEY ,CO_PINCIPAL ,CO_LINKMAN ,CO_ACCESSORY , CO_NOTE ,CO_PAYMENT ,CO_SUM, CO_HANDLER, CO_TYPE,CO_STATE , CO_CREUSER ,CO_CRETIME ) Values (#coID#,#cusID#,#coMoney#,#coPinCipal#,#coLinkman#,#coAccessory#,#coNote#, #coPayment#,#coSum#,#cohandler#,#coType#,#coState#,#coCreUser#,#coCreTime# ) 16 处理页面 action 方法 /* * 合同订单action * author chenqiuhong * */ public class ContractOrderAction extends Action List POlist ; /存放合同订单的所订产品信息 String ErrMsg=null; /错误信息 /* * 预添加跳转到相应的add页面 */ public void preAdd(ServletContext application,HttpServletRequest request,HttpServletResponse response,ActionConfig config) this.forward(request, response, config,add); /* * 添加(除了添加合同还要把与合同一对多关系的产品订单添加到数据库) */ public void add(ServletContext application,HttpServletRequest request,HttpServletResponse response,ActionConfig config) throws ParseException, ServletException ContractOrderService contractOrderService =new ContractOrderService(application); ContractOrder contractOrder=null; SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd hh:mm:dd); Date now = new Date(); DateFormat t = DateFormat.getDateInstance(); DateFormat d = DateFormat.getTimeInstance(); String coID = t.format(now)+-+d.format(now); /客户编号 try contractOrder = doUpload(application,request,response,config); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); catch (ServletException e) / TODO Auto-generated catch block request.setAttribute(message,ErrMsg); /上传文件出错提示 ; 17 if(contractOrder=null) request.setAttribute(message, ErrMsg); /上传文件出错提示 this.forward(request, response, config,preAdd); else contractOrder.setCoID(coID); HttpSession session=request.getSession(); String coCreUser=(String) session.getAttribute(name);/创建用户 contractOrder.setCoCreUser(coCreUser); Date coCreTime=new Date();/创建时间 contractOrder.setCoCretime(coCreTime); if(contractOrder.getCoAccessory()=null) contractOrder.setCoAccessory(null); contractOrderService.insertContractOrder(contractOrder); /*处理产品订单批量添加*/ ProductOrderService productorderservice=new ProductOrderService(application); for(int i=0;iPOlist.size();i+) ProductOrder productOrder=(ProductOrder) POlist.get(i); productOrder.setCoid(coID);/订单编号 String poID=coID+i; productOrder.setPoid(poID);/产品订单编号 productorderservice.insertProductOrderInfo(productOrder); request.setAttribute(message, 添加成功!); this.forward(request, response, config,add); /* * 预修改查出同一个合同里面所有的产品。以及产品属将参数提交到update页面 */ public void preUpdate(ServletContext application,HttpServletRequest request,HttpServletResponse response,ActionConfig config) throws SQLException ContractOrderService contractOrderService=new ContractOrderService(application); String coID=request.getParameter(id); ContractOrder contractOrder=contractOrderService.selectContractOrderById(coID); request.setAttribute(ContractOrderOne,contractOrder); /*获取此合同里面订的产品*/ ProductOrderService poService=new ProductOrderService(application); List poList=poService.selectProductOrderInfoByCoId(coID); request.setAttribute(poList,poList); int count=poList.size();/产品数 request.setAttribute(count,count); this.forward(request, response, config,update); /跳转到update页面 18 /*修改修改合同采用的是先把原先的合同个里面的所有的产品订单删除再添加进去*/ public void update(ServletContext application,HttpServletRequest request,HttpServletResponse response,ActionConfig config) throws SQLException, ParseException SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd); ContractOrderService contractOrderService=newContractOrderService(application); String coID=request.getParameter(id); ContractOrder contractOrder=null; try contractOrder = doUpload(application,request,response,config); catch (IOException e) e.printStackTrace(); catch (ServletException e) request.setAttribute(message, ErrMsg); ; if(contractOrder=null) request.setAttribute(message, ErrMsg);/上传文件出现的错误打印出来 findAll(application, request, response, config); else contractOrder.setCoID(coID); HttpSession session=request.getSession(); String coUpdUser=(String) session.getAttribute(name);/修改用户 contractOrder.setCoUpdUser(coUpdUser); Date coUpdTime=new Date();/修改时间 if(contractOrder.getCoAccessory()=null) /修改没有添加附件还是保存原先的附件 String coaccessory=request.getParameter(coaccessory); if(coaccessory.equals(null)/如果原先附件为空,设置本附件为空 contractOrder.setCoAccessory(null); else contractOrder.setCoAccessory(coaccessory); contractOrder.setCoUpdTime(coUpdTime); contractOrderService.updateContractOrder(contractOrder); /*产品订单的批量修改*/ ProductOrderService productorderservice=new ProductOrderService(applicatio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省三河市2025年上半年公开招聘村务工作者试题含答案分析
- 河北省乐亭县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省广平县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年文化创意产业承包经营协议书范本
- 2025年城市供水设施维修承包合同范本
- 2025年度环保材料独家代理销售与服务合同范本
- 2025瓷砖原材料供应商战略合作合同
- 2025大闸蟹产业链投资加盟合同范本大全
- 2025版企业内部培训课程体系设计与承包合同
- 2025版医疗健康企业收购合同范本
- 水利安全生产风险防控“六项机制”右江模式经验分享
- 2023版马原专题课件:专题一马克思主义观;专题二辩证唯物主义世界观
- 单侧双通道UBE手术
- 成年女性压力性尿失禁护理干预试题及答案
- 人教版八年级下学期期末考试英语试题(附听力原文及答案解析)
- 数智治水系统平台建设需求
- 燃气巡线员专业知识考试题库(附答案)
- 《高一数学开学第一课:学好高中数学》课件
- 工艺流程的可靠性与稳定性分析
- 信息资源管理 课件 1-信息资源管理概述
- 儿科护理学(高职)全套教学课件
评论
0/150
提交评论