1、成 都 信 息 工 程 学 院学 位 论 文某百货店 POS 积分管理系统-积分点更新生成以及通票回收处理某百货店 POS 积分管理系统积分点更新生成以及通票回收处理摘 要百货店是生活中不可缺少的一部分,为了给顾客提供更方便的服务平台以及更好的服务质量,而设计了 POS 积分管理系统。百货店通过点积分的管理获得顾客更好的信誉,增加客户流量,获得更多的利益。在百货店经营的过程中,每天的交易次数成千上万,所以,对顾客使用积分卡信息的查询是很重要的。根据这一点,设计了积分更新生成及通票回收处理的功能。积分点更新生成是指,将顾客交易情况生成更新查询文件;通票回收处理是指,对一定时间后没有使用过的通票进
2、行回收处理以及保存相关信息。涉及到的技术主要是对文件的读和写操作、对数据库的查询和插入以及简单计算编程等等。是基于日文操作系统 Windows 2000,采用 Java 开发语言,并使用 SQL server 2000 数据库,JDBC 驱动器来完成积分点更新生成以及通票回收处理的功能。关键字: POS 积分管理;百货店;积分点;更新生成;通票回收处理An Integral Management of POS System for A Department StoreIntegral Point Generation Update and Coupon Recycling AbstractDe
3、partment store is an essential part in our lives. In order to provide the more convenient service platforms and better service qualities with customers, the POS integral management system is designed. Through this integral management the department store obtains a better prestige from customers, att
4、racts more consumers and gains more benefits. For the customers, the searching of information of the used integral card is very important because of the large number of transaction every day. According to this point, the integral update document generation and coupon recycling functions are designed
5、. Integral Point Generation Update is to make the information of customer transactions into inquiring updated document and Coupon Recycling is to recycle the un-used coupon after a certain period of time and preserve relevant information. The technology involved is mainly concerned with the reading
6、and writing of documents, the inquiring and inserting of the database, simple calculation programming and so on. The system is based on the Windows 2000 of Japanese, developed though JAVA, with SQL server 2000 as the database, JDBC as the driver.Key words: Integral management of POS; Department stor
7、e; Integral point; Generation update; Coupon recycling目 录论文总页数:22 页1 引 言 12 模块需求分析 12.1 模块功能需求 22.2 客户对该模块的期望 22.3 模块其他需求 33 可行性研究 33.1 技术可行性 33.2 经济可行性 44 数据库设计 44.1 数据流程图 44.1.1 通票回收处理数据流程图 44.1.2 积分点更新生成数据流程图 54.2 数据库表结构设计 65 环境搭建 85.1 安装 jdk1.5.0_06 软件 85.2 安装 Eclipse3.2 .95.3 安装 Microsoft SQL S
8、erver 2000 Driver for JDBC Service 95.4 Microsoft SQL Server 2000 安装 .105.5 设置数据源 .106 模块功能代码实现过程 .116.1 共同类或方法的代码实现 .116.2 MAIN 主程序实现 146.2.1 积分更新生成代码实现及说明 .146.2.2 通票回收处理代码实现及说明 .167 模块测试结果 .177.1 积分更新生成文件测试结果 .177.2 通票回收处理测试结果 .18结 论 .19参考文献 .20致 谢 .21声 明 .22第 1 页 共 22 页1 引 言21 世纪的今天,人类已步入一个高速发展的
9、信息时代。随着科学技术的不断发展,日益更新,计算机技术的发展更是突飞猛进,并在人们的生活当中起着重要的作用。运用计算机技术可以开发各式各样的产品,如:积分管理系统等等。积分管理,它的概念在人们的记忆中并不陌生,它属于各大企业经营管理中的一种方式,也是提高管理效率的一种手段。随着 WTO 的步伐加快,国际化竞争必然加剧,国际国内市场将面临更为激烈的争夺。参与市场竞争,更多的要靠先进超前的经营管理观念和方法、系统的战略规划、科学的市场分析、规范的管理运作、入微的客户服务、优秀的员工队伍等综合实力。经营绩效是公司管理的重心,建立先进的管理系统,对推动公司战略实现、提高经营业绩是非常重要的。因此 PO
10、S 积分管理系统就是在具备先进科学技术条件下,以先进超前的经营管理理念为基础而设计的一套先进的管理系统。POS 积分管理系统的先进性,是要经过详细的需求分析和精心的设计才能实现的。一个公司的管理系统是否先进、完善,是由公司的管理制度,管理理念来决定的。然而一个公司的管理系统的先进性、完善性直接体现了该公司的管理制度和管理理念。因此具有先进和完善的管理系统,对各大企业的管理和发展都起着非常重要的作用。但是怎样才能体现一个管理系统是否真正的先进和完善呢?这在我们开发该 POS 积分管理系统时,首要涉及考虑的问题。比如:在积分管理系统中,会员的基本信息是否完整,店铺的基本信息是否完整,系统的积分更新
11、是否准确及时,管理系统的性能是否稳定,管理系统的利用是否节约系统资源降低成本等等都是必须考虑的问题。为了满足某百货店的需求,我们设计出具有以下优点的 POS 积分管理系统。如:检索迅速,可靠性高,稳定性强,更新方便,保密性好,成本低,使用方便等等。有了这些优点,各大企业可以利用积分管理系统通过积分的手段提高经营绩效,达到增加利润的目的,增加各个企业之间的竞争,从而促进社会经济的发展。总的来说开发一套 POS 积分管理系统是很重要的。在这个 POS 积分管理系统中,主要负责积分更新生成和通票回收处理这两个模块的分析、设计和实现。结合所学的知识,基于日文系统 Windows 2000,采用 Jav
12、a 开发语言,并使用SQL server 2000 的数据库来实现积分点更新生成以及通票回收处理的功能。下面将介绍开发过程中实现该模块的具体内容。第 2 页 共 22 页2 模块需求分析各企业或百货店为了在激烈竞争的商场中立于不败之地,就必须与客户建立良好的关系,这就要求在各企业或百货店中拥有一套管理完善的、先进的、稳定的、功能齐全的 POS 积分管理系统。这里的 POS 积分管理系统是面向最终客户的,因此这里所谓的客户是指个人。在每个店铺中拥有很多个客户,而客户又可能拥有旧店铺编码和旧会员编码,但是店铺与客户的关系却不是多对多的关系而是一对多的关系。通过对客户基本资料与店铺基本信息的管理,从
13、而增加企业或百货店与客户的交易信誉度,使得客户在购买商品时买的放心,买的开心,以至于提高客户的满意度,吸引和保持更多的客户。积分点更新生成模块,该模块是查询所需要更新的信息,将所需要更新的信息存在 DAT 文件中。通票回收处理是将符合某种条件的信息在 CSV 文件中显示。2.1 模块功能需求 积分卡所包含的基本资料1) 会员基本资料:包括会员编码,姓名,出生年月日,联系电话(可登记多个电话) ,会员种类(分为三个种类:一般,法人,社员) ,性别,邮编,联系地址,入会的店铺编码,无效区分(分为两种:有效,无效) 。2) 店铺基本资料:包括店铺编码,店铺名称,店铺邮编,店铺地址,联系电话。3) 积
14、分点基本资料:包括会员编码,旧会员编码,优惠等级,各种积分点(分为六种积分点:现时积分点,累计积分点,输出的累计积分点,增加的累计积分点,基本累计积分点,奖金积分累计积分点) ,最新一次使用积分卡的日期,使用积分卡的次数,购买金额,会员打折金额,系统更新日期。4) 其它资料:会员状态包括会员编码,店铺编码,更新种类(分为三种类型:登陆,修改,删除) ,处理日表包括营业日,处理日,登陆日期,更新时间。 处理功能需求1) 积分点更新生成:查询会员状态中的会员编码,按条件检索会员基本资料,店铺基本资料,积分点基本资料,以及其它将符合条件的数据取出存在内存中,然后再根据积分点更新生成的条件将符合的结果
15、保存在 DAT 文件中,以方便更新查询。2) 通票回收处理:该模块主要针对通票回收和通票存储 CSV 文件进行处理,将符合日期条件的数据重新写入通票存储 CSV 文件中,方便查询。第 3 页 共 22 页2.2 客户对该模块的期望 实现该模块的所有功能; 稳定性强; 可调用性强;2.3 模块其他需求 开发环境需求1) 硬件需求:计算机一台。2) 操作系统:Windows 2000(日文)。3) 开发语言:Java(版本号:jdk1.5.0_06 ,eclipse 3.2)。4) 数据库:Microsoft SQL Server 2000。5) 其他软件需求:Microsoft SQL Serv
16、er 2000 Driver for JDBC Service。 人力资源需求积分点更新生成和通票回收处理这两个模块需要一个人完成。 时间需求完成积分点更新生成和通票回收处理的功能需要 3 个月的时间。3 可行性研究3.1 技术可行性Java 技术的特点以 Java 作为该模块的开发工具,是因为它是目前使用最为广泛的网络编程语言之一,并且具有简单、面向对象、稳定、与平台无关、解释型、多线程、安全、动态等特点。1) 简单:Java 语言简单是指这门语言既易学又好用,而且 Java 中不再使用指针的概念。2) 面向对象:基于对象的编程更符合人的思维模式,使人们更容易编写程序。3) 与平台无关:这一
17、点是 Java 语言最大的优点。即用 Java 编写的程序可以在任何安装了 Java 虚拟机(JVM)的计算机上正确运行。4) 解释型:Java 不针对特定的 CPU 芯片进行编译,而是把程序编译为叫做自解码的一种“中间代码” 。字节码是很接近机器码的文件,可以在提供了Java 虚拟机(JVM)的任何系统上被解释执行。5) 多线程:Java 还有一特点就是内置对多线程的支持。多线程支持完成多个任务。6) 安全:当使用支持 Java 的浏览器时,可以放心地运行 Java 的小应用程第 4 页 共 22 页序(Java Applet) ,不必担心病毒的感染和恶意企图。7) 动态:Java 程序的基
18、本组成单元是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得 Java 可以在分布环境中动态地维护程序即类库。Microsoft SQL Server 2000 的可行性分析选择以 Microsoft SQL Server 2000 作为该模块的数据库,SQL Server 2000 数据库学起来较为简单,容易使用,因此使用数据库查询语句,条件查询语句以及写入语句,对数据库进行查询取值,并向数据库里写入数据。在技术难度方面,由于有指导老师的指导和相关的参考文献,特别是网上众多的网友所提供的资料,使得在开发过程中所遇到的困难都能够一一得到解决。3.2 经济可行性随
19、着科学技术的发展,特别是计算机技术的飞跃发展,使得计算机在人们的生活使用中越来越普遍。计算机的普遍使用说明人们的生活水平提高了,从而也说明了计算机的价格越来越被众多人所接受。然而价格的低廉并不是说产品的质量不好,是因为技术的飞跃发展使得产品的成本降低。因此开发 POS 积分管理系统所需要的成本也是该百货店所能接受的,并且通过 POS 积分管理系统的管理使得客户获得相应的好处,从而使百货店获得更高的利益。除此之外它还具有很多优点,例如:1) 可以随时获得客户的基本资料,以及店铺的基本资料,通过这些可以增加客户与百货店之间的相互信任度。保证交易中的安全性。2) 方便百货店对客户积分的管理以及更新,
20、以便让客户在符合条件的情况下享受某种特别优惠待遇,从而增加客户对百货店的满意度,吸引更多的客户。根据以上分析,实现积分点更新生成以及通票回收处理的功能是可行的。4 数据库设计4.1 数据流程图4.1.1 通票回收处理数据流程图如图 1 通票回收处理数据流程图:第 5 页 共 22 页图 1 通票回收处理数据流程图通票回收处理数据流程图说明:通票回收处理数据流程涉及两个文件,通票回收数据文件只是输出文件,通票回收储蓄文件既是输出也是输入文件。通票回收数据文件:所存放的数据是每次交易时使用积分卡所存放的交易时间以及其它数据信息。通票回收储蓄文件:所存放的数据是每次通票处理时所存放的最新数据。所存放
21、的内容和通票回收数据文件一样。4.1.2 积分点更新生成数据流程图如图 2 积分点更新生成数据流程图:图 2 积分点更新生成数据流程图积分点更新生成数据流程图说明:积分点更新生成数据流程处理时需要用到 7 种数据和一个文件,从这 7 个数据表中取出数据,将符合条件的数据存放在文件中,做成积分更新生成文件即积分更新数据文件。会员数据:包括会员的基本信息数据(入会日期,会员编码,姓名,住址,联系电话,出生年月日,会员种类,入会店铺编码等等) ;积分数据:包括积分卡的基本信息数据(会员编码,现在积分点,累计积分点,输出累计积分点,增加累计积分点,基本累计积分点,购买次数,购买累计金额等等) ;店铺数
22、据:包括店铺基本信息数据(店铺编码,店铺名称,优先级编码,住址,联系电话等等) ;会员状态数据:记录是否曾经办理过积分卡的信息数据(会员编码,旧会第 6 页 共 22 页员编码,店铺编码,旧店铺编码,优先级编码等等) ;优先数据:记录优先级信息数据(优先级编码,优先级名称,更新日期等等) ;奖励积分数据:记录会员获奖信息数据(处理日期,会员编码,每月消费金额,奖励积分点,系统更新日期等等) ;处理日数据:记录所有处理的日期数据(营业日期,处理日期,登陆日期,更新日期等等) ;4.2 数据库表结构设计数据库表结构的设计在每一个开发项目中都是非常重要的一个部分,数据库表设计的好坏直接关系到开发过程
23、中代码实现的功能强大与否,是否包含齐备客户所需求的功能。因此下面介绍该模块所用到的数据库表的详细设计:1) 表名定义表 1 数据库表名一览序号 表参数名 说明1 FSPTB_MEMBER 记录会员基本信息2 FSPTB_POINT 记录积分卡的基本信息3 FSPTB_TENPO 记录店铺基本信息4 FSPTB_MEMBER_STATUS 记录会员状态信息5 FSPTB_DOMINANT 记录优先级别信息6 FSPTB_POINT_BONUS 记录会员获奖信息7 FSPTB_COMM_CONT 记录处理的日期信息2) 数据库表设计表 2 会员表主键 列(属性)名 中文名称 类型 宽度 是否允许为
24、空 MEMBER_CODE 会员编码 Char 13 NOT NULLNYUKAI_YMD 入会年月日 Char 8 NULLSHIMEI_KANA_S 日语假名的姓 Char 16 NOT NULLSHIMEI_KANA_N 日语假名的名 Char 16 NOT NULLSHIMEI_KANJI_S 中文姓 Char 32 NOT NULLSHIMEI_KANJI_N 中文名 Char 32 NOT NULLBIRTH_DAY 出生年月日 Char 8 NULLMEMBER_KBN 会员种类 Char 1 NULLFM_KBN 性别 Char 1 NULLNYUKAI_TENPO 入会的店铺
25、编码 Char 6 NULL第 7 页 共 22 页MUKOU_KBN 起效种类 Char 1 NULLADD_YMDHMS 注册时间 Char 14 NULLADD_TANTOU 注册负责人 ID Char 6 NULLUPD_YMDHMS 更新时间 Char 14 NULLUPD_TANTOU 更新负责人 ID Char 6 NULL表 3 会员状态表主键 列(属性)名 中文名称 类型 宽度 是否允许为空 MEMBER_CODE 会员编码 Char 13 NOT NULLOLD_MEMBER_CODE 旧会员编码 Char 13 NULLDOMINANT_CODE 优先级别编码 Char
26、3 NOT NULLTENPO_CODE 店铺编码 Char 6 NOT NULLOLD_DOMINANT_CODE 旧优先级别编码 Char 3 NOT NULLOLD_TENPO_CODE 旧店铺编码 Char 6 NOT NULLUPD_KBN 更新种类 Char 1 NULLMSTS_AUTO_ID 记录番号 Numeric 15 NULL表 4 积分表主键列(属性)名 中文名称 类型 宽度是否允许为空 MEMBER_CODE 会员编码 Char 13 NOT NULLOLD_MEMBER_CODE 旧会员编码 Char 13 NULLYUTAI_RANK 优惠等级 Char 2 NU
27、LLNOW_POINT 现在积分点 9 8 NULLRUIKEI_POINT 累计积分点 9 8 NULLOUT_RUIKEI_POINT 输出的累计积分点 9 8 NULLADD_RUIKEI_POINT 增加的累计积分点 9 8 NULLKIHON_RUIKEI_POINT 基本累计积分点 9 8 NULLBONUS_RUIKEI_POINT 奖励累计积分点 9 8 NULLKAIAGE_R 最后交易时间 Char 8 NULLTUKI_KAIAGE_M 每月交易金额 9 10 NULLBEFORE_TUKI_KAIAGE_M 前月交易金额 9 10 NULLKAIAGE_F 交易次数 9
28、 5 NULLKAIAGE_M 交易金额 9 10 NULLMEMBER_WARIBIKI_M 打折累计金额 9 10 NULLKOUNYU_M 购买金额 9 10 NULL第 8 页 共 22 页MUKOU_KBN 起效种类 Char 1 NULLADD_YMDHMS 登陆时间 Char 14 NULLUPD_TANTOU 更新负责人 ID Char 6 NULL表 5 优先级别表主键 列(属性)名 中文名称 类型 宽度 是否允许为空 DOMINANT_CODE 优先级别编码 Char 3 NOT NULLDOMINANT_KANA 日文名称 Char 20 NULLDOMINANT_KAN
29、JI 中文名称 Char 30 NULLUPD_YMDHMS 更新时间 Char 14 NULLUPD_TANTOU 更新负责人 ID Char 6 NULL表 6 店铺表主键 列(属性)名 中文名称 类型 宽度 是否允许为空 TENPO_CODE 店铺编码 Char 6 NOT NULLTENPO_KANA 日语名称 Char 20 NULLTENPO_KANJI 中文名称 Char 30 NULLDOMINANT_CODE 优先级别编码 Char 3 NULLTENPO_ZIP 邮政编码 Char 7 NULLTENPO_ADDR 地址 Char 100 NULLTENCYO_MEI 店长
30、名 Char 20 NULLUPD_YMDHMS 更新时间 Char 14 NULLUPD_TANTOU 更新负责人 ID Char 6 NULL表 7 积分奖励表主键 列(属性)名 中文名称 类型 宽度 是否允许为空 SHORI_YM 处理月 Char 6 NOT NULL MEMBER_CODE 会员编码 Char 13 NOT NULLTUKI_KAIAGE_M 每月交易金额 9 10 NULLBONUS_POINT 奖励积分点 9 8 NULLBONUS_KUBN 奖励种类 9 4 NULLSYSTEM_UPD_YMDHMS 系统更新时间 Char 14 NULL表 8 处理日表主键
31、列(属性)名 中文名称 类型 宽度 是否允许为空EIGYO_YMD 营业日期 Char 8 NOT NULLSYORI_YMD 处理日期 Char 8 NOT NULLADD_YMD 登陆日期 Char 8 NOT NULL第 9 页 共 22 页ADD_HMS 登陆时间 Char 6 NOT NULLUPD_YMD 更新日期 Char 8 NOT NULLUPD_HMS 更新时间 Char 6 NOT NULL5 环境搭建5.1 安装 jdk1.5.0_06 软件jdk1.5.0_06 软件的安装和一般软件的安装一样,没有需要特别注意的地方,只需按步骤依次安装即可。安装完成后在所选安装目录下
32、存在jdk1.5.0_06 文件。如图 3jdk1.5.0_06 文件:图 3jdk1.5.0_06 文件5.2 安装 Eclipse3.2Eclipse 3.2,只要解压就可以使用,解压时可以设置或选择项目程序所在目录,在这里所编写的程序放在 D:FSP 中,如图 4 Eclipse3.2 创建:文件路径:C:Program FilesJava文件名:jdk1.5.0_06可设置或选择项目程序所在路径第 10 页 共 22 页图 4 Eclipse3.2 创建5.3 安装 Microsoft SQL Server 2000 Driver for JDBC ServiceMicrosoft S
33、QL Server 2000 Driver for JDBC Service 安装软件,在安装过程中没有什么特别的要求,即可安装成功。如图 5JDBC 安装:图 5JDBC 安装5.4 Microsoft SQL Server 2000 安装开发某百货店 POS 积分管理系统时,共同使用一个服务器,因此Microsoft SQL Server 2000 的安装是在服务器上进行的,这里的模块不涉及数据库 Microsoft SQL Server 2000 的安装,只是使用而已。5.5 设置数据源为了与该系统的数据库建立连接,首先需要配置一个 ODBC 数据源,步骤:打开 Windows 中的控制
34、面板后,双击“管理工具”接着双击“数据源(ODBC) ”图标,出现界面;1) 单击界面中“System DSN”选项卡,出现对话框,此对话框用于设置系统数据源的名称和对应的驱动程序,单击“Add”按钮,出现对话框;2) 选择对话框中“SQL Server”条目,单击“完了 ”按钮,出现界面;3) 在界面中的第一个文件编辑框中键入连接的数据库的名称(例如:“ tokyosuper” ) ,接着从服务器下拉框中选择服务器名字(例如:SK-XUFENG) , (但是如果使用本机的数据库即已安装了相应的 SQL Server 数据库软件时,选择“Local(本地) ”就可以了。 )出现界面;4) 选择
35、由用户名和密码来连接服务器的单选按钮,在 Login ID 中填写用户名(例如:“sa” ) ,在 Password 中填写密码,出现界面;5) 选中“chang the default database to”按钮,从服务器下拉框中选择“ tokyosuper” ,点击下一步,接着点击完成,最后点击 ok 就可以了。点击“Finish”即可完成安装第 11 页 共 22 页如图 6 数据源:图 6 数据源6 模块功能代码实现过程在这里负责的 2 个模块是积分更新生成模块和通票回收处理模块,详细实现过程如下:6.1 共同类或方法的代码实现1) 建立 JDBC-ODBC 桥接器,如下实现代码:建
36、立 JDBC-ODBC 桥接器实现代码中 s 可用“sun.jdbc.odbc.JdbcOdbcDriver“来替换,即可实现 JDBC-ODBC 桥接器建立的功能。2) INI 文件的获取在这里的 INI 文件是系统中所公用的文件,里面存放了所有文件的存放路径信息。此功能实现代码省略。3) 数据库日志输出实现在这些模块中需要输出消息日志,开始日志和结束日志,实现代码如下:点击“ OK ”即可public class Fsplog String url=“jdbc:odbc:tokyosuper“;/定义数据源名String user=“sa“;/定义数据源的 login nameString
37、 password=“123456“;/定义数据源的密码Fsplog()public void insert(String str)trypublic void Jdbcodbc(String s)tryClass.forName(s);catch(ClassNotFoundException e)第 12 页 共 22 页日志输出实现代码中 str 表示数据库插入语句 INSERT 插入数据库表FSPTB_LOG 中的内容。p_Sel,p_Msg,p_AppNM,p_FuncNM, p_JobNM, p_ErrDetail,p_InIFile 这些列名分别表示日志种类,日志信息,程序名,函数
38、名,工作名,错误信息,INI 文件名。4) 重新设置内容在积分更新生成模块中,需要对从数据库中取出的内容按照某中条件进行重新设置,有三种不同的情况,实现代码如下:Connection con;Statement sql; String temp;con=DriverManager.getConnection(url,user,password);sql=con.createStatement();temp=“INSERT FSPTB_LOG(p_Sel,p_Msg,p_AppNM,p_FuncNM, p_JobNM,p_ErrDetail,p_InIFile) VALUES“+str;sql.
39、executeUpdate(temp);/执行给定 SQL 语句,可以/对该数据库表的内容进行插入,更新,删除等等con.close();catch(SQLException e)public class Reset String ss;/1)现在积分点和累计积分点重新设置Reset(String s1)tryif(s1!=null)int a=Integer.parseInt(s1);if(a=0)ss=String.valueOf(a);else ss=“00000000“;else ss=“00000000“;catch(NumberFormatException e)Reset()/2
40、)每月购买金额重新设值public String resetKingaku(String s2)tryif(s2!=null)int b=Integer.parseInt(s2);if(b=0)return(String.valueOf(b);第 13 页 共 22 页重新设置内容代码实现中有参数的构造函数 Reset(String s1)是对现在积分点和累计积分点的重新设值,它的实现功能是如果取出的值为 null 或者小于 0 的情况下就将那个值重新设置为“00000000” ; 方法 public String resetKingaku(String s2),是对每月购买金额重新设值,它的
41、实现功能是如果取出的值为 null 或者小于 0 的情况下就将那个值重新设置为“0000000000”;方法 public String resetBonusKubn(String s3),是对奖励种类重新设值,如果所取的值不为空则返回所取得值,其它情况下都设置为“0001” 。其中的两个方法由空构造函数 Reset()的对象来调用。5) 写入文件实现elsereturn(“0000000000“);elsereturn(“0000000000“);catch(NumberFormatException e)return(“);/3)奖励种类重新设置public String resetBon
42、usKubn(String s3)tryif(s3!=null)return(s3);elsereturn(“0001“);catch(NumberFormatException e)return(“);public void writetofile(String filepath,String filename,String cotents)File f=new File(filepath,filename);Fsplog error=new Fsplog();tryFileWriter fwrite=new FileWriter(f,true);BufferedWriter out=new
43、 BufferedWriter(fwrite);out.write(cotents);out.close();fwrite.close();catch(IOException e)error.insert(“(L,回収取得処理,Fsplog,FSP1510,発生 ,FSP.INI)“); 第 14 页 共 22 页在写入文件实现的代码中,有三个参数 filepath, filename, cotents 分别表示文件的路径,文件名,以及向文件中写入数据的内容。这里需要注意,当我们对文件进行操作时,一定要记得在每操作完以后要关闭文件,以便释放系统资源,否则造成不必要的资源浪费。6.2 MAIN
44、主程序实现6.2.1 积分更新生成代码实现及说明1) 定义相关联的变量,如下表 9 积分更新生成变量一览:表 9 积分更新生成变量一览变量名 类型 说明point_ment String 积分更新生成文件路径pointmentdir_parent String 积分更新生成文件父路径pointmentname String 积分更新生成文件名statusMemberCode String 会员状态的会员编码pointMemberCode String 积分中会员编码pointNowPoint String 积分中现在积分点pointTukiKaiageM String 积分中每月交易金额poi
45、ntRuikeiPoint String 积分中累计积分点memberTenpoCode String 会员中店铺编码memberShimeiKanaS String 会员中会员日语假名姓memberShimeiKanaN String 会员中会员日语假名名memberBirthDay String 会员中生日日期memberUpdYmdhms String 会员中更新日期tenpoDominantCode String 店铺中优先级别编码tenpoTenpoCode String 店铺中店铺编码pointBonusBonusKubn String 积分奖励中奖励种类2) 访问 INI 文件,
46、检查积分更新文件路径和生成积分更新文件,代码实现如下:/访问 INI 文件Iniread rd=new Iniread(url,user,password);/检查积分生成文件路径是否存在try代码省略/1)当存在文件目录时,生成积分更新生成文件if(pointmentdirparent.exists()第 15 页 共 22 页3) 从数据库表中取值的过程在积分更新生成模块中主要是查询数据库,然后将符合条件的值取出,首先取出的是 FSPTB_MEMBER_STATUS 中的 MEMBER_CODE 的值,代码如下:查询数据库代码实现中,需要用到数据库的查询语句“SELECT 列名 FROM
47、File pointment=new File(pointmentdir_parent,pointmentname);pointment.createNewFile();/2)生成积分更新生成文件目录及文件elsetry Fsplog message2=new Fsplog();message2.insert(“(G,業務,存在処理,Fsplog,FSP1240,NULL,FSP_INI)“);System.out.println(“存在場合“);pointmentdirparent.mkdirs();catch(SecurityException e)error.insert(“(L,Fsp
48、log,FSP1240,発生,FSP.INI)“);catch(IOException e)System.exit(1);trycon=DriverManager.getConnection(url,user,password);sql=con.createStatement();String str1=“SELECT * FROM FSPTB_MEMBER_STATUS“;rs1=sql.executeQuery(str1);int count=0;while(rs1.next()count+;代码省略if(count=0)System.out.println(“数 0 “);end.insert(“(E,終了,Fsplog,FSP1240,NULL,FSP_INI)“);rs1.close();sql.close();con.close();catch(SQLException e)error.insert(“(L,存在処理,Fsplog,FSP1240,発生,)第 16 页 共 22 页表名” ,以及条件查询语句“SELECT 列名 FROM 表名 WHERE 条件” ,该模块所要用的数据都是在 while(rs1.next()循环中符合条件的情况下取出的。所取出的值通过以下代码写入积分更新生成文件