1、某店 POS积分管理系统 销售情况 ,会员卡再发行数据生成 摘 要 百货店是我们生活中不可缺少的一部分,为了给客户提供更方便的服务平台,而设计了 POS 积分管理系统。积分卡广泛流行于国内外各大企业。有了积分卡,即可通过参加各种积分活动获得更多礼品或其它利益,也可以通过积分手段增加各个企业之间的竞争 力 。 利用 先进 的科学技术和管理手段 增加社会经济效益,从而提高人民的生活水平。百货店通过点积分的管理获得客户更好的信誉,增加客户流量,获得更多的利益。 其中对 POS 机进行数据操作以及会员卡再发行系统在 POS 积分管理 这一 系统中起着重要的作用。 POS 机上的数据操作主要是将 POS
2、 机上的数据转存到数据库或数据文件中 ,而会员卡再发行系统则可以通过将失效会员卡循环利用,从而保证成本控制。 模块是基于日文系统 Windows 2000,需要采用 C#.NET 开发语言,并使用 SQL server 2000 数据库来实现 POS 销售信息转存以及提取会员卡再发行相关信息。以此为目标,在掌握了日文操作系统使用方法的基础上,以C#.NET 技术为工具完成了模块。 关键词 : 计算机应用;信息管理系统;销售情况;会员卡再发行数据 生成 ; C .NET; SQL SERVER 2000 The Integral Management of POS System for a St
3、ore Selling Statistics and Member Card Re-issue Abstract Department store has become an essential part of our lives. The POS integral management system is designed to provide more convenient service platform to the customer in department store. Accumulating card is very popular in domestic and forei
4、gn enterprises. Owning to accumulating card, one can obtain more presents or other benefits by participating in variety of integral activities, which also can increase the competition between different enterprises. It is the very way to raise peoples living standard by increasing social economy bene
5、fit with the more and more developed science and technology. Better prestige, larger customer current capacity and more benefits can be obtained with the operation of point integral management in the department store. The data operation on POS and the member card re-issue system plays an import role
6、 in POS management system. The data operation on POS is to transfer data and save into data base or data files, while the member card re-emission system is used to recycle run out member card and reduce cost. The module adopts Japanese-based Windows 2000 and C# NET as a developing language and use t
7、he SQL server 2000 as database to achieve the capabilities of saving and getting POS selling information, or extracting information related to member card re-emission from it. In order to attain this goal, we completed this module by using C#.NET as a tool and basing on the application method of Jap
8、anese operating system. Key words: Computer Application; Management Information System; Sell Condition; Member Card Re-issue; C#. NET; SQL SERVER 2000第 1 页 1引言 21 世纪的今天,人类已步入一个高速发展的信息时代。随着科学技术的不断发展,日益更新,计算机技术的发展更是突飞猛进,并在人们的生活当中起着重要的作用。运用计算机技 术可以开发各式各样的产品,特别是管理系统,已经深入到各行各业的各个方面。 随着 WTO 的步伐加快,国际化竞争必然加
9、剧,国际国内市场将面临更为激烈的争夺。参与市场竞争,更多的要靠先进超前的经营管理观念和方法、系统的战略规划、科学的市场分析、规范的管理运作、入微的客户服务、优秀的员工队伍等综合实力 。 经营绩效是公司管理的重心, 建立先进的管理系统, 对推动公司战略实现、提高经营业绩是非常重要的。 POS 积分管理系统就是在具备先进科学技术条件下,以先进超前的经营管理观念为基础而设计的一套先进的管理系统。 POS 积分管理系统 的先进性,是要经过详细的需求分析和精心的设计才能实现的。一个公司的管理系统是否先进,完善,是由公司的管理制度,管理理念来决定的。然而一个公司的管理系统的先进性,完善性直接体现了该公司的
10、管理制度和管理理念。因此具有先进和完善的管理系统,在各大企业的管理和发展中起着非常重要的作用。但是怎样才能体现一个管理系统是否真正的先进和完善呢?这在我们开发该 POS 积分管理系统时,应首要涉及考虑的问题。比如:在积分管理系统中,会员的基本信息是否完整,店铺的基本信息是否完整,系统的积分更新是否准确及时,管理系统的性能是否稳定, 管理系统的利用是否节约系统资源降低成本等等都是必须考虑的问题。 为了满足某店的需求,我们设计出具有以下优点的 POS 积分管理系统。如:检索迅速,可靠性高,稳定性强,更新方便,保密性好,成本低,使用方便等等。有了这些优点,各大企业可以利用积分管理系统通过积分的手段提
11、高经营绩效,达到增加利润的目的,增进企业之间的竞争,从而促进社会经济的发展。 2系统概述 该系统是某百货店运行在 POS 机上的积分管理系统。系统可以对总店及其各个分店进行积分管理。 该系统采用 C/S 架构,为提高效率、降低成本,采用了大量的批处理机制,以及定时处理机制。 3模块需求分析 百货店是我们生活中不可缺少的一部分 ,为了给客户提供更方便的服务平台,而设计了 POS 积分管理系统。其中对 POS 机销售情况的数据操作和会员卡再发行系统在这一系统中起着重要的作用 。 POS 机上的数据操作主要是将 POS 机上的数据转存到数据库或者数据文件中 ,而会员卡再发行系统则可以通过失效会员第
12、2 页 卡的循环利用保证成本控制。 3.1 POS 销售情况处理 ( 1) 概述: 该模块是为了便于分析和操作的需要而设计的。其功能将 POS 数据转存到数据库中,待分析完成后,再将指定时间之前的数据转存到 CSV 文 件中后删除数据。 ( 2) 功能: 首先,检查 ini 文件是否正常,如不正常则直接终止程序。 其次,检查指定位置的 dat 文件是否存在,如不存在则直接终止程序。 最后,读取 dat 文件中的数据至数据库表 FSPTB_POS_TORIHIKI 中,以供分析使用。 当分析完成后,即进行以下操作: 首先,判断指定日期是否符合输入格式,如不符合则直接终止程序。 其次,判断 csv
13、 文件是否存在,如不存在则直接终止程序。 最后,将数据库表 FSPTB_POS_TORIHIKI 中的数据按指定时间,转存到 csv文件中并删除数据库中的存储内容。 3.2 会员卡再发行系统 ( 1) 概述: 该模块是为实现废弃会员卡充分再利用,达到成本控制的目的而设计的程序。其主要功能是根据判断数据库表 FSPTB_POINT_KARI 中的追加理由来实现会员卡的再发行数据生成。 ( 2) 功能: 首先,判断 ini 文件是否正常,如不正常则直接终止程序。 其次,判断 dat 文件是否存在,如不存在则新生成当天文件。 最后,根据判断数据库表 FSPTB_POINT_KARI 中的追加理由项,
14、将追加理由项符合要求的数据的新旧会员号输出到 dat 文件中去。 4可行性分析 开发一款软件是否能在允许的条件下达到用 户要求是至关重要的,因此必须要从经济上、技术上对其可行性进行分析。 4.1 经济可行性 随着科学技术的发展,特别是计算机技术的飞跃发展,使得计算机在人们的生活使用中越来越普遍。计算机的普遍使用说明人们的生活水平提高了,从而也说明了计算机的价格越来越被众多人所接受。然而价格的低廉并不是说产品的质量不好,是因为技术的飞跃发展使得产品的成本降低。因此开发 POS 积分管理系统所需要的成本也是该百货店所能接受的,并且通过 POS 积分管理系统的管理使第 3 页 得客户获得相应的好处,
15、从而使百货店获得更高的利益。除此之外它还具有很多优点 ,例如: ( 1)可以随时获得客户的基本资料,以及店铺的基本资料,通过这些可以增加客户与百货店之间的相互信任度。保证交易中的安全性。 ( 2)方便百货店对客户积分的管理以及更新,以便让客户在符合条件的情况下享受某种特别优惠待遇,从而增加客户对百货店的满意度,吸引更多的客户。 4.2 技术可行性 所需技术都是已经非常成熟的技术,例如 ADO.NET 数据库访问技术, Stream文件读写技术,字符切分技术等。 5数据库设计 数据库是整个系统数据的存贮中心,在整个系统中处于至关重要的地位。在此,只介绍以上 2 个程序所要使 用到的数据库。 5.
16、1 POS 销售情况处理 5.1.1 数据流程图 图 1 pos 销售情况处理流程图一 图 2 pos 销售情况处理流程图一 转存过程 POS数据表 POS销售数据 POS数据表 POS销售备份文件 处理过程 第 4 页 5.1.2 数据表结构设计 表 1 数据库表 FSPTB_POS_TORIHIKI 英字項目名 类型 长度 备注 TENPO_CODE Char 6 商店编号 POS_NO Char 6 POS 机标号 TORIHIKI_NO Char 6 交易联标号 TORIHIKI_YMD Char 8 交易日期 TORIHIKI_HH Char 2 交易时间(时) TORIHIKI_M
17、M Char 2 交易时间(分) MEMBER_CODE Char 13 会员号 POINTO_SBT Char 2 积分类型 STATUS Char 2 积分层次 POINT Num 9 本次积分 ALL_POINT Num 9 总积分 NET_URIAGE_M Num 9 销售金额 URIAGA_TENSU Num 7 销售基点 ALL_URIAGE_M Num 9 总销售金额 POINT_M Num 9 积分对象金 额 POINT_RM Num 4 积分基准金额 POINT_RIT Num 2 积分倍率 SEKININ_NO Char 6 操作员编号 TANTOU_NO Char 6 检
18、查标号 CARD_RIYOSU Num 7 会员卡使用次数 YUTAI_RANK Char 2 优待档次 YUTAI_BAIRIT Char 2 优待倍率 HENPIN_KBN Char 1 退货标识 ” 1” ,其他都标识 ” 0” TORIHIKI_AUTO_ID N 15 自动采集 5.2 会员卡再发行系统 5.2.1 数据流程图 会员卡再发行数据 积分信息表 处理过程 第 5 页 图 3 会员卡再发行系统数据流程图 5.2.2 数据表结构设计 表 2 数据库表 FSPTB_POINT_KARI 英字項目名 属性 桁数 備考 MEMBER_CODE C 13 会员号 OLD_MEMBER
19、_CODE C 13 旧会员号 YUTAI_RANK C 2 优待等级 YDAY_POINT 9 8 前日累计积分点 NOW_POINT 9 8 现在新增积分点 YDAY_TUKI_KAIAGE_M 9 10 前日月间销售金额 TUKI_KAIAGE_M 9 10 现在月间销售金额 OUT_POINT 9 6 花费积分累计 OUT_KAIAGE_M 9 10 当天减少金额累计 OUT_RIYU_CODE C 2 花费理由代码 ADD_POINT 9 6 当天累计追加积分 ADD_KAIAGE_M 9 10 当天累计加算金额 ADD_RIYU_CODE C 2 续卡理由代码 UPD_KBN C
20、1 更新区分代码【 1】登录;【 2】修正;【 3】删除 DATA_KBN C 1 数据更新地区分代码 【 0】店铺;【 1】本部 UPD_YMDHMS C 14 更新日期 UPD_TANTOU C 6 担当者代码 6环境搭建 开发环境: Microsoft Visual Studio .NET2003, Microsoft SQL Server 2000 运行环境: Windows2000(日文版 ) 7模块功能代码实现过程 POS 销售情况处理以及会员卡再发行系统这两个模块,其主要的操作可以总归为三类:共通函数的使用、数据库操作和数据文件操作。 详细实现过程如下: 7.1 共通函数的使用
21、这里的共通函数是各个模块都需要使用到的函数。它主 要包括两大功能:一是取得共通文件( INI 文件),二是对数据库进行操作。 第 6 页 7.1.1 共通文件( INI 文件)取得 这里的共通文件是指多个模块都需要使用到的文件 Common.ini,它存放的是各个文件的存放路径。 下面以 POS 交易信息文件的取得举例: 7.1.2 连接数据库 此两个模块对数据库的操作都使用共通函数 SkyConnect(),具体操作会在“数据库操作”里进行说明,这里只说明连接数据库的操作。 下面为连接数据库的关键代码: 7.2 数据库操作 在这两个模块里,具体涉及到的数据库操作主要有:数据库表的读取、添加、
22、更新、删除。而对数据库的所有操作均通过调用共通函数 SkyConnect()来实现。以下代码中出现的“ conn” 均由之前“连接数据库”里的 “ SkyConnect conn = null;”与“ conn = new SkyConnect();”两句定义。 if(conf.ErrorString = “1“ | conf.ErrorString = “2“) /如果共通文件不存在或打不开 /输出出错信息 else if(conf.ErrorString = “3“) /如果共通文件的内容有错 /输出出错信息 else /一切正常 /进行正常操作 /缺省的代码 SkyConnect con
23、n = null; /定义变量 try conn = new SkyConnect(); /连接数据库 catch /如果出错 /输出出错信息 第 7 页 7.2.1 数据库表的读取 在这些模块中,数据表的读取都采用的是共通函数 SkyConnect()的DataReader 方法来实现的。 这里仅以会员卡再发行系统中对 FSPTB_POINT_KARI的读取和计数的一段代码为例,其余表的读取与之类似。 7.2.2 数据库表的添加、更新 在这些模块中,数据表的添加、更新采用的是共通函数 SkyConnect()的SqlExecute 方法来实现的。 这里仅以 POS 销售情况操作模块中对 FS
24、PTB_LOG 的添加的一段代码为例 ,其余表的添加、更新与之类似。 try conn.SqlExecute(“insert into FSPTB_LOG (P_Sel,P_Msg,P_AppNM,P_FuncNM,P_JobNM,P_ErrDetail,P_InIFile) values (L,“ + P_MsgC + “,“ + P_AppNM + “,“ + P_FuncNM + “,“ + P_JobNM + “,“ + LogOutPutH + “,“ + P_INIFile + “)“); /向 FSPTB_LOG表中写入数据 catch /如 果数据库操作出错 /输出出错信息 S
25、kyConnect conn = null; /定义数据库变量 try conn = new SkyConnect(); /联接数据库 System.Data.SqlClient.SqlDataReader SqlData = conn.DataReader(“select MEMBER_CODE,OLD_MEMBER_CODE from FSPTB_POINT_KARI where ADD_RIYU_CODE = 04“);/按条件查询数据库表中的数据 conn.Dispose(); /关闭数据库 catch /输出出错信息 第 8 页 7.2.3 数据库表的 删除 在这些模块中,数据表的删
26、除采用的也是共通函数 SkyConnect()的SqlExecute 方法来实现的。 这里 以 POS 销售情况操作模块中对 FSPTB_POS_TORIHIKI 的添加的一段代码为例。 7.3 数据文件操作 在此两个模块中只涉及到了对数据文件的读取和写入。 7.3.1 数据文件的读取 在这些模块中所涉及到的数据文件读取,都是以一行为一条记录,以“ ,”作为数据间的分割符,并且已按照需要排好了前后顺序。所以,在此采用逐行读取数据,并按照“ ,”分割后存入字符串组。 在此,以 POS 销售情况处理模块中对 POS 交易信息文件的读取为例,如下: try /读取数据地址 string DataPa
27、th = “F:common某店 POS信息管理系统 某店 POS信息管理系统FSPB1330FSPB010.dat“; StreamReader sr = new StreamReader(DataPath); /读取数据文件中的数据 string line = sr.ReadLine(); /寄存数据到变量 line 中 TempData = line.Split(new char ,); /以“,”为区分,寄存数据至 tempdata 中 catch /输出出错信息 try conn = new SkyConnect();/联接数据库 string SqlDelect = “delete FSPTB_POS_TORIHIKI where TORIHIKI_YMD =“ + YMD + “; /定义删除语句 conn.SqlExecute(SqlDelect); /执行删除命令 conn.Dispose();/关闭数据库 catch /如果数据库操作出错 /输出出错信息