




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢畢 業(yè)業(yè) 設(shè)設(shè) 計計( 論論 文文) 某店某店 POSPOS 積分管理系統(tǒng)積分管理系統(tǒng) 商品分類,交易狀況統(tǒng)計商品分類,交易狀況統(tǒng)計 論文作者姓名:論文作者姓名: 申請學(xué)位專業(yè):申請學(xué)位專業(yè): 申請學(xué)位類別:申請學(xué)位類別: 指指導(dǎo)導(dǎo)教教師師姓姓名名(職職稱稱) : 論文提交日期:論文提交日期: 某店某店 POSPOS 積分管理系統(tǒng)積分管理系統(tǒng) 商品分類,交易狀況統(tǒng)計商品分類,交易狀況統(tǒng)計 摘摘 要要 現(xiàn)在,百貨店已經(jīng)成為我們生活中不可缺少的一部分,而為了給客戶提供 更方便的服務(wù)平臺,給商家提供更有效的管理手段設(shè)計了 POS 積分管理系統(tǒng)。 向消費者發(fā)放積分這種手段在國內(nèi)外各百貨店都是很流行的
2、。有了積分卡, 消費者可以通過參加各種積分活動獲得更多禮品或打折的利益,商家也可以通 過發(fā)放積分這種方式來提升自己的市場競爭力,增加社會經(jīng)濟(jì)效益,從而使商 家和消費者都能獲利。 在整個系統(tǒng)中我主要負(fù)責(zé)用于分析的商品分類數(shù)據(jù)生成和用于分析的分店 鋪交易狀況統(tǒng)計兩個模塊,它們在系統(tǒng)中起著重要的作用。商品分類數(shù)據(jù)文件 是根據(jù)其他模塊生成的數(shù)據(jù)文件信息,按照指定的格式和要求生成一份具有分 析價值的新的數(shù)據(jù)文件。而用于分析的分店鋪交易狀況統(tǒng)計是對各個分店鋪在 某交易日的交易情況的統(tǒng)計,對商家來說具有很強(qiáng)的市場參考分析價值。 系統(tǒng)是基于日文版 Windows 2000 操作系統(tǒng),采用 C.NET 開發(fā)語言
3、,并使 用 SQL SERVER 2000 的數(shù)據(jù)庫來實現(xiàn)的。 關(guān)鍵詞關(guān)鍵詞:計算機(jī)應(yīng)用技術(shù);信息管理系統(tǒng);POS;商品分類;交易情況 An Integral Management of POS System for a Department Store Statistics to Commodity Classification and Transaction Data Abstract Nowadays, shopping in department store has become an essential part of our life. In order to offering a
4、 more convenient service platform for customers and a more effective management tool for merchants, a POS system is designed. It is very popular to issue points to consumers in large department stores in domestic and abroad. Consumers can gain more present or direct discount by participating in any
5、activity by using the point card. The enterprise also can improve its marketing competition and increase the socioeconomic benefits. It is benefit for both the enterprises and consumers. In this system, my task is to realize the module of analysis commodity classification data and the module of anal
6、ysis sub-shop. They both play important roles in the system. The analysis of commodity classification data file is based on other module data, and generated a valued file according to some format and require. And the analysis of sub-shop trading statistics data is of great market reference value for
7、 the business. The modules are developed by use of C# language and SQL server 2000 databases on the platform of Japanese system Windows 2000. Key words: Computer application technology; Information management systems; POS; Commodity classification; Transactions 目目 錄錄 論文總頁數(shù):30 頁 1引言.1 2系統(tǒng)概述.1 3模塊需求分析
8、.1 3.1模塊功能需求.2 3.2模塊性能要求.3 3.3模塊其他需求.3 4可行性研究.4 4.1技術(shù)可行性.4 4.2經(jīng)濟(jì)可行性.4 5數(shù)據(jù)庫及數(shù)據(jù)文件設(shè)計.4 5.1數(shù)據(jù)流程圖.4 5.2數(shù)據(jù)表及數(shù)據(jù)文件結(jié)構(gòu)設(shè)計.6 6環(huán)境搭建.9 6.1安裝 MICROSOFT VISUAL STUDIO.NET 2003 .9 6.2安裝 MICROSOFT SQL SERVER 2000 .9 6.3安裝 SUBVERSION(SVN).9 7模塊功能代碼實現(xiàn)過程.9 7.1用于分析的商品分類數(shù)據(jù)生成模塊的實現(xiàn).9 7.2用于分析的分店鋪交易狀況統(tǒng)計的實現(xiàn).15 8模塊測試結(jié)果.20 8.1用于
9、分析的商品分類數(shù)據(jù)生成模塊的測試結(jié)果.20 8.2用于分析的分店鋪交易狀況統(tǒng)計模塊的測試結(jié)果.26 結(jié) 論.27 參考文獻(xiàn).28 致 謝.29 聲 明.30 1 1引言引言 21 世紀(jì)的今天,人類已步入一個高速發(fā)展的信息時代。隨著科學(xué)技術(shù)的不 斷發(fā)展和日益更新,計算機(jī)技術(shù)的發(fā)展更是尤為突出,并在人們的生活當(dāng)中發(fā) 揮著越來越重要的作用,已經(jīng)成為人們生活中不可或缺的一個角色。進(jìn)而產(chǎn)生 了運用計算機(jī)技術(shù)開發(fā)的各式各樣的產(chǎn)品來提高人們的工作管理效率,如各種 各樣的信息管理系統(tǒng)等,而 POS 積分管理系統(tǒng)便是其中一種類型的信息管理系 統(tǒng)。 POS 積分管理這個概念在人們的記憶中并不陌生,它是風(fēng)靡于各大企
10、業(yè)經(jīng) 營管理中的一種先進(jìn)的管理方式,也是提高管理效率的一種手段。隨著 WTO 的 步伐加快,國際化競爭必然加劇,國際國內(nèi)市場將面臨更為激烈的爭奪。參與 市場競爭,更多的要靠先進(jìn)超前的經(jīng)營管理觀念和方法、系統(tǒng)的戰(zhàn)略規(guī)劃、科 學(xué)的市場分析、規(guī)范的管理運作、入微的客戶服務(wù)、優(yōu)秀的員工隊伍等綜合實 力。經(jīng)營績效是公司管理的重心,建立先進(jìn)的管理系統(tǒng),對推動公司戰(zhàn)略實現(xiàn)、 提高經(jīng)營業(yè)績是非常重要的。因此 POS 積分管理系統(tǒng)就是在具備先進(jìn)科學(xué)技術(shù) 條件下,以先進(jìn)超前的經(jīng)營管理觀念為基礎(chǔ)而設(shè)計的一套先進(jìn)的管理系統(tǒng)。 為了滿足某百貨店的需求,這里設(shè)計具有以下優(yōu)點的 POS 積分管理系統(tǒng)。 如:檢索迅速,提供有
11、效的數(shù)據(jù)分析和市場參考,可靠性高,穩(wěn)定性強(qiáng),更新 方便,保密性好,成本低,使用方便等等。有了這些優(yōu)點,各大企業(yè)可以利用 POS 積分管理系統(tǒng)通過積分的手段提高經(jīng)營績效,達(dá)到增加利潤的目的,增加 個企業(yè)之間的競爭,從而促進(jìn)社會經(jīng)濟(jì)的發(fā)展。 在系統(tǒng)中,我主要負(fù)責(zé)用于分析的商品分類數(shù)據(jù)生成和用于分析的分店鋪 交易狀況統(tǒng)計這兩個模塊。結(jié)合所學(xué)的知識,基于日文 Windows 2000 操作系統(tǒng),采 用 C#.NET 開發(fā)語言,并使用 SQL server 2000 的數(shù)據(jù)庫來實現(xiàn)分析的商品分類 數(shù)據(jù)生成以及用于分析的分店鋪交易狀況統(tǒng)計的功能。下面介紹開發(fā)過程中實 現(xiàn)該模塊的具體情況。 2 2系統(tǒng)概述系
12、統(tǒng)概述 系統(tǒng)是某大型百貨店的一套 POS 積分管理系統(tǒng),百貨店通過使用本系統(tǒng)可 以進(jìn)行對積分的管理,用戶信息的管理,交易數(shù)據(jù)的統(tǒng)計以進(jìn)行實時的市場分 析等活動。整個系統(tǒng)主要負(fù)責(zé)用于分析的商品分類數(shù)據(jù)生成和用于分析的分店 鋪交易狀況統(tǒng)計兩個模塊,它們在系統(tǒng)中起著重要的作用。商品分類數(shù)據(jù)文件 是根據(jù)其他模塊生成的數(shù)據(jù)文件信息,按照指定的格式和要求生成一份具有分 析價值的新的數(shù)據(jù)文件。而用于分析的分店鋪交易狀況統(tǒng)計是對各個分店鋪在 某交易日的交易情況的統(tǒng)計,對商家來說具有很強(qiáng)的市場參考分析價值。 該系統(tǒng)是采用 C/S 結(jié)構(gòu)開發(fā),為提高處理效率,降低成本,使用了大量批 處理,以及定時處理機(jī)制。 3 3
13、模塊需求分析模塊需求分析 在現(xiàn)代社會的商業(yè)競爭中,善于分析消費者的消費習(xí)慣,消費能力和需求 從而做出正確的判斷來制定更新的發(fā)展方向是十分重要的。而各種用于分析的 數(shù)據(jù)就可以為企業(yè)進(jìn)行這樣的判斷提供參考。所以在這里我負(fù)責(zé)了關(guān)于生成分 析用數(shù)據(jù)的兩個模塊:用于分析的商品分類數(shù)據(jù)生成和用于分析的分店鋪交易 狀況統(tǒng)計。 3.13.1 模塊功能需求模塊功能需求 用于分析的商品分類數(shù)據(jù)生成模塊 基本資料: 1. 商品分類參數(shù)文件:此文件是由其他模塊工作生成的數(shù)據(jù),包括分類階 層區(qū)分,有效區(qū)分,分類稱呼和此文件生成的日期。 2. 商品大分類數(shù)據(jù):包括大分類編號,大分類名漢字(日文漢字) ,大分 類假名,注冊
14、年月日,注冊時刻,更新年月日,更新時刻和輸入者。 3. 商品中分類數(shù)據(jù):包括大分類編號,中分類編號,中分類名漢字(日文 漢字) ,中分類假名,刪除日期,注冊年月日,注冊時刻,更新日期,更新時刻 和輸入者。 4. 商品小分類數(shù)據(jù):包括大分類編號,中分類編號,小分類編號,小分類 名漢字(日文漢字) ,小分類假名,POS 部門,等級,購買者代碼,刪除日期, 購買者標(biāo)識,注冊年月日,注冊時刻,更新日期,更新時刻和輸入者。 處理功能需求: 1.從 INI 文件中讀取企業(yè)名和企業(yè)代碼,本地系統(tǒng)日志路徑和商品分類參 數(shù)文件路徑。并從系統(tǒng)得到當(dāng)前時期,從商品分類參數(shù)文件得到此參數(shù)文件生 成的日期。并按照客戶要
15、求的格式生成名為“” (頭記錄)的記 錄。當(dāng) INI 文件不存在,打不開或者打開后讀取的項目有錯的時候提示錯誤信 息并保存到系統(tǒng)日志,終止程序。 2.從商品分類參數(shù)文件中得到分類階層區(qū)分,有效區(qū)分和分類稱呼的信息。 并按照客戶要求的格式生成名為“ A” (數(shù)據(jù)記錄 A)的記錄, 商品分類參數(shù)文件的目錄不存在或者商品分類參數(shù)文件不存在或文件存在但是 文件為空的時候提示錯誤并終止。 3.分別從大分類數(shù)據(jù)表,中分類數(shù)據(jù)表,和小分類數(shù)據(jù)表這三張列名不同 的表中得到相應(yīng)的分類代碼,分類名和部門名,按照大分類,中分類,小分類 的主從關(guān)系生成名為“ B” (數(shù)據(jù)記錄 B)的順序記錄,當(dāng)大分 類,中分類,小分
16、類中任意一張數(shù)據(jù)表為空的時候,此記錄都為 0 件。 4.統(tǒng)計總共的記錄條數(shù)并生成名為“” (結(jié)束記錄)的記錄。 5.在服務(wù)器的數(shù)據(jù)庫和本地保存響應(yīng)的日志文件。 用于分析的分店鋪交易狀況統(tǒng)計模塊 基本資料: 1.會員交易數(shù)據(jù)文件:此文件由其他模塊生成,是一個已排好序文件,包 括店鋪代碼,終端號,流水號,交易年月日,交易時間(時) ,交易時間(分) , 會員代碼,積分種類,積分狀態(tài),本次積分,總積分,交易金額,交易積分, 總交易金額(含稅) ,積分對象金額,積分標(biāo)準(zhǔn)金額,積分倍率,負(fù)責(zé)人代碼, 確認(rèn)人代碼,積分卡使用次數(shù),優(yōu)惠等級,優(yōu)惠倍率,退貨交易。 處理需求功能: 1.INI 文件中讀取本地系
17、統(tǒng)日志路徑和會員交易文件路徑,當(dāng) INI 文件不 存在,打不開或者打開后讀取的項目有錯的時候提示錯誤信息并保存到系統(tǒng)日 志,終止程序。 2.從會員交易文件中讀取數(shù)據(jù),文件目錄不存在或者文件不存在或者文件 存在但是其中記錄為空的時候,提示錯誤并終止。 會員文件正確讀取后,開始處理,但是當(dāng)數(shù)據(jù)文件中退貨交易一項標(biāo)識為 “2”的情況下跳過不處理。 3.當(dāng)交易日,店鋪代碼未發(fā)生變化的時候,統(tǒng)計當(dāng)日該店鋪的交易總件數(shù), 交易金額和交易的積分?jǐn)?shù)。同時當(dāng)會員代碼發(fā)生變化的時候,會員數(shù)加“1” , 但是當(dāng)會員代碼沒有發(fā)生變化的時候則不做加“1”處理。 4.當(dāng)交易日或者店鋪代碼發(fā)生變化的時候,輸出統(tǒng)計數(shù)據(jù),并初
18、始化各個 統(tǒng)計用的工作區(qū)。 5.生成的數(shù)據(jù)文件中包含營業(yè)日,店鋪代碼,交易金額,交易件數(shù),交易 積分?jǐn)?shù),會員數(shù),和備注。 6.在服務(wù)器的數(shù)據(jù)庫和本地保存響應(yīng)的日志文件。 3.23.2 模塊性能要求模塊性能要求 1.實現(xiàn)所要求的功能。 2.可調(diào)用性強(qiáng)。 3.穩(wěn)定性強(qiáng)。 3.33.3 模塊其他需求模塊其他需求 開發(fā)環(huán)境需求 1.硬件需求:數(shù)據(jù)庫服務(wù)器一臺,項目管理服務(wù)器一臺,單體編程測試主 機(jī)一臺。 2.操作系統(tǒng):日文版 Windows 2000。 3.開發(fā)平臺:Microsoft .NET Framework SDK v1.1,Microsoft Visual Studio .NET 2003。
19、 4.開發(fā)語言:C#。 5.數(shù)據(jù)庫:Microsoft SQL Server 2000。 6.管理工具:Subversion(SVN)1.30。 時間需求 學(xué)習(xí)使用日文版 Windows 2000 操作系統(tǒng),學(xué)習(xí) C#語言,完成日文式樣書 分析理解,系統(tǒng)需求分析,所負(fù)責(zé)兩個模塊功能實現(xiàn)以及單體測試報告需要 3 個月時間。 4 4可行性研究可行性研究 4.14.1 技術(shù)可行性技術(shù)可行性 1.以 C#作為該模塊的開發(fā)工具,是因為它是目前使用最為廣泛的編程語言 之一,并且具有簡單、現(xiàn)代、面向?qū)ο?、類型安全、版本控制、兼容等特點。 2.以 Microsoft SQL Server 2000 作為該模塊
20、的數(shù)據(jù)庫,是因為 SQL Server 2000 數(shù)據(jù)庫學(xué)起來較為簡單,容易使用,因此使用數(shù)據(jù)庫查詢語句, 條件查詢語句以及寫入語句,對數(shù)據(jù)庫進(jìn)行查詢?nèi)≈担⑾驍?shù)據(jù)庫里寫入數(shù)據(jù)。 3.在一些技術(shù)難題方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)的參考文獻(xiàn),而且還 有網(wǎng)上眾多的網(wǎng)友所提供的資料,使得在開發(fā)過程中所遇到的困難都能夠一一得 到解決。 4.24.2 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性 隨著科學(xué)技術(shù)的發(fā)展,特別是計算機(jī)技術(shù)的飛躍發(fā)展,使得計算機(jī)在人們 的生活使用中越來越普遍。計算機(jī)的普遍使用說明人們的生活水平提高了,從 而也說明了計算機(jī)的價格越來越被眾多人所接受。然而價格的低廉并不是說產(chǎn) 品的質(zhì)量不好,是因為技術(shù)的
21、飛躍發(fā)展使得產(chǎn)品的成本降低。因此開發(fā) POS 積 分管理系統(tǒng)所需要的成本也是該百貨店所能接受的,并且通過 POS 積分管理系 統(tǒng)的管理使得客戶獲得相應(yīng)的好處,從而使百貨店獲得更高的利益。除此之外 它還具有很多優(yōu)點,例如: 1.可以隨時獲得客戶的基本資料,以及店鋪的基本資料,通過這些可以增 加客戶與百貨店之間的相互信任度。保證交易中的安全性。 2.方便百貨店對客戶積分的管理以及更新,以便讓客戶在符合條件的情況 下享受某種特別優(yōu)惠待遇,從而增加客戶對百貨店的滿意度,吸引更多的客戶。 3.方便百貨店詳細(xì)掌握交易狀況,對其進(jìn)行準(zhǔn)確地分析,了解客戶的需求, 從而更好地完善自身的銷售、服務(wù)、管理等,提高自
22、身在激烈競爭下的競爭力 和存活力。 因此,開發(fā) POS 積分管理系統(tǒng)是可行的。 5 5數(shù)據(jù)庫及數(shù)據(jù)文件設(shè)計數(shù)據(jù)庫及數(shù)據(jù)文件設(shè)計 5.15.1 數(shù)據(jù)流程圖數(shù)據(jù)流程圖 用于分析的商品分類數(shù)據(jù)生成模塊(見圖 5-1) 圖 5-1 用于分析的商品分類數(shù)據(jù)生成數(shù)據(jù)流程圖 流程說明: 該流程涉及兩個數(shù)據(jù)文件和三個數(shù)據(jù)庫表。其中包括一個輸入文件和一個 輸出文件,三個數(shù)據(jù)表都是輸入數(shù)據(jù)表。 商品分類參數(shù)文件:FSPTB_ITEM_CLASS_PAR.CSV,輸入數(shù)據(jù)文件,存放商 品分類的參數(shù)。 大分類數(shù)據(jù)表:SMTB_DAI_BUNRUI,輸入數(shù)據(jù)表,存放商品大分類的相關(guān)信 息。 中分類數(shù)據(jù)表:SMTB_CH
23、U_BUNRUI,輸入數(shù)據(jù)表,存放商品中分類的相關(guān)信 息。 小分類數(shù)據(jù)表:SMTB_SHO_BUNRUI,輸入數(shù)據(jù)表,存放商品小分類的相關(guān)信 息。 大分類 于分析的商品分類數(shù)據(jù)生 成 商品分類參 數(shù)文件 商品分類數(shù)據(jù) 文件 中分類小分類 商品分類數(shù)據(jù)文件:SHOYYYYMMDD.DAT,輸出數(shù)據(jù)文件,存放模塊成功運行 后生成的數(shù)據(jù)。 用于分析的分店鋪交易狀況統(tǒng)計模塊(見圖 5-2) 圖 5-2 用于分析的分店鋪交易狀況統(tǒng)計數(shù)據(jù)流程圖 流程說明: 該流程涉及兩個數(shù)據(jù)文件。包括一個輸入數(shù)據(jù)文件和一個輸出數(shù)據(jù)文件。 會員交易文件:FSP_EFT010.CSV(已排好序) ,存放會員交易的相關(guān)信息。
24、交易狀況統(tǒng)計數(shù)據(jù)文件:FSP_URIAGE_KEI.DAT,存放按照客戶要求統(tǒng)計的 相關(guān)交易數(shù)據(jù)信息。 5.25.2 數(shù)據(jù)表及數(shù)據(jù)文件結(jié)構(gòu)設(shè)計數(shù)據(jù)表及數(shù)據(jù)文件結(jié)構(gòu)設(shè)計 表 5-1 FSPTB_ITEM_CLASS_PAR.CSV(商品分類參數(shù)文件) 項目編號項目中文名項目英文名類型長度 1分類階層區(qū)分 1KAISOU_KUBUN1C1 2分類階層區(qū)分 2KAISOU_KUBUN2C1 3分類階層區(qū)分 3KAISOU_KUBUN3C1 用于分析的分店鋪交易 狀況統(tǒng)計 會員交易文 件 交易狀況統(tǒng)計 數(shù)據(jù)文件 4分類階層區(qū)分 4KAISOU_KUBUN4C1 5有效區(qū)分 1YUUKOU_KUBUN1
25、C1 6有效區(qū)分 2YUUKOU_KUBUN2C1 7有效區(qū)分 3YUUKOU_KUBUN3C1 8有效區(qū)分 4YUUKOU_KUBUN4C1 9分類稱呼 1KAISOU_KOSYOU1C30 10分類稱呼 2KAISOU_KOSYOU2C30 11分類稱呼 3KAISOU_KOSYOU3C30 12分類稱呼 4KAISOU_KOSYOU4C30 13數(shù)據(jù)開始日期REKIYOU_DATE字符8 表 5-2 SMTB_DAI_BUNRUI(大分類數(shù)據(jù)表) 主鍵列名中文名稱類型長度是否允許空 DAI_BUNRUI大分類代碼Char2NOT NULL DAI_BUNRUI_NAME_KANJI大分類
26、名漢字Char10 DAI_BUNRUI_NAME_KANA大分類名假名Char10 TOROKU_YMD注冊日期Char8 TOROKU_HMS注冊時刻Char6 UPDATE_YMD更新日期Char8 UPDATE_HMS更新時刻Char6 INPUT_TANTO輸入負(fù)責(zé)人Char6 表 5-3 SMTB_CHU_BUNRUI(中分類數(shù)據(jù)表) 主鍵列名中文名稱類型長度是否允許空 DAI_BUNRUI大分類代碼Char2NOT NULL CHU_BUNRUI中分類代碼Char2NOT NULL CHU_BUNRUI_NAME_KANJI中分類名漢字Char10 CHU_BUNRUI_NAME
27、_KANA中分類名假名Char10 CHU_SAKUJO_KIKAN刪除日期Char3 TOROKU_YMD注冊日期Char8 TOROKU_HMS注冊時刻Char6 UPDATE_YMD更新日期Char8 UPDATE_HMS更新時刻Char6 INPUT_TANTO輸入負(fù)責(zé)人Char6 表 5-4 SMTB_SHO_BUNRUI(小分類數(shù)據(jù)表) 主鍵列名中文名稱類型長度是否允許空 DAI_BUNRUI大分類代碼Char2NOT NULL CHU_BUNRUI中分類代碼Char2NOT NULL SHO_BUNRUI小分類代碼Char3NOT NULL SHO_BUNRUI_NAME_KAN
28、JI小分類名漢字Char10 SHO_BUNRUI_NAME_KANA小分類名假名Char10 POS_BUMON部門Char4 CLASS等級Char5 BUYER_CD購買者代碼Char4 SHO_SAKUJO_KIKAN刪除日期Char8 BUYER_ARAIGAE_FG購買者標(biāo)識Char1 TOROKU_YMD注冊日期Char8 TOROKU_HMS注冊時刻Char6 UPDATE_YMD更新日期Char8 UPDATE_HMS更新時刻Char6 INPUT_TANTO輸入負(fù)責(zé)人Char6 表 5-5 FSP_EFT010.CSV(會員交易文件) 項目編號項目中文名項目英文名類型長度
29、1店鋪代碼TENPO_CODEC5 2終端號POS_NOC6 3流水號TORIHIKI_NOC6 4交易年月日TORIHIKI_YMDC8 5交易時間(時)TORIHIKI_HHC2 6交易時間(分)TORIHIKI_MMC2 7會員代碼MEMBER_CODEC16 8積分種類POINTO_SBTC2 9積分狀態(tài)STATUSC2 10本次積分POINTN9 11總積分ALL_POINTN9 12交易金額NET_URIAGE_MN9 13交易積分URIAGA_TENSUN7 14總交易金額(含稅)ALL_URIAGE_MN9 15積分對象金額POINT_MN9 16積分標(biāo)準(zhǔn)金額POINT_RMN
30、4 17積分倍率POINT_RITC2 18負(fù)責(zé)人代碼SEKININ_NOC6 19確認(rèn)人代碼TANTOU_NOC6 20積分卡使用次數(shù)CARD_RIYOSUC7 21優(yōu)惠等級YUTAI_RANKC2 22優(yōu)惠倍率YUTAI_BAIRITC2 23退貨交易HENPIN_KBNC1 6 6環(huán)境搭建環(huán)境搭建 6.16.1 安裝安裝 MicrosoftMicrosoft VisualVisual Studio.NETStudio.NET 20032003 執(zhí)行安裝程序,出現(xiàn)安裝初始畫面。按照提示進(jìn)入安裝界面。設(shè)置安裝文 件夾為“C:Program FilesMicrosoft Visual Stud
31、io .NET 2003” ,繼續(xù)按 照安裝提示安裝直到安裝結(jié)束。此時開始菜單的程序組中新增了一個 “Microsoft Visual Studio .NET 2003” 。 6.26.2 安裝安裝 MicrosoftMicrosoft SQLSQL ServerServer 20002000 開發(fā)某店 POS 積分管理系統(tǒng)時,共同使用一個數(shù)據(jù)庫服務(wù)器,因此 Microsoft SQL Server 2000 的安裝是在服務(wù)器上進(jìn)行的,這里的模塊不涉及 數(shù)據(jù)庫 Microsoft SQL Server 2000 的安裝,只是使用。 6.36.3 安裝安裝 Subversion(SVN)Subv
32、ersion(SVN) 首先,在項目管理服務(wù)器(9)上安裝 Subversion 服務(wù)器,一 切設(shè)置均采用默認(rèn)設(shè)置。然后在管理服務(wù)器上新建好開發(fā)項目的各模塊文件夾 和共通函數(shù)的空文件。第二步,在開發(fā)用計算機(jī)上安裝客戶端 TortoiseSVN, 采用默認(rèn)設(shè)置即可。第三步,安裝 Subversion 用于 Microsoft Visual Studio .NET 2003 的插件 AnkhSVN,采用默認(rèn)安裝即可。 7 7模塊功能代碼實現(xiàn)過程模塊功能代碼實現(xiàn)過程 由于是商業(yè)軟件,根據(jù)客戶要求,其中涉及到的判斷控制語句很多,特別 是對于文件的判斷。 用于分析的商品分類數(shù)據(jù)
33、生成和用于分析的分店鋪交易狀況統(tǒng)計這兩個模 塊詳細(xì)實現(xiàn)過程如下: 7.17.1 用于分析的商品分類數(shù)據(jù)生成模塊的實現(xiàn)用于分析的商品分類數(shù)據(jù)生成模塊的實現(xiàn) 共通文件(COMMON.INI)的使用:這里所謂的共通文件是存放了大部分系 統(tǒng)中各個模塊所需要的文件的路徑和一些其他例如數(shù)據(jù)庫連接字符串,客戶方 提供的企業(yè)信息等相關(guān)信息,所以基本上每個模塊都需要讀取共通文件中的一 些信息和判斷共通文件是否存在以及文件中各項目的值是否正確。共通文件操 作接口屬于一個單獨模塊,我在這里只作判斷和調(diào)用。相關(guān)代碼及說明如下: IniConfig Conf = new IniConfig(); /實例化一個新的共通函
34、數(shù)接口。 if(Conf.ErrorString = 1) /在共通文件操作接口中對出錯字符串進(jìn)行了定義, “1”的時候為共通文件不存在,“2”的時候 為文件打不開,“3”的時候為文件中模塊所需 的項目的值有錯。 /提示出錯語句并保存日志到數(shù)據(jù)庫服務(wù)器 if(Conf.ErrorString = 2) /提示出錯語句并保存日志到數(shù)據(jù)庫服務(wù)器 if(Conf.ErrorString = 3) /提示出錯語句并保存日志到數(shù)據(jù)庫服務(wù)器 string logPath = Conf.LogFile; /從共通文件中得到日志文件的路徑 string findsPath = Conf.FSPTB_ITEM_
35、CLASS_PAR string enterPriseCode = Conf.EnterpriseCode; string enterPriseName = Conf.EnterpriseName; /從共通文件文件中得到其他 模塊所需的信息 對商品分類參數(shù)文件的判斷: string findsPath = Conf.FSPTB_ITEM_CLASS_PAR; /商品分類參數(shù)文件所 在目錄 if(!Directory.Exists(findsPath) /判斷目錄是否存在 /提示出錯語句并保存日志到數(shù)據(jù)庫服務(wù)器 if(!File.Exists(Conf.FSPTB_ITEM_CLASS_PAR
36、) /提示出錯語句并保存日志到數(shù)據(jù)庫服務(wù)器 if(File.Exists(Conf.FSPTB_ITEM_CLASS_PAR) sr = new StreamReader(Conf.FSPTB_ITEM_CLASS_PAR); string readStr = sr.ReadLine(); if(readStr = null) /提示出錯語句并保存日志到數(shù)據(jù)庫服務(wù)器 對商品分類參數(shù)文件的讀取操作:在這里用了 C#文件 I/O 的 Stream 類。 由于 CSV 文件的各項目是用“,”隔開,故同時使用了 Split 的方法來實現(xiàn)對 各項目的讀取。 StreamReader sr; Sr=new
37、 StreamReader(Conf.FSPTB_ITEM_CLASS_PAR,Encoding.Default); string temp = sr.ReadLine(); temp = sr.ReadLine(); /由于這個 CSV 文件包含了列名,故從第二行開始才 是數(shù)據(jù)信息。 string str = temp.Split(new char,); string kaisou_kubun1 = str0; string rekiyou_date = str12; 通過以上代碼便完成了對商品分類參數(shù)文件這個 CSV 格式的文件內(nèi)容的讀 取。 數(shù)據(jù)庫操作:本項目有一個數(shù)據(jù)庫連接操作接口,故
38、本模塊對幾張數(shù)據(jù)庫 表操作的核心代碼如下: conn = new SkyConnect(); 這里使用了變長數(shù)組來存放讀取的數(shù)據(jù)信息: ArrayList arrDai = new ArrayList(); ArrayList arrChu = new ArrayList(); ArrayList arrSho = new ArrayList(); ArrayList arrTotal = new ArrayList(); string sqlDai = SELECT DAI_BUNRUI,DAI_BUNRUI_NAME_KANJI FROM SMTB_DAI_BUNRUI; string s
39、qlChu = SELECT DAI_BUNRUI,CHU_BUNRUI,CHU_BUNRUI_NAME_KANJI FROM SMTB_CHU_BUNRUI; string sqlSho = SELECT DAI_BUNRUI,CHU_BUNRUI,SHO_BUNRUI,SHO_BUNRUI_NAME_KANJI FROM SMTB_SHO_BUNRUI; 按照客戶要求的格式,從三張不同列長的表中讀取所需要的數(shù)據(jù)排好序組 成新的記錄,同時要求其中任意一張表為空的情況下這條記錄都為0件,最初希 望通過直接用數(shù)據(jù)庫操作語句的方式來實現(xiàn)幾張表的組合,如用內(nèi)聯(lián)接,外聯(lián) 接和合并查詢UNION等,經(jīng)過
40、很多方法的嘗試,都失敗了,最后經(jīng)過長時間的思 考和嘗試,選用了DataSet,DataTable和DataRow來實現(xiàn)了這個功能,具體操作 如下: DataSet ds1 = new DataSet(); DataSet ds2 = new DataSet(); DataSet ds3 = new DataSet(); ds1 = conn.GetDataSet(sqlDai); ds2 = conn.GetDataSet(sqlChu); ds3 = conn.GetDataSet(sqlSho); if(ds1.Tables0.Rows.Count = 0 | ds2.Tables0.Ro
41、ws.Count = 0 | ds3.Tables0.Rows.Count = 0) /任意一張數(shù)據(jù)表為空的時候 sw.WriteLine(記録0件!); sw.Flush(); else DataTable tb = new DataTable(); tb = ds1.Tables0; foreach(DataRow dr in tb.Rows) arrDai.Add( + recordFlag3 + + 0000 + dr0.ToString() + + + + + + + + dr1.ToString(); ds2 = conn.GetDataSet(sqlChu); tb = ds2.
42、Tables0; foreach(DataRow dr in tb.Rows) arrChu.Add( + recordFlag3 + + 0000 + dr0.ToString() + + 0000 + dr1.ToString() + + + + + + dr2.ToString(); ds3 = conn.GetDataSet(sqlSho); tb = ds3.Tables0; foreach(DataRow dr in tb.Rows) arrSho.Add( + recordFlag3 + + 0000 + dr0.ToString() + + 0000 + dr1.ToStrin
43、g() + + 0000 + dr2.ToString() + + + + dr3.ToString(); for(int i = 0;i arrDai.Count;i+) arrTotal.Add(arrDaii); for(int i = 0;i arrChu.Count;i+) arrTotal.Add(arrChui); for(int i = 0;i arrSho.Count;i+) arrTotal.Add(arrShoi); arrTotal.Sort(); for(int i = 0;i arrTotal.Count;i+) sw.WriteLine(arrTotali); s
44、w.WriteLine(); conn.Dispose(); sw.Flush(); sw.Close(); 寫系統(tǒng)日志:將系統(tǒng)的各個處理過程寫成系統(tǒng)日志保存在數(shù)據(jù)庫服務(wù)器并 在本地生成 LOG 文件,這里使用一條結(jié)束日志來說明具體實現(xiàn)方法。 string p_Sel2 = E; /結(jié)束 LOG string p_Msg2 = 終了;/結(jié)束 LOG 提示 string p_AppNM = FSPB1360;/模塊提示 string p_FuncNM4 = 終了;/項目名 string p_JobNM = SK-WANXIAO;/操作工作號 string p_ErrDetail6 = 終了;/信
45、息提示 string p_INIFile = Common.INI;/INIFile conn = new SkyConnect(); 將日志寫入數(shù)據(jù)庫服務(wù)器。 conn.SqlExecute(insertFSPTB_LOG(P_Sel,P_Msg,P_AppNM,P_FuncNM, P_JobNM,P_ErrDetail, P_INIFile)values( + p_Sel2 + , + p_Msg2 + , + p_AppNM +, + p_FuncNM4 + , + p_JobNM + , + p_ErrDetail6 + , + p_INIFile + ); conn.Dispose(
46、); 將日志寫入本地日志文件 sw = new StreamWriter(logPath,true,Encoding.Default); sw.WriteLine(0 1 2 3 4 5 6 7,DateTime.Now,p_Sel2,p_Msg2,p_AppNM,p_FuncNM4,p_JobNM,p_Err Detail6,p_INIFile); sw.WriteLine(); sw.Flush(); sw.Close(); 以上便是本模塊一些主要功能的核心代碼和實現(xiàn)方法。 7.27.2 用于分析的分店鋪交易狀況統(tǒng)計的實現(xiàn)用于分析的分店鋪交易狀況統(tǒng)計的實現(xiàn) 這里的共通文件的操作,會員交易文
47、件操作,系統(tǒng)日志的創(chuàng)建和前一模塊 類似,故不再另舉例說明,下面介紹一下模塊功能實現(xiàn)的核心算法: 從會員交易文件中得到需求的幾個屬性。 sw = new StreamWriter(dataPath,true,Encoding.Default); sr = new StreamReader(Conf.Pos_Torihiki,Encoding.Default); string temp = sr.ReadLine(); string str = temp.Split(new char,); string TENPO_CODE = str0; string TORIHIKI_YMD = str3;
48、string MEMBER_CODE = str6; string NET_URIAGE_M = str11; string URIAGE_TENSU = str12; string HENPIN_KBN = str22; string yobi = ; 各個計數(shù)器初始化。 int netUriage = 0; int uriageTensu = 0; int torihikiCount = 0; int memberCount = 0; string oldTENPO_CODE = ; string oldTORIHIKI_YMD = ; string oldMEMBER_CODE = ;
49、bool first = true; /判斷是否為第一次交易 while(temp != null) if(HENPIN_KBN = 2)/退貨標(biāo)識是“2”的情況下跳過不做處理 為了實現(xiàn)模塊功能,由于采用的方法是逐條讀取數(shù)據(jù)來比較,故定義了幾 個臨時變量oldTENPO_CODE,oldTORIHIKI_YMD,oldMEMBER_CODE來存放上一條記 錄的對應(yīng)項目的值,便于兩條記錄進(jìn)行比較。比較的時候,采用的方法是只要 當(dāng)日期或者店鋪代碼任意一個發(fā)生變化的時候變把前面所統(tǒng)計的數(shù)據(jù)打印一次, 從而組成這個分析數(shù)據(jù)。 else if(HENPIN_KBN != 2) torihikiCount
50、 = 1; memberCount = 1; netUriage = Convert.ToInt32(NET_URIAGE_M); uriageTensu = Convert.ToInt32(URIAGE_TENSU); oldTENPO_CODE = TENPO_CODE; oldTORIHIKI_YMD = TORIHIKI_YMD; oldMEMBER_CODE = MEMBER_CODE; else if(HENPIN_KBN != 2) netUriage = Convert.ToInt32(NET_URIAGE_M) + netUriage; uriageTensu = Conve
51、rt.ToInt32(URIAGE_TENSU) + uriageTensu; if(MEMBER_CODE != oldMEMBER_CODE) memberCount = memberCount + 1; else if(MEMBER_CODE = oldMEMBER_CODE) 當(dāng)本次讀取的店鋪代碼與上一條的不一樣的時候。 else if(TENPO_CODE != oldTENPO_CODE) sw.WriteLine(0 1 2 3 4 5 6,oldTORIHIKI_YMD,oldTENPO_CODE,netUriage,torihikiCount,uriageTensu, mem
52、berCount,yobi); sw.Flush(); memberCount = 1; torihikiCount = 1; netUriage = Convert.ToInt32(NET_URIAGE_M); uriageTensu = Convert.ToInt32(URIAGE_TENSU); else if(TORIHIKI_YMD != oldTORIHIKI_YMD) if(TENPO_CODE = oldTENPO_CODE) netUriage = Convert.ToInt32(NET_URIAGE_M) + netUriage; uriageTensu = Convert
53、.ToInt32(URIAGE_TENSU) + uriageTensu; if(MEMBER_CODE != oldMEMBER_CODE) memberCount = memberCount + 1; else if(MEMBER_CODE = oldMEMBER_CODE) else if(TENPO_CODE != oldTENPO_CODE) sw.WriteLine(0 1 2 3 4 5 6,oldTORIHIKI_YMD,oldTENPO_CODE,netUriage,torihikiCount,uriageTensu, memberCount,yobi); sw.Flush(
54、); memberCount = 1; torihikiCount = 1; netUriage = Convert.ToInt32(NET_URIAGE_M); uriageTensu = Convert.ToInt32(URIAGE_TENSU); temp = sr.ReadLine(); 讀取下一條,如果為空的話,跳出循環(huán)。 if(temp = null) break; if(HENPIN_KBN = 2) else if(HENPIN_KBN != 2) oldTENPO_CODE = TENPO_CODE; oldTORIHIKI_YMD = TORIHIKI_YMD; oldME
55、MBER_CODE = MEMBER_CODE; 讀取下一條的各項目值。 str = temp.Split(new char,); TENPO_CODE = str0; TORIHIKI_YMD = str3; MEMBER_CODE = str6; NET_URIAGE_M = str11; URIAGE_TENSU = str12; HENPIN_KBN = str22; 由于While循環(huán)結(jié)束的時候,上面判斷的最后一條記錄為空,有可能導(dǎo)致前 面一條或者幾條記錄的數(shù)據(jù)不會被處理,故在循環(huán)外還應(yīng)再對最后一條數(shù)據(jù)進(jìn) 行判斷處理,這樣才能完整的處理會員交易文件里面的所有數(shù)據(jù)。 if(HENPIN
56、_KBN = 2) else if(HENPIN_KBN != 2) if(TENPO_CODE = oldTENPO_CODE netUriage = Convert.ToInt32(NET_URIAGE_M) + netUriage; uriageTensu = Convert.ToInt32(URIAGE_TENSU) + uriageTensu; if(MEMBER_CODE != oldMEMBER_CODE) memberCount = memberCount + 1; else if(MEMBER_CODE = oldMEMBER_CODE) else if(TENPO_CODE
57、 = oldTENPO_CODE | (TORIHIKI_YMD = oldTORIHIKI_YMD) torihikiCount = 1; memberCount = 1; netUriage = netUriage = Convert.ToInt32(NET_URIAGE_M); uriageTensu = Convert.ToInt32(URIAGE_TENSU); sw.WriteLine(0 1 2 3 4 5 6,TORIHIKI_YMD,TENPO_CODE,netUriage,torihikiCount,uriageTensu,membe rCount,yobi); sw.Fl
58、ush(); sw.Close(); 以上便是本模塊功能實現(xiàn)的核心算法。 8 8模塊測試結(jié)果模塊測試結(jié)果 兩個模塊的功能都實現(xiàn)并完成了測試。這里列出一些具有代表性的測試結(jié) 果。 8.18.1 用于分析的商品分類數(shù)據(jù)生成模塊的測試結(jié)果用于分析的商品分類數(shù)據(jù)生成模塊的測試結(jié)果 模塊共包含共通文件取得處理,文件存在檢查處理,初期處理,商品分類 數(shù)據(jù)項目處理,結(jié)束處理 5 方面共 19 個測試點。這里列出一些測試結(jié)果。 共通文件取得處理: 1.文件不存在的情況下: 圖 8-1 目錄下 Common.ini 不存在的情況下 圖 8-2 測試界面中的錯誤信息:Common.ini 訪問錯誤 圖 8-3 數(shù)
59、據(jù)庫服務(wù)器中的日志記錄更新:一條開始 LOG 和一條結(jié)束 LOG 2.INI 文件內(nèi)容有錯的情況下: 圖 8-4 刪除了模塊需要用的 LogFile 路徑和企業(yè)代碼,企業(yè)名的 INI 文件 圖 8-5 測試界面中提示錯誤信息:Common.INI 設(shè)定錯誤 向數(shù)據(jù)庫服務(wù)器更新日志信息的情況與文件不存在時類似。 文件存在檢查處理 1.商品分類參數(shù)文件目錄不存在的情況下: 圖 8-6 商品分類參數(shù)文件目錄(FSPTB_ITEM_CLASS_PAR 文件夾)不存在的情況 圖 8-7 測試界面中提示錯誤信息:商品分類參數(shù)文件目錄不存在 圖 8-8 數(shù)據(jù)庫服務(wù)器中更新的三條日志:開始日志,錯誤日志,結(jié)束
60、日志 圖 8-9 保存到本地的三條日志記錄:開始日志,錯誤日志和結(jié)束日志 2.商品分類參數(shù)文件不存在的情況下 圖 8-10 商品參數(shù)文件目錄(FSPTB_ITEM_CLASS_PAR 文件夾)存在 圖 8-11 商品分類參數(shù)文件目錄下商品分類參數(shù)文件不存在的情況 圖 8-12 測試界面中提示信息:商品分類參數(shù)文件不存在 更新系統(tǒng)日志和保存到本地系統(tǒng)日志和商品分類參數(shù)文件目錄不存在時類 似。 初期處理 向服務(wù)器更新一條開始日志并在本地保存,前面在判斷商品分類參數(shù)文件 目錄不存在時已經(jīng)舉例說明過,故不再舉例,見圖 8-8 和圖 8-9。 商品分類數(shù)據(jù)項目處理 1.頭記錄 程序正常運行的情況下在生成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 61669:2015+AMD1:2025 CSV EN Electroacoustics - Measurement of real-ear acoustical performance characteristics of hearing aids
- 【正版授權(quán)】 IEC 61400-3-2:2025 EN-FR Wind energy generation systems - Part 3-2: Design requirements for floating offshore wind turbines
- 【正版授權(quán)】 ISO/IEC 23090-31:2025 EN Information technology - Coded representation of immersive media - Part 31: Haptics coding
- 工程監(jiān)理居間合同
- 公司與個人汽車租賃合同
- 企業(yè)員工培訓(xùn)合作協(xié)議
- 醫(yī)療設(shè)備購銷協(xié)議書
- 重大項目管理活動策劃方案
- 工業(yè)廠房買賣協(xié)議書
- 農(nóng)業(yè)社會化服務(wù)培訓(xùn)方案
- 高中教師職業(yè)發(fā)展規(guī)劃及目標(biāo)
- 找人辦事協(xié)議
- 廚房油水分離器施工方案
- 禽類、水產(chǎn)品配送服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- (醫(yī)學(xué)課件)青蛙解剖
- 論述小學(xué)數(shù)學(xué)教學(xué)中的五育融合
- 第3章 環(huán)境感知技術(shù)
- 【小學(xué)生心理健康教育】開學(xué)第一課課件ppt
- 全隱框玻璃幕墻施工方案
- 十八項醫(yī)療核心制度詳解培訓(xùn)課件
- 五年級上冊信息技術(shù)教學(xué)計劃華科版
評論
0/150
提交評論