




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)設計(論文)某百貨店pos積分管理系統(tǒng)積分添加和通票回收論文作者姓名:申請學位專業(yè):申請學位類別:指導教師姓名(職稱):論文提交日期: 某百貨店pos積分管理系統(tǒng)積分添加和通票回收摘 要百貨商店是與人們生活密切相關的重要部分,是人們購買日常生活用品最為方便,且日常用品最為豐富集中,日常消費也最為頻繁的場所,隨著現代社會的進步,生活節(jié)奏的加快,它的重要地位越來越顯著。為了給客戶提供更方便的服務平臺,同時也為了能讓百貨店交易業(yè)務管理規(guī)范化而設計了pos積分管理系統(tǒng)。pos積分管理系統(tǒng)主要以積分點的形式,對顧客在該店的購物情況與以統(tǒng)計,積分點累計到一定程度,對顧客返回獎勵的方式刺激消費,從而增加
2、店鋪的銷售業(yè)績,也給顧客帶來了更多的實惠。某店pos積分管理系統(tǒng)中積分添加和通票回收的功能在這一系統(tǒng)中起著重要的作用。積分添加是按照積分添加規(guī)則對每天的交易產生的積分點進行添加處理,更改相應的數據表信息。而通票回收主要是根據初期的參數數據對通票回收數據再度處理,生成新的通票回收數據文件。模塊是基于日文系統(tǒng)windows 2000,采用c#開發(fā)語言,并使用sql server 2000的數據庫來實現了積分點添加以及通票回收處理的功能。系統(tǒng)著重程序的運行異常處理,csv文件的讀寫和數據庫的基本操作處理。關鍵詞:計算機應用;管理信息系統(tǒng);pos;sql數據庫;積分添加;通票回收the integra
3、l management of pos system for a department store the integral adding and ticket recoveringabstract the department store is playing an important role in our daily life, where we can purchase something conveniently. it is also a place that having a large numbers of goods and attracting so many custom
4、ers to consuming in it. with the development of modern society and speeding up of the pace of the life, its importance is becoming more and more evident. in order to give consumers a more convenient service platform and standardize the business, a system of pos integral adding is designed. this syst
5、em is worked in the form of integral adding points, statistic the circumstance of shopping of the client in the shop. in order to increase the sale and bring more discounts to the clients, the store would return the consumers something when the point is accumulated to a certain degree, the integral
6、adding inserting and ticket recovering is playing an important role in store. integral adding is dealing with the points which produced from every daily transaction and change the relating data table information. ticket recovering is dealing with the recalling data again according to the primary par
7、ameter data and produces the new file of recalling data. this module is based on the windows 2000 of japan's system and the c# developing language sql server 2000 database are adopted to realize the functions of integral adding inserting and ticket recovering. more attention is paid to the abnor
8、mal processing, the reading and writing of csv file, and the base operating of database.key words: computer application; management information system; pos; sql database; integral adding; ticket recovering目 錄論文總頁數:28頁1 引 言12 模塊需求分析12.1 模塊功能需求12.2 客戶對模塊性能要求12.3 模塊開發(fā)需求23 系統(tǒng)開發(fā)設計分析23.1 系統(tǒng)設計模式23.2 模塊功能分析
9、33.2.1 積分添加模塊的功能分析33.2.2 通票回收模塊的功能分析43.3 程序流程及分析43.3.1 積分添加模塊的流程圖33.3.2 通票回收模塊的流程圖53.4 模塊的詳細設計53.4.1 模塊主要對象的定義53.4.2 數據庫結構設計64 模塊的實現過程分析104.1 積分添加類具體實現104.2 通票回收類具體實現195 系統(tǒng)運行結果235.1 積分添加類測試結果235.2 通票回收類測試結果25結論26參考文獻26致謝27聲明281引 言21世紀的今天,人類已步入一個信息高速發(fā)展的時代。隨著科學技術的不斷發(fā)展,日益更新,計算機技術的發(fā)展更是突飛猛進,并在人們的生活當中起著重要
10、的作用。運用計算機技術可以開發(fā)各式各樣的產品,特別是管理系統(tǒng),已經深入到各行各業(yè)的各個方面。隨著wto的步伐加快,國際化競爭必然加劇,國際國內市場將面臨更為激烈的爭奪。參與市場競爭,更多的要靠先進超前的經營管理觀念和方法、系統(tǒng)的戰(zhàn)略規(guī)劃、科學市場分析、規(guī)范管理運作、入微客戶服務、優(yōu)秀員工隊伍等綜合實力。經營績效是公司管理的重心,建立先進管理系統(tǒng),對推動公司戰(zhàn)略實現、提高經營業(yè)績。積分管理系統(tǒng)就是在具備先進科學技術條件下,以先進超前的經營管理觀念為基礎而設計的一套先進的管理系統(tǒng)。積分管理系統(tǒng)的先進性,是要經過詳細的需求分析和精心的設計才能實現的。一個公司的管理系統(tǒng)是否先進,完善,是由公司的管理制
11、度,管理理念來決定的。然而一個公司的管理系統(tǒng)的先進性,完善性直接體現了該公司的管理制度和管理理念。因此具有先進和完善的管理系統(tǒng),在各大企業(yè)的管理和發(fā)展中起著非常重要的作用。但是怎樣才能體現一個管理系統(tǒng)是否真正的先進和完善呢?這在我們開發(fā)該積分管理系統(tǒng)時,應首要涉及考慮的問題。比如:在積分管理系統(tǒng)中,會員的基本信息是否完整,店鋪的基本信息是否完整,系統(tǒng)的積分更新是否準確及時,管理系統(tǒng)的性能是否穩(wěn)定,管理系統(tǒng)的利用是否節(jié)約系統(tǒng)資源降低成本等等都是必須考慮的問題。為了滿足某百貨店的需求,我們設計出具有以下優(yōu)點的積分管理系統(tǒng)。如:檢索迅速,可靠性高,穩(wěn)定性強,更新方便,保密性好,成本低,使用方便等等。
12、各大企業(yè)可以利用積分管理系統(tǒng)通過積分的手段提高經營績效,達到增加利潤的目的,增加企業(yè)間的競爭??偟膩碚f開發(fā)一套積分管理系統(tǒng)是很重要的。在這個積分管理系統(tǒng)中,我主要負責積分點添加、通票數據處理兩個個模塊。我結合所學的知識,基于日文系統(tǒng)windows 2000,采用c#開發(fā)語言,并使用sql server 2000的數據庫來實現此模塊。下面將介紹開發(fā)具體過程。2模塊需求分析2.1模塊功能需求pos積分管理系統(tǒng)主要針對加入店鋪會員身份的顧客,為他們提供更加優(yōu)惠,便利的商業(yè)服務。積分點添加主要是根據商店營銷方案制定的獎勵積分添加規(guī)則,對會員在店鋪(包括分店)所有的消費,進行相應的獎勵,需要適時地對會員
13、的積分進行正確的添加和存儲,以照顧消費者最根本的利益;如果積分沒有及時添加,會直接損壞商店和顧客的關系;通票數據的回收主要是,根據通票輸入數據文件和參數控制文件的內容制作出通票回收記錄文件,以備存儲和其他使用。2.2客戶對模塊性能要求Ø 實現模塊所有功能Ø 模塊重用性強Ø 模塊穩(wěn)定性和容錯能力強Ø 模塊能穩(wěn)定運行Ø 模塊能即時響應2.3模塊開發(fā)需求 整個pos積分管理系統(tǒng)主要針對日的外包業(yè)務,因此要求所有的開發(fā)人員統(tǒng)一開發(fā)語言和數據庫,運行在windows 2000的操作系統(tǒng)上面,這是客戶最基本的要求特點,并要求嚴格按照顧客提供的初步設計式樣書
14、進行代碼的開發(fā),實現pcl要求的邊界測試點和功能概要,其中積分點添加和通票回收數據制作這兩個個模塊的完成,根據其初步設計代碼量的估計大約是兩千行左右,根據進度安排表大致需要兩個月左右的時間來完成詳細設計,編碼,單體測試和撰寫報告。詳細開發(fā)需要如下:1.硬件需求:微型計算機一臺2.操作系統(tǒng):windows 2000(日文)3.開發(fā)語言:c#.net4.數據庫:microsoft sql server 20005.其他軟件需求:visual studio2003集成開發(fā)環(huán)境 3系統(tǒng)開發(fā)設計分析3.1系統(tǒng)設計模式積分添加模塊的流程涉及一個輸入文件和八個數據庫表,其中,四個輸入數據表,一個輸出數據表和
15、三個既需輸入也需輸出的數據表:1) 獎勵積分添加規(guī)則文件:fsp_bonus_rule.csv (csv文件),輸入文件,所存放的數據為積分添加的標準參照數據,是積分添加整個模塊所有計算的基礎。2) 會員基本信息表:fsptb_member,輸入數據表,所存放數據為會員的基本信息。3) 會員狀態(tài)表:fsptb_member_status,輸入輸出數據表,所存放數據為會員的狀態(tài)信息。4) 積分基本信息表:fsptb_point,輸入輸出數據表,所存放數據為積分的基本信息。5) 處理日表:fsptb_syoribi,輸入數據表,所存放數據為積分處理的相關數據。6) 店鋪基本信息表:fsptb_te
16、npo,輸入數據表,所存放數據為店鋪的基本信息。7) 獎勵添加結果表:fsptb_point_bonus,輸入輸出數據表,所存放數據為獎勵的積分添加結果相關數據。8) 獎勵更新日志表:fsptb_point_jnl,輸出數據表,所存放日志是積分添加事件日志。9) 積分履歷表:fsptb_point_rireki,輸入輸出數據表,所存放數據為積分變動日志。圍繞這幾個數據庫文件和文本文件進行數據的查詢,添加,刪除,讀寫等操作。通票回收模塊處理時需要用到三個數據文件,其中,兩個輸入數據文件,一個輸出數據文件。1) 通票回收基本信息文件:coupon_recycling_data.csv (csv文件
17、,未排序),輸入文件,所存放數據為通票回收的最基本信息。2) 初期參數數據文件:parametet_data.csv(csv文件,未排序),輸入文件,所存放數據為初期模塊運行要取得的基本參數數據和控制信息。3) 通票回收結果文件:coupon_recycling_registerfile.csv(csv文件),輸出數據,所存放數據為處理后的通票回收結果。3.2模塊功能分析3.2.1積分添加模塊的功能分析: 1) 添加規(guī)則文件的讀入:執(zhí)行積分添加模塊功能時,首先要讀入指定獎勵規(guī)則的文件,如何獎勵,獎勵多少,其內容由店鋪決策人員的規(guī)定而定,此功能模塊就是讀入csv規(guī)則文件,把他寫入臨時的規(guī)則文件中
18、,然后整個積分添加模塊都以臨時文件為基準。2) 積分基本文件的搜索和更新:積分基本文件表fspb_point提供最開始的基本信息,在根據處理日表的信息判斷完成基本添加結果表后,本月出來尚未進行的條件下,逐條搜索積分基本文件表里滿足條件的會員,對他們的基本積分點進行添加操作,結合其他表的數據完成添加操作后再對該表更新。3) 循環(huán)中對單條記錄的處理:對積分基本文件表中找到的滿足條件需要進行積分添加的會員的每一條記錄,我們都要進行相同的條件判斷處理,首先搜索會員狀態(tài)基本信息表中是否有相關記錄,有的話對獎勵積分添加結果表進行追加,積分基本文件表的更新以及積分履歷表和積分日志表的追加或者更新。3.2.2
19、通票回收模塊的功能分析:1) 通票回收基本數據表和初期參數表的讀入:兩個表中分別讀出一條數據,并對這兩條數據以jan_code為關鍵字進行表,相等的話進行回收處理操作,不相等的話繼續(xù)讀入,直到兩張表循環(huán)完。2) 通票回收處理:對jan_code滿足條件的數據,再比較主鍵,相等的則證明該會員有相關記錄,要對會員所有的數據要進行統(tǒng)計累加,直到有不相等的情況發(fā)生,向通票回收處理結果表寫入數據。3.3程序流程及分析3.3.1積分添加模塊流程圖:如圖1,處理過程即是在這數張表之間傳輸添加數據,本模塊起到一個數據控制器的作用,處理積分添加事件。獎勵積分添加規(guī)則獎勵積分點添加會員基本信息表會員狀態(tài)表積分基本
20、信息表處理日表店鋪基本信息表積分履歷表獎勵更新日志獎勵積分添加結果表圖1積分添加處理流程圖1) 通過處理日表中的處理日期判斷積分添加處理是否已經執(zhí)行過,如執(zhí)行過程序結束;2) 讀入積分添加規(guī)則文件信息,依據規(guī)則開始進行添加處理;3) 查找積分基本信息表,循環(huán)處理,對滿足給定條件的會員記錄進行積分添加;4) 讀入會員基本信息表,會員狀態(tài)表,店鋪基本信息表,獎勵積分添加結果表,積分履歷表的相關信息,對當前會員記錄進行具體的添加處理。5) 將處理的結果,包括追加和更新兩種形式,返回到積分履歷表,獎勵積分添加結果表,獎勵更新日志和會員狀態(tài)表中。通票回收基本數據通票回收數據制作通票回收結果文件初期的參數
21、數據3.3.2通票回收模塊數據流程圖:圖2通票回收處理流程圖如圖2,通過本模塊對基本的通票回收輸入數據,進行再處理,根據參數表的要求,能夠得到需要的通票回收結果。圖2通票回收處理流程圖1) 讀入通票回收基本數據,并進行升序排序;同時讀入初期參數數據表,并進行降序排2) 通票回收數據制作詳細處理,(模塊功能已經介紹)。3) 在滿足回收條件的情況下,把詳細的處理結果寫入通票回收結果文件的一條記錄中。3.4 模塊的詳細設計系統(tǒng)的開發(fā)設計過程中主要會用到其他幾個輔助類:數據庫后臺操作類 skyconnect;共用文件讀取類iniconfig;共用文件 common.ini;以及一些細節(jié)功能實現需要而寫
22、的函數。3.4.1模塊主要對象的定義模塊使用到的類如圖3所示:fspb1520fspb1250iniconfigskyconnectini文件數據庫圖3類調用邏輯圖模塊fspb1250和fspb1520通過類iniconfig和類skyconnect進行對文件和數據庫的訪問。圖各類一覽表:表1模塊類說明表命名空間類名說明百貨店pos情報管理.fspb1250fspb1250積分添加百貨店pos情報管理.fspb1520fspb1520通票回收百貨店pos情報管理iniconfig共通文件讀取百貨店pos情報管理skyconnect數據庫操作skyconnect類的使用,主要是為了避免每次連接數
23、據庫操作時,都要重復添寫重復的代碼,為了美觀和方便維護的作用。由于積分添加模塊和通票回收模塊的數據庫操作頻繁,所以只建立個數據庫連接的skyconnect事例是很方便的。對于整個系統(tǒng)而言,所涉及到的屬性較多,因此建立一個文件存儲系統(tǒng)的屬性值,每個模塊通過相應方法調用對應的屬性。通過類iniconfig需要從配置文件common.ini中讀取的屬性值,如果文件不存在或者讀取失敗都要輸出錯誤日志記錄,(此處只列舉和積分添加,通票回收相關的屬性)如下表:表2 iniconfig類讀取屬性表common.ini中的屬性值對應的參數說明sqlconnection_string_sqlconnection
24、_string數據庫連接字符串filepath_filepath文件路徑member_data_member_data文件名bonus_rule_bonus_rule文件名pos_data_pos_data文件名logfile_logfile文件名最常用到的是數據庫管理系統(tǒng)服務器連接所需的連接字符串進行讀取,即用到的字符串是sqlconnection_string,其它的文件只是通過聲明類iniconfig實例進行文件存在與否的判斷,但是如果上面所列文件中有一個不存在的話,模塊就會輸出錯誤信息到日志數據庫中去,這是遵從共通文件讀取要求規(guī)范所必需要的。 3.4.2數據庫結構設計在積分管理系統(tǒng)中,
25、數據庫的結構設計占非常重要的地位,設計好壞與數據庫中數據的讀取起很大影響作用。而且應該與數據的統(tǒng)計算法相結合,以數據的讀取統(tǒng)計方便為目的。在積分更新和積分累計記錄模塊中,設計如下:上述兩模塊中所有被用到的數據表的名稱的定義: 表3表名定義序號表參數名表名說明1fsptb_member記錄會員基本信息2fsptb_point記錄積分點基本信息3fsptb_tenpo記錄店鋪基本信息4fsptb_member_status記錄會員狀態(tài)信息5fsptb_log記錄系統(tǒng)的輸入日志6fsptb_point_rireki記錄積分履歷7fsptb_point_jnl記錄積分日志8fspb_coupon臨時保
26、存通票回收基本數據9fspb_prameter臨時保存初期參數數據注:數據表中與本模塊不相關的數據項因為太多未列出,但實際存在; (1)fsptb_member(會員)表4會員數據表主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會員編碼char13not nullnyukai_ymd入會年月日char8nullmember_kbn會員種類char1nullnyukai_tenpo入會的店鋪編碼char6nullmukou_kbn起效種類char1nulladd_ymdhms注冊時間char14nulladd_tantou注冊負責人idchar6nullupd_ymdhms更
27、新時間char14null會員編號是會員身份的唯一標識,通過編號可以知道該會員是否存在,如果存在,才有必要進行會員積分的添加。(2)fsptb_point(積分)表5積分數據表主鍵列(屬性)名中文名稱類型寬度是否為空member_code會員編碼char13not nullold_member_code舊會員編碼char13nullyutai_rank優(yōu)惠等級char2nullnow_point現在積分點98nullruikei_point累計積分點98nullout_ruikei_point支出的累計積分點98nulladd_ruikei_point增加的累計積分點98nullkihon_r
28、uikei_point基本累計積分點98nullbonus_ruikei_point獎勵累計積分點98nullbefore_tuki_kaiage_m上上月交易金額910nullmember_waribiki_m打折累計金額910nullkounyu_m購買金額910nullmukou_kbn起效種類char1null保存了會員入會后的所有積分點的信息,以不同的方式和標準統(tǒng)計著會員的積分記錄。只要“當日購買金額”和“起效種類”達到條件就會進行積分添加處理。(3)fsptb_tenpo(店鋪)表6店鋪數據表主鍵列(屬性)名中文名稱類型寬度是否允許為空tenpo_code店鋪編碼char6not
29、nulltenpo_addr地址char100null根據表6可以找到會員當時在何地何時入會的信息。(4)fsptb_member_status(會員狀態(tài))表7會員狀態(tài)表主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會員編碼char13not nullold_member_code舊會員編碼char13nulldominant_code優(yōu)先級別編碼char3not nulltenpo_code店鋪號碼char6not nullold_tenpo_code舊店鋪編碼char6not null可以通過表7查詢到會員的狀態(tài),是否滿足積分添加的標準。(5)fsptb_log(日志)
30、表8系統(tǒng)日志信息表主鍵列(屬性)名中文名稱類型寬度是否允許為空p_sel信息類型char1nullp_msgcd信息編號int4not nullp_msg信息內容char256nullp_appnm程序名char32nullp_funcnm函數名char32nullp_jobnm工作獄char32nullp_rrdetail詳細信息char256nullp_inifileini文件名char32null模塊處理過程中所有的預計出錯信息的輸入保存表。能及時反映會員的積分添加失敗與否的具體信息。(6)fsptb_point_rireki(積分履歷表)表9積分履歷表主鍵列(屬性)名中文名稱類型寬度是
31、否允許為空member_code會員編號char13not nullymd日期char8not nullyutai_rank優(yōu)惠等級char2nullkihon_point當日基本積分numeric9nullbonus_point當日獎勵積分numeric6nulladd_point當日增加積分numeric6nullout_point當日輸出積分numeric6nullnow_point現在積分numeric8nullupd_ymdhms更新時間char14nullupd_tantou操作者編號char6null會員自入會以來的所有歷史積分記錄,比積分表統(tǒng)計得多。(7)fsptb_point
32、_jnl(積分日志表)表10積分日志表主鍵列(屬性)名中文名稱類型寬度空否tenpo_code店鋪號碼char6not nullmember_code會員編碼char13not nulladd_point_b當日增加積分(前)numeric6nullout_point_b當日消費積分(前)numeric6nullnow_point_b現在積分(更新前)numeric8nullbonus_point_b當日獎勵積分(前)numeric8nullout_kaiage_m_b當日消費金額(前)numeric10nulladd_kaiage_m_b當日增加金額(前)numeric10nulltuki_
33、kaiage_m_b當月消費金額(前)numeric10nulladd_point_a當日增加積分(后)numeric6nullout_point_a當日消費積分(后)numeric6nullnow_point_a現在積分(更新后)numeric8nullbonus_point_a當日獎勵積分(后)numeric8nullout_kaiage_m_a當日消費額(后)numeric10nulladd_kaiage_m_a當日增加金額(后)numeric10nulltuki_kaiage_ma當月消費金額(后)numeric10nulljnl_auto_id記錄自動編號int4not null表1
34、0積分添加處理的系統(tǒng)日志。(8)fsptb_coupon(通票數據)表11通票回收數據庫臨時表主鍵列(屬性)名中文名稱類型寬度是否允許為空date營業(yè)日char6not nulltenpo_code店鋪編號char6not nullnumber記錄機號碼char6not nulljan_codejan編號char8not nulljnl_sort_seq排序char2not nulljnl_clo_mul_itmitm數據int2not nulljnl_clo_amtamt數據int13not nulljnl_hen_kbn參數char6null通票回收處理模塊的原始待處理數據。(9)fspt
35、b_prameter(初期參數表)表12原因表主鍵列(屬性)名中文名稱類型寬度空否jnl_ken_nam商品分類char1not nulljan_codejan編號char2not nulljnl_hen_kbn參數char1null4模塊的實現過程分析 下面將以對代碼的解釋說明的方式對兩個模塊的實現過程以詳細的說明,并列出部分重要代碼:4.1積分添加類具體實現首先在fspb_1250的構造函數中建立共同函數的讀取類iniconfig;如果共同函數取得成功沒有發(fā)生異常的錯誤或者不為空,就建立數據庫連接類skyconnet; 以便程序中能方便調用;其中判斷ini文件的存在十分重要,它是整個系統(tǒng)銜
36、接的核心,如果ini文件的讀取失?。?代表ini文件不存在;2代表ini文件不能打開;3代表ini文件內容為空,主鍵或者內容格式的錯誤),將不做任何的其他操作;直接結實程序;public ()/共通情報取得(ini) ini = new 昐壿揦pos忣曬娗棟冀醚.iniconfig();if(ini.errorstring!="1"&&ini.errorstring!="2"&&ini.errorstring!="3") skyconnect = new 昐壿揦pos忣曬娗棟冀醚.skyconnect(
37、); 如果讀取失敗需要輸出失敗原因,因為程序的所有數據庫操作都封裝在skyconnect類中的,而skyconnect類也需要ini文件的讀取返回的參數地址等初期數據成功才可以;所以ini的報錯必須自己手動建立數據庫的連接才行,以下是發(fā)生錯誤3的情況下手動連接數據庫的情況: elsesqlconnection con1 = newsqlconnection("server=38;uid=sa;pwd=123456;database=tokyosuper"); sqlcommand com1 = new sqlcommand("insert
38、 fsptb_log(p_sel,p_msg,p_appnm,p_funcnm,p_jobnm,p_errdetail,p_inifile)values('l','fsp.ini','fspb1250','add_pointmain','sk-dengbc','ini中名、名、內容(値)存在','common.ini')", con1);con1.open();com1.executenonquery();con1.close();con1.close(); 在ini文件讀
39、取成功的條件下進行本模塊的具體操作:首先向fspb_log表里面輸入程序開始日志:skyconnect.sqlexecute("insert fsptb_log(p_sel,p_appnm,p_funcnm,p_jobnm,p_errdetail,p_inifile)values('s','fspb1250','add_pointmain','sk-dengbc','付加開始','common.ini')"); 檢索獎勵積分添加結果表數據fspb_point_bonus是否存在數
40、據:以處理日fspb_syoribi的日期shori_ym為主鍵搜索獎勵積分添加結果表數據表string sql_fsptb_syoribi = "select shori_ym from fsptb_syoribi"dataset dataset_shori_ym = skyconnect.getdataset (sql_fsptb_syoribi);datarow rows = dataset_shori_ym.tables0.rows0; shori_ym = rows"shori_ym".tostring();string sql_fsptb_p
41、oint_bonus = "select shori_ym from fsptb_point_bonus where shori_ym='" + shori_ym + "'"dataset dataset_fsptb_point_bonus = skyconnect.getdataset (sql_fsptb_point_bonus);如果有適當的數據存在則向日志fspb_log輸入完成信息,表示當天的添加處理已經處理完成程序正常結束,否則進行積分點的添加,判斷條件是以if (dataset_fsptb_point_bonus.table
42、s0.rows.count != 0)的方式,讀取數據庫的文件,判斷是否有記錄來區(qū)分的。讀入積分添加規(guī)則文件fsp_bonus_rule.csv并把讀出的信息(購買金額上限,購買金額下限,添加點數,獎勵區(qū)分)信息分別寫入臨時的txt文件new_fsp_bonus_rule.txt中,如果csv文件中無信息則向日志文件fspb_log中寫如相應的出錯信息,同時程序終止,此功能的實現由read_fsp_bonus_rulecsv()函數來實現的,代碼如下:public string read_fsp_bonus_rulecsv() /付加読込 string rulefile_path = ini.
43、bonus_rule; int lastvalues = rulefile_path.lastindexof(""); int length = rulefile_path.length; string pathtop = rulefile_path.remove(lastvalues, length - lastvalues);string pathend = rulefile_path.remove(0, lastvalues + 1); lins_ruletxtpath = this.make_path("new_fsp_bonus_rule.txt&quo
44、t;);if (directory.exists(pathtop) if (file.exists(rulefile_path) streamreader streamr_fsp_bonus_rulecsv = new streamreader(rulefile_path); string str_rule = streamr_fsp_bonus_rulecsv.readline(); if (str_rule = null) skyconnect.sqlexecute("insert into fsptb_log(p_sel,p_appnm,p_funcnm,p_jobnm,p_e
45、rrdetail,p_inifile)values('l','fspb1250','read_fsp_bonus_rulecsv','sk-dengbc','付加存在','common.ini')");else do system.io.streamwriter steamw_ruletxt = new streamwriter(lins_ruletxtpath, true); steamw_ruletxt.writeline(str_rule); steamw_ruletxt.close
46、(); str_rule = streamr_fsp_bonus_rulecsv.readline(); while (str_rule != null); streamr_fsp_bonus_rulecsv.close(); /if file.exists(rulefile_path);(csv文件讀取不成功,向fspb_log文件中的輸入的信息的代碼未給出;)根據條件(當前購買金額大于0和區(qū)分無效=0)搜索積分基本信息表fspb_point,如果有匹配的記錄則繼續(xù)進行添加處理,沒有就終止程序。讀取的方式是foreach循環(huán)的,這也是本程序的難點,循環(huán)過程中的數據處理相當煩瑣,不時需要查詢相
47、關的數據表,讀入相關文件,保存臨時信息到變量,比較判斷循環(huán)條件;循環(huán)過程中再對每一條匹配記錄處理(詳細情況見后);判斷的代碼見下:/ 読込 dataset datas_fspb_point =skyconnect.getdataset("select before_tuki_kaiage_m,member_code,yutai_rank from fsptb_point where before_tuki_kaiage_m>0 and mukou_kbn='0'"); if (datas_fspb_point.tables0.rows.count !=
48、 0) foreach (datarow new_row in datas_fspb_point.tables0.rows) 每條記錄的詳細處理過程. 每條記錄的詳細處理情況:1) 當前記錄信息的保存:now_before_tuki_kaiage_m = int32.parse(new_row"before_tuki_kaiage_m".tostring();now_member_code = new_row"member_code".tostring();now_yutai_rank = new_row"yutai_rank".to
49、string();2) 獎勵積分臨時規(guī)則文件進行檢索,對獎勵積分添加對象數據進行判定:decimal nowpoint_type = new decimal2;nowpoint_type = this.chechfrom_bonus_ruletxt(now_before_tuki_kaiage_m);decimal bonus_point = nowpoint_type0;decimal bonus_type = nowpoint_type1;chechfrom_bonus_ruletxt()函數主要實現:根據輸入參數的信息,即當前購買金額,來循環(huán)判斷一個txt文件的每行信息,該txt文件每行
50、信息的每個數據用“,”分割開,通過逐行對比對應字節(jié)的字符串找到對應的數據后,返回該行字符串的一部分內容,并同時保存到新建立的兩個txt文件中(bonustable.txt和pointtable.txt)供以后使用;此txt文件在本模塊中是new_fsp_bonus_rule.txt臨時文件;代碼如下:public decimal chechfrom_bonus_ruletxt(decimal now_k) string read; bool panduan = true; decimal newarry = new decimal4; decimal point_type = new deci
51、mal2; streamreader streamr_lrtp; streamr_lrtp = new streamreader(lins_ruletxtpath); /付加対象判定 do read = streamr_lrtp.readline(); newarry = this .string_t0_array(read);if (now_k >= newarry0) && (now_k <= newarry1) string newp = this.make_path("pointtable.txt"); streamwriter streamw_p = new streamwriter(newp, true); streamw_p.writeline(newarry2); point_type0 = newarry2; streamw_p.close(); string newb = this .make_path("bonustable.txt"); streamwriter streamw_b = new streamwriter(newb, true); stream
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目管理成果回顧與經驗教訓總結
- 高并發(fā)場景中緩存機制應用
- 能源行業(yè)設備使用情況表
- 《光現象和反射原理:初中物理入門教學教案》
- 2025年武漢貨運從業(yè)資格證考試模擬試題題庫
- 《探究光的折射現象:初中物理光學教案》
- 學習進度與成績統(tǒng)計表
- 度育嬰師服務協(xié)議
- 2025年寶雞三和職業(yè)學院單招職業(yè)適應性測試題庫一套
- 2025年安徽商貿職業(yè)技術學院單招職業(yè)適應性測試題庫帶答案
- 10我們所了解的環(huán)境污染 (教學設計)2023-2024學年統(tǒng)編版道德與法治四年級上冊
- 2025中國煙草/中煙工業(yè)招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 新教科版小學科學三年級下冊教案(全冊)
- 2025小學語文一年級下冊第二單元教學課件匯編(配套新教材)
- 語文課堂中的多媒體教學方法研究
- 2025年湖南交通職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 小學生傳統(tǒng)文化教育的家庭學校社會協(xié)同機制
- 兒童飲食健康指南
- 民用無人機操控員執(zhí)照(CAAC)考試復習重點題庫500題(含答案)
- 2025年春新北師大版物理八年級下冊課件 第六章 質量和密度 第三節(jié) 密度的測量與應用
- 2024-2025學年成都市高一上英語期末考試題(含答案和音頻)
評論
0/150
提交評論