![銷售管理與智能分析系統(tǒng)畢業(yè)論文_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/17/dade8951-e975-428b-8a86-e9cfa240b4b8/dade8951-e975-428b-8a86-e9cfa240b4b81.gif)
![銷售管理與智能分析系統(tǒng)畢業(yè)論文_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/17/dade8951-e975-428b-8a86-e9cfa240b4b8/dade8951-e975-428b-8a86-e9cfa240b4b82.gif)
![銷售管理與智能分析系統(tǒng)畢業(yè)論文_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/17/dade8951-e975-428b-8a86-e9cfa240b4b8/dade8951-e975-428b-8a86-e9cfa240b4b83.gif)
![銷售管理與智能分析系統(tǒng)畢業(yè)論文_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/17/dade8951-e975-428b-8a86-e9cfa240b4b8/dade8951-e975-428b-8a86-e9cfa240b4b84.gif)
![銷售管理與智能分析系統(tǒng)畢業(yè)論文_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-4/17/dade8951-e975-428b-8a86-e9cfa240b4b8/dade8951-e975-428b-8a86-e9cfa240b4b85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào):大學(xué)本科畢業(yè)論文銷售管理與智能分析系統(tǒng)論文作者姓名: 作 者 學(xué) 號(hào): xxxxxx 所 在 學(xué) 院: xxxxxxxxxxxxxxxxxx 所學(xué)專業(yè): xxyjskx 導(dǎo)師姓名職稱: xxxxxxxxxxx 論文完成時(shí)間: 2011年5月8日 2011年5月13日銷售管理與分析系統(tǒng) 摘 要:本文銷售管理與分析系統(tǒng),研究了銷售的統(tǒng)計(jì)和智能分析,設(shè)計(jì)并開發(fā)了一套管理系統(tǒng)。該系統(tǒng)的優(yōu)勢(shì)在于:打破常規(guī)表格瀏覽數(shù)據(jù)方式,采用新的直方圖的方式,將數(shù)據(jù)以直方圖的形式顯示出來(lái),能幫助管理者更直觀,更方便的觀察銷售數(shù)據(jù)的變化;能根據(jù)已有的銷售記錄預(yù)測(cè)未來(lái)一段時(shí)間內(nèi)的銷售情況。關(guān)鍵詞:銷售數(shù)據(jù)管理;倉(cāng)庫(kù)管
2、理;數(shù)據(jù)統(tǒng)計(jì);數(shù)據(jù)預(yù)測(cè)1 引言銷售數(shù)據(jù)管理系統(tǒng)隨著信息化時(shí)代的到來(lái)和企業(yè)不斷發(fā)展的需要,在國(guó)內(nèi)外都有很大的市場(chǎng)和研究空間?,F(xiàn)有的銷售數(shù)據(jù)管理系統(tǒng)主要是對(duì)于大型數(shù)據(jù)倉(cāng)庫(kù)和中小型數(shù)據(jù)倉(cāng)庫(kù)的研究。有關(guān)大型數(shù)據(jù)倉(cāng)庫(kù)的管理系統(tǒng)大多為企業(yè)內(nèi)部自己開發(fā),其針對(duì)性比較強(qiáng),功能也比較完善,但是他的數(shù)據(jù)模型也很難運(yùn)用到其他行業(yè)數(shù)據(jù)倉(cāng)庫(kù)的管理,其通用性很差,并且開發(fā)成本也比較昂貴。對(duì)于中小型數(shù)據(jù)倉(cāng)庫(kù)的管理系統(tǒng),市場(chǎng)上有很多。他們的大部分功能都相差不遠(yuǎn)。這些管理系統(tǒng)只具備常規(guī)的數(shù)據(jù)管理,維護(hù)功能。對(duì)于更有價(jià)值的數(shù)據(jù)統(tǒng)計(jì),數(shù)據(jù)預(yù)測(cè)功能,這些系統(tǒng)通常是不具備的。即使有少數(shù)的系統(tǒng)可能做過(guò)這些方面的研究,但是其數(shù)據(jù)顯示模式也
3、是常規(guī)的表格形式。這種表格數(shù)據(jù)讓企業(yè)決策者很難從中找到潛在的市場(chǎng)價(jià)值。相對(duì)于中小型企業(yè)來(lái)說(shuō),數(shù)據(jù)統(tǒng)計(jì)和數(shù)據(jù)預(yù)測(cè)功能,直觀的數(shù)據(jù)顯示形式,常常都是很受歡迎的。而具有這些功能的比較完善的系統(tǒng)市場(chǎng)上少之又少。這些企業(yè)為了生存不會(huì)開發(fā)針對(duì)其自身行業(yè)領(lǐng)域的專門系統(tǒng)。而為了在行業(yè)內(nèi)競(jìng)爭(zhēng)中獲利,這些中小型企業(yè)非常需要廉價(jià)的功能完善的系統(tǒng)。顯然這些與市場(chǎng)上的產(chǎn)品空白形成了矛盾。針對(duì)國(guó)內(nèi)外研究現(xiàn)狀的分析,對(duì)于中小型銷售數(shù)據(jù)倉(cāng)庫(kù)管理的研究,本系統(tǒng)提出了新的開發(fā)模型。2 系統(tǒng)需求分析 需求分析在系統(tǒng)中占有重要地位。需求分析就是通過(guò)與用戶的廣泛交流,得到未來(lái)系統(tǒng)必須具備的功能,即了解未來(lái)系統(tǒng)必須做什么,定義系統(tǒng)功能和
4、用戶界面,使客戶了解系統(tǒng),開發(fā)人員了解系統(tǒng)需求,同時(shí)作為制定項(xiàng)目計(jì)劃的基礎(chǔ)。所以說(shuō)只有好的系統(tǒng)分析才能做出一個(gè)好的系統(tǒng)。2.1業(yè)務(wù)需求分析基本的需求主要包括:對(duì)數(shù)據(jù)基本信息的管理,對(duì)銷售明細(xì)的查詢,統(tǒng)計(jì),基本業(yè)務(wù)報(bào)表的輸出和打印,數(shù)據(jù)維護(hù),對(duì)未來(lái)銷售狀況的預(yù)測(cè),等。主要聯(lián)系是:管理員人事信息員工工資商品信息銷售記錄數(shù)據(jù)維護(hù)報(bào)表打印數(shù)據(jù)查詢信息管理智能預(yù)測(cè)圖2-1 系統(tǒng)需求聯(lián)系圖2.2功能需求分析根據(jù)以上業(yè)務(wù)需求分析,在加上相關(guān)的系統(tǒng)用戶注冊(cè),密碼找回,幫助系統(tǒng),可以總結(jié)出功能需求。如下圖所示:銷售管理系統(tǒng)登錄模塊基本信息管理信息查詢數(shù)據(jù)統(tǒng)計(jì)報(bào)表打印智能分析幫助注冊(cè)密碼找回人事信息員工工資商品信
5、息銷售記錄商品信息銷售情況員工名單商品訂單銷售記錄圖2-2 系統(tǒng)模塊聯(lián)系圖2.3系統(tǒng)性能分析1.系統(tǒng)必須穩(wěn)定,具有較高的可靠性和容錯(cuò)性 整個(gè)系統(tǒng)必須具備很高的安全性,達(dá)到可靠穩(wěn)定,不易出錯(cuò),容易修復(fù),并且不能影響正常使用。2.系統(tǒng)軟件功能必須完善,便于管理和維護(hù)整套銷售管理系統(tǒng)必須能滿足用戶的需求,便于操作,界面簡(jiǎn)潔,且易于維護(hù)。3.系統(tǒng)需預(yù)留與其他系統(tǒng)的接口為了適應(yīng)業(yè)務(wù)增長(zhǎng)的需求,系統(tǒng)需要考慮以后功能的擴(kuò)充,以及與其他系統(tǒng)的連接等問(wèn)題。3 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是存放數(shù)據(jù)及相關(guān)信息的倉(cāng)庫(kù),是事務(wù)處理,信息管理等應(yīng)用系統(tǒng)的基礎(chǔ)。數(shù)據(jù)庫(kù)設(shè)計(jì)的意義關(guān)系到系統(tǒng)開發(fā)的成敗。本系統(tǒng)采用關(guān)系模型建立數(shù)據(jù)庫(kù)。關(guān)系
6、模型以二維表格的形勢(shì)組織數(shù)據(jù)庫(kù)中的數(shù)據(jù)。3.1數(shù)據(jù)采集系統(tǒng)的原始數(shù)據(jù)主要來(lái)源于網(wǎng)絡(luò)上的中小型企業(yè)。這些數(shù)據(jù)只是企業(yè)內(nèi)部數(shù)據(jù)的一部分。由于論文的目的主要是提供給開發(fā)者一個(gè)可以借鑒的模型,并與傳統(tǒng)的模型形成對(duì)比,一發(fā)現(xiàn)其優(yōu)點(diǎn)所在。對(duì)于系統(tǒng)的研究開發(fā)這些數(shù)據(jù)已經(jīng)足夠了。3.2 e-r數(shù)據(jù)圖人事信息和員工工資的e-r模型:?jiǎn)T工員工號(hào)姓名出生日期學(xué)歷職位聯(lián)系方式地址身份證號(hào)工資總額獎(jiǎng)金基本工資屬于圖3-1 人事信息和員工工資的e-r圖商品信息和銷售記錄的e-r模型:商品類別數(shù)量進(jìn)入價(jià)格商品名稱商品代碼庫(kù)存量賣出價(jià)格銷售日期銷售年月銷售記錄號(hào)商品銷售記錄銷售圖3-2 商品信息和銷售記錄的e-r圖管理員信息
7、包括:?jiǎn)T工號(hào),密碼,權(quán)限,密保問(wèn)題,密保答案。3.3數(shù)據(jù)表劃分及邏輯結(jié)構(gòu)根據(jù)e-r模型,可以對(duì)數(shù)據(jù)表劃分及確定邏輯結(jié)構(gòu)。人事信息表(workers):列名數(shù)據(jù)類型主鍵允許空員工號(hào)varchar(30)是否姓名varchar(30)否否性別varchar(50)否否出生日期datetime否否身份證號(hào)varchar(30)否否地址varchar(30)否否聯(lián)系方式varchar(30)否否職位varchar(30)否否學(xué)歷varchar(30)否否員工工資表(salary):列名數(shù)據(jù)類型主鍵允許空員工號(hào)varchar(30)是否姓名varchar(30)否否身份證號(hào)varchar(30)否否工資
8、float否否獎(jiǎng)金float否否總額float否否商品信息表(products):列名數(shù)據(jù)類型主鍵允許空商品代碼varchar(30)是否商品名稱varchar(30)否否商品類別varchar(30)否否進(jìn)入價(jià)格float否否賣出價(jià)格float否否庫(kù)存量float否否銷售記錄表(productdetails):列名數(shù)據(jù)類型主鍵允許空銷售記錄號(hào)bigint是否商品代碼varchar(30)否否商品名稱varchar(30)否否商品類別varchar(30)否否銷售數(shù)量float否否銷售年月datetime否否管理登錄表(users):列名數(shù)據(jù)類型主鍵允許空員工號(hào)varchar(30)是否密碼v
9、archar(30)否否權(quán)限varchar(30)否否密保問(wèn)題varchar(30)否否密保答案varchar(30)否否4 總體設(shè)計(jì)總體設(shè)計(jì)主要解決在系統(tǒng)設(shè)計(jì)中,所涉及到的前臺(tái)數(shù)據(jù)流程控制,后臺(tái)數(shù)據(jù)庫(kù),視圖的創(chuàng)建,以及matlab建模程序設(shè)計(jì)。4.1總體分析前面已經(jīng)分析過(guò)功能需求,在其中的數(shù)據(jù)統(tǒng)計(jì),報(bào)表打印等模塊要用到大量的視圖。接著上一章的數(shù)據(jù)庫(kù)創(chuàng)建后,接下來(lái)主要說(shuō)明系統(tǒng)中所用到的視圖的創(chuàng)建,智能分析模塊的理論基礎(chǔ),以及相關(guān)的matlab程序設(shè)計(jì)。4.2前臺(tái)數(shù)據(jù)流程統(tǒng)計(jì)模塊:包含,商品信息統(tǒng)計(jì),銷售記錄統(tǒng)計(jì)。由于統(tǒng)計(jì)模塊的顯示模式有兩種(常規(guī)表格,圖形顯示),所以為了減少編程負(fù)擔(dān),精簡(jiǎn)程序
10、,使商品信息統(tǒng)計(jì)和銷售記錄統(tǒng)計(jì)都采用一個(gè)處理模型。針對(duì)常規(guī)表格模式,采取調(diào)用數(shù)據(jù)庫(kù)命令的形式;對(duì)于圖形顯示模型,主要是將統(tǒng)計(jì)條件存儲(chǔ)到視圖中,然后打開圖形繪制窗體,讀取視圖中的數(shù)據(jù)并以圖形的形式顯示出來(lái)。智能分析模塊:包括,商品盈虧分析,商品銷售預(yù)測(cè),總盈虧分析。商品盈虧分析和總盈虧分析的數(shù)據(jù)流程主要是,視圖統(tǒng)計(jì),然后計(jì)算,最后顯示結(jié)果。商品銷售預(yù)測(cè)的數(shù)據(jù)流程比較復(fù)雜,在預(yù)測(cè)數(shù)據(jù)時(shí)需要把將要預(yù)測(cè)的商品信息存儲(chǔ)到視圖中,然后由程序讀取,傳遞給已經(jīng)編制好的matlab程序生成的組件,有這些組件計(jì)算要預(yù)測(cè)的信息。4.3后臺(tái)數(shù)據(jù)庫(kù)和視圖支持下面是各個(gè)模塊中所用到的數(shù)據(jù)視圖,輔助視圖,及各視圖的創(chuàng)建代碼
11、:/生成商品訂單數(shù)據(jù)源的輔助視圖create view productdd2 as select 商品代碼,max(銷售年月) as 銷售年月 from productdd1 group by 商品代碼 go/生成商品訂單數(shù)據(jù)源的輔助視圖create view productdd3 as select a.商品代碼,a.商品名稱,a.銷售總量,b.銷售年月 from productdd1 a,productdd2 b where a.商品代碼 = b.商品代碼 and a.銷售年月 = b.銷售年月 go/生成商品訂單數(shù)據(jù)源create view productdd as select a.商
12、品代碼,a.商品名稱,a.商品類別,a.庫(kù)存量,b.銷售總量 as 總銷售量,b.銷售總量-a.庫(kù)存量 as 訂購(gòu)量,b.銷售年月 from products a,productdd3 b where a.商品代碼 = b.商品代碼 go智能預(yù)測(cè)模塊:/智能預(yù)測(cè)所用視圖/用于輔助計(jì)算-求總銷售額create view znfxz as select 商品名稱,sum(銷售額)as 總銷售額from productdetails group by 商品名稱 go/用于輔助計(jì)算-求凈利潤(rùn)create view znfxz1 as select a.商品名稱,a.總銷售額 * (b.賣出價(jià)格 - b
13、.進(jìn)入價(jià)格)/b.賣出價(jià)格 as 凈利潤(rùn) from znfxz a,products bwhere a.商品名稱 = b.商品名稱 go-驗(yàn)證是否可預(yù)測(cè)用的輔助模塊視圖create view viewzn as select 商品代碼,商品名稱,銷售年月,sum(銷售額) as 月銷售額 from productdetails group by 商品代碼,商品名稱,銷售年月 go/驗(yàn)證是否可預(yù)測(cè)用的模塊視圖/如果記錄條數(shù)小于8,則不能預(yù)測(cè)銷售數(shù)據(jù)create view viewznjl as select 商品代碼,商品名稱,count(*) as 記錄條數(shù) from viewzn group
14、 by 商品代碼,商品名稱 go/分析模塊用的視圖alter view viewznfx as select 商品名稱,(datediff(month,cast(1996-1-1 as datetime),cast(銷售年月 as datetime) as 月數(shù),sum(銷售額) as 月銷售額,銷售年月from productdetails where 商品名稱 = 牛奶 group by 商品名稱,銷售年月 go4.4 matlab程序設(shè)計(jì)在智能分析的數(shù)據(jù)預(yù)測(cè)功能中,要使用到最小二乘法。在已有銷售記錄的基礎(chǔ)上使用最小二乘法可以預(yù)定制定時(shí)間的銷售額。下面詳細(xì)說(shuō)明最小二乘法擬合的matlab實(shí)
15、現(xiàn)。最小二乘法擬合:在這里系統(tǒng)選用最小二乘法擬合多項(xiàng)式函數(shù),次數(shù)去2。下面是系統(tǒng)中用到的matlab程序:function result = tnh(a,b,x) k = polyfit(a,b,2); result = polyval(k,x);end在程序中a為某個(gè)商品的最近8個(gè)銷售記錄時(shí)間距離1996-01-01的月數(shù);b為對(duì)應(yīng)a中每個(gè)月的銷售額;x為要預(yù)測(cè)的日期距離1996-01-01的月數(shù)。以上模型為最小二乘法,針對(duì)不同的企業(yè)和銷售模式其數(shù)據(jù)預(yù)測(cè)可能需要不同的模型,本系統(tǒng)是調(diào)用matlab生成的組件,傳遞給模型數(shù)據(jù),然后得出結(jié)果。為了給系統(tǒng)提供更好的適應(yīng)性,如果需要不同的預(yù)測(cè)模型,可
16、以直接建模后用matlab程序生成組件,更換掉原來(lái)的組件即可運(yùn)行。5 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)將描述系統(tǒng)中各個(gè)模塊的操作流程,界面設(shè)計(jì),以及實(shí)現(xiàn)程序代碼。5.1 登錄模塊登錄模塊通過(guò)用戶名和密碼檢查用戶是否合法,同時(shí)使用驗(yàn)證信息防止惡意登錄。下面是登錄窗體(logn)的顯示界面:圖5-1 登錄窗體界面圖其中員工號(hào)和密碼是用戶在注冊(cè)中填寫的信息,驗(yàn)證信息為隨即生成的兩個(gè)1-9的整數(shù)組成的運(yùn)算式,只有用戶輸入正確的員工號(hào),密碼,并且在驗(yàn)證框中輸入正確的結(jié)果后方能進(jìn)入系統(tǒng)。5.2 注冊(cè)模塊在登錄窗體(logn)中點(diǎn)擊注冊(cè)用戶就可以啟動(dòng)注冊(cè)用戶窗體。下面描述用戶注冊(cè)流程:輸入信息數(shù)據(jù)合法?更新users注冊(cè)成
17、功關(guān)閉注冊(cè),顯示登錄是否已注冊(cè)?是否為公司員工?二次密碼是否一致?重新輸入否是否否是是是否圖5-2 用戶注冊(cè)模塊數(shù)據(jù)流程圖 圖5-3 用戶注冊(cè)窗體界面圖5.3 密碼找回模塊在登錄窗體(logn)中點(diǎn)擊密碼找回就可以啟動(dòng)密碼找回窗體。下面描述密碼找回流程:輸入員工號(hào)是否有此人顯示密保問(wèn)題輸入答案答案是否正確輸入密碼兩次密碼一致保存密碼否是是是否否重新輸入圖5-4 密碼找回模塊數(shù)據(jù)流程圖 圖5-5密碼找回窗體界面圖5.4 主菜單模塊主菜單模塊主要是為其他各個(gè)功能模塊提供操作界面,其界面如下:圖5-6 主菜單窗體界面圖主菜單模塊代碼比較簡(jiǎn)單,此處不再詳述。5.5 基本信息管理模塊該模塊包括人事信息管
18、理,員工工資管理,商品信息管理,其代碼大致相同,此處只對(duì)人事信息管理列出代碼:人事信息管理界面:圖5-7 人事信息管理窗體界面圖人事信息管理主要代碼: /flag變量用于控制新建按鈕是否可用 /為防止出現(xiàn)異常 /每次插入新的行后都要保存一次后才能再次插入 int flag = 1; private void workersbindingnavigatorsaveitem_click(object sender, eventargs e) try this.validate();this.workersbindingsource.endedit();this.tableadaptermanage
19、r.updateall(this.epdatedataset); flag = 1; messagebox.show(保存成功!); catch (exception err) messagebox.show(err.message);/-保存- private void workersbindingnavigatorsaveitem_click_1(object sender, eventargs e) if (yznotnull()trythis.validate(); this.workersbindingsource.endedit(); this.tableadaptermanage
20、r.updateall(this.epdatedataset); flag = 1; messagebox.show(保存成功!); catch (exception err) messagebox.show(err.message); else messagebox.show(有數(shù)據(jù)項(xiàng)為空,請(qǐng)?zhí)顚懲暾臄?shù)據(jù)后再保存!);return; private bool yznotnull() if(出生日期datetimepicker.value=null|地址textbox.text=|聯(lián)系方式textbox.text=|身份證號(hào)textbox.text=|姓名textbox.text=|性別te
21、xtbox.text=|學(xué)歷textbox.text=|員工號(hào)textbox.text=|職位textbox.text=) return false; elsereturn true; /-添加新行- private void bindingnavigatoraddnewitem_click(object sender, eventargs e) if (flag = 0) return; elseflag = 0; bindingnavigatoraddnewitem.enabled = false;5.6 查詢模塊該模塊包括人事信息查詢,員工工資查詢,商品信息信息,銷售記錄查詢,其代碼大致
22、相同,此處不再詳述。銷售記錄查詢界面:圖5-8 銷售記錄查詢窗體界面圖5.7 統(tǒng)計(jì)模塊統(tǒng)計(jì)模塊包括商品信息統(tǒng)計(jì),銷售記錄統(tǒng)計(jì)。統(tǒng)計(jì)結(jié)果顯示形式有表格形式,直方圖形式。在代碼上商品信息統(tǒng)計(jì),銷售記錄統(tǒng)計(jì)大致相同。此處只列出銷售記錄的代碼和圖形。銷售記錄統(tǒng)計(jì)界面(表格模式):(圖中為白米的銷售額統(tǒng)計(jì)情況)圖5-9 銷售情況數(shù)據(jù)統(tǒng)計(jì)窗體界面圖銷售記錄統(tǒng)計(jì)界面(直方圖模式):(圖中為海苔醬的銷售量直方圖)圖5-10 數(shù)據(jù)統(tǒng)計(jì)模塊直方圖顯示模式窗體界面圖銷售記錄主要代碼:/-顯示統(tǒng)計(jì)結(jié)果-private void button1_click(object sender, eventargs e) /如果
23、沒(méi)有選商品類別,返回 if (combobox1.selectedindex = -1 | combobox2.selectedindex = -1) messagebox.show(請(qǐng)選擇商品類別和商品名稱); return; string cmdstring; sqlconnection conn = new sqlconnection(properties.settings.default.epdateconnectionstring);/-如果選擇的是直方圖模式,調(diào)整視圖數(shù)據(jù),打開圖形顯示窗體 if (radiobuttonzft.checked = true) c3tjdraw fo
24、rm = new c3tjdraw(); c3tjdraw form1 = new c3tjdraw(); /調(diào)整視圖數(shù)據(jù) cmdstring = alter view viewtj as select 銷售年月,sum(銷售額) as 月銷售額 from productdetails where 商品名稱 = + combobox2.selecteditem.tostring() + group by 銷售年月 ; sqlcommand cmd = new sqlcommand(cmdstring, conn); tryconn.open();cmd.executenonquery(); c
25、atch (exception err) messagebox.show(err.message); return; finallyconn.close();form.close();form1.show(); return;/-如果是常規(guī)模式,則在表中顯示數(shù)據(jù) cmdstring = select 商品代碼,商品名稱,銷售年月,sum(銷售額)as 月銷售額 from productdetails where 商品名稱 = + combobox2.selecteditem.tostring() + group by 商品代碼,商品名稱,銷售年月;sqldataadapter adapter
26、= new sqldataadapter(cmdstring, conn); datatable table = new datatable(); tryadapter.fill(table); datagridview1.datasource = table; catch (exception err) messagebox.show(err.message); 圖形繪制模塊的主要代碼:sqldataadapter adapter = new sqldataadapter(); datatable table = new datatable(); private void c3tjdraw_
27、load(object sender, eventargs e) /-讀取視圖到表table中,供后續(xù)調(diào)用 sqlconnection conn = new sqlconnection(properties.settings.default.epdateconnectionstring); string search = select * from viewtj go; adapter = new sqldataadapter(search,conn); adapter.fill(table); /-繪圖- private void c3tjdraw_paint(object sender,
28、painteventargs e) /-設(shè)置變量 int h1, h2, w1, w2, wd, hd, yl, xl, yd, xd, rd, clmnb; decimal rk; int maxvalue = 1; int c1, c2, cwidth, cheight; string xstring; string ystring; /-給變量賦值 h1 = 20; h2 = 110; w1 = w2 = 50; wd = 30; hd = 10; yl = this.height - h1 - h2; xl = this.width - w1 - w2; yd = 50; xd = 5
29、0; clmnb = table.rows.count; /-查找列中最大值 for (int i = 0; i maxvalue) maxvalue = convert.toint16(table.rowsi1); rk = convert.todecimal(convert.todecimal(yl - yd) /convert.todecimal(maxvalue); rd = (xl-xd)/(2*clmnb); /-繪制坐標(biāo)軸 graphics g = e.graphics; pen blackpen = new pen(color.lightblue, 2.0f); blackpe
30、n.startcap = linecap.flat; blackpen.endcap = linecap.arrowanchor; /畫出直線 g.drawline(blackpen, new point(w1, this.height - h2), new point(this.width - w2, this.height - h2); g.drawline(blackpen, new point(w1, this.height - h2), new point(w1, h1); /x,y坐標(biāo)標(biāo)示g.drawstring(table.columns0.columnname.tostring
31、(), this.font, brushes.black, this.width - w2-10, this.height - h2 +5);g.drawstring(table.columns1.columnname.tostring(), this.font, brushes.black, w1+5, h1); /-繪制圖形 solidbrush bluebrush = new solidbrush(color.lightblue); for(int i = 1;i= 4) ystring = ystring.substring(0, 4); /-繪制,填充直方圖g.drawrectang
32、le(blackpen,c1,c2,cwidth,cheight);g.fillrectangle(bluebrush,c1,c2,cwidth,cheight); /-繪制標(biāo)示/直方圖標(biāo)示g.drawstring(ystring, this.font, brushes.black, c1, c2 - wd); system.drawing.stringformat drawformat = new system.drawing.stringformat(stringformatflags.directionvertical); g.drawstring(xstring,this.font,b
33、rushes.black,c1,this.height-h2 +hd,drawformat);其中部分變量的意義請(qǐng)看下圖:h1ydwdw1h2hdxdw2圖5-11 直方圖顯示窗體程序變量示意圖5.8 報(bào)表打印模塊報(bào)表打印模塊包括員工名單,商品訂單,銷售記錄情況。關(guān)于報(bào)表的制作,三者基本相同,此處不再累述。下面只顯示商品訂單的信息。商品訂單報(bào)表界面:圖5-12 商品訂單報(bào)表窗體界面圖5.9 數(shù)據(jù)維護(hù)模塊數(shù)據(jù)維護(hù)主要是通過(guò)調(diào)用數(shù)據(jù)庫(kù)命令將數(shù)據(jù)庫(kù)中的數(shù)據(jù)備份到指定的位置,以供數(shù)據(jù)恢復(fù)是使用。用戶單擊數(shù)據(jù)備份后選擇保存位置后就可以將數(shù)據(jù)庫(kù)的備份保存到指定位置。數(shù)據(jù)恢復(fù)工作可以在sql server
34、2005 中通過(guò)還原數(shù)據(jù)庫(kù)完成。5.10 智能分析模塊該模塊有三個(gè)功能商品盈虧分析,商品銷售預(yù)測(cè),總銷售盈虧分析。商品盈虧分析的運(yùn)行結(jié)果如下:(下圖為系統(tǒng)對(duì)番茄醬的銷售情況的分析)圖5-13 智能預(yù)測(cè)商品盈虧分析窗體界面圖從圖中可以看出番茄醬的目前總盈利7835.835元,凈利潤(rùn)占銷售額的百分比為:40.05692%,可見(jiàn)已達(dá)到目標(biāo)銷售范圍,系統(tǒng)建議繼續(xù)銷售。商品銷售預(yù)測(cè)的運(yùn)行結(jié)果如下:(下圖為對(duì)番茄醬的銷售情況的分析)圖5-14 智能預(yù)測(cè)商品銷售預(yù)測(cè)窗體界面圖從圖中可以看出番茄醬在1999年4月的銷售額預(yù)計(jì)為326.2292。總銷售盈虧的運(yùn)行結(jié)果如下:圖5-15 智能預(yù)測(cè)總銷售盈虧分析窗體界
35、面圖到目前為止,公司銷售額為1258488元,凈利潤(rùn)為545404.9元,凈利潤(rùn)占銷售額百分比為43.33811%。以上模塊的主要實(shí)現(xiàn)代碼如下: /-商品盈虧分析- private void button1_click(object sender, eventargs e) if (combobox2.selectedindex = -1) messagebox.show(請(qǐng)選擇要分析的商品!); return; richtextbox2.text = ; string pd; float zxse; float jj; float mj; float jlr; float jlb; try
36、/求商品的總銷售額 sqlconnection conn = new sqlconnection(properties.settings.default.epdateconnectionstring); string search = select sum(銷售額) as 銷售額 from productdetails where 商品名稱 = + combobox2.selecteditem.tostring() + group by 商品名稱; sqldataadapter adapter = new sqldataadapter(search, conn); datatable tabl
37、e = new datatable(); adapter.fill(table); zxse = (float)convert.todouble(table.rows00); /求進(jìn)入價(jià)格,賣出價(jià)格 search = select 進(jìn)入價(jià)格,賣出價(jià)格 from products where 商品名稱 = + combobox2.selecteditem.tostring() + ; sqldataadapter adapter1 = new sqldataadapter(search, conn); datatable table1 = new datatable(); adapter1.fi
38、ll(table1); jj = (float)convert.todouble(table1.rows00); mj = (float)convert.todouble(table1.rows01); /顯示結(jié)果 jlr = zxse * (mj - jj); jlb = (mj - jj) / mj * 100; if (jlb 10) pd = 該商品已處于虧損狀態(tài),應(yīng)當(dāng)立即調(diào)整價(jià)格或停止出售!; else if (jlb 40) pd = 不在目標(biāo)盈利范圍,建議調(diào)整價(jià)格!; else pd = 達(dá)到目標(biāo)銷售范圍,建議繼續(xù)保持銷售!; richtextbox2.text= + combo
39、box2.selecteditem.tostring() + 商品目前總盈利: + jlr.tostring() + 凈利潤(rùn)占銷售額百分比: + jlb.tostring() + % ;richtextbox2.text = richtextbox2.text + pd; catch(exception err) messagebox.show(err.message); /-總盈虧分析- private void button3_click(object sender, eventargs e) richtextbox2.text = ; float zxse; float jlr; flo
40、at jlb; string pd; try/求總銷售額 sqlconnection conn = new sqlconnection(properties.settings.default.epdateconnectionstring); string search = select sum(總銷售額) from znfxz; sqldataadapter adapter = new sqldataadapter(search, conn); datatable table = new datatable();adapter.fill(table); zxse = (float)conver
41、t.todouble(table.rows00); /求凈利潤(rùn) search = select sum(凈利潤(rùn)) from znfxz1; sqldataadapter adapter1 = new sqldataadapter(search, conn); datatable table1 = new datatable(); adapter1.fill(table1); jlr = (float)convert.todouble(table1.rows00); /顯示結(jié)果 jlb = jlr*100/zxse; if (jlb 40) pd = 商店處于低盈利狀態(tài),應(yīng)當(dāng)調(diào)整銷售策略!; e
42、lse pd = 達(dá)到目標(biāo)盈利范圍,建議繼續(xù)保持銷售!; richtextbox2.text = 銷售總額為: + zxse.tostring() + 凈利潤(rùn)為: + jlr.tostring() + 凈利潤(rùn)占銷售總額比例為: + jlb.tostring() + % !; richtextbox2.text = richtextbox2.text + + pd; catch (exception err) messagebox.show(err.message); /-智能預(yù)測(cè)- private void button2_click(object sender, eventargs e) c
43、ursor.current = cursors.waitcursor; richtextbox2.text = ; if (combobox2.selectedindex = -1 | datetimepicker1.value = null) messagebox.show(請(qǐng)選擇完整的分析條件!); return; /-定義變量 float a = 0,0,0,0,0,0,0,0;float b = 0, 0, 0, 0, 0, 0, 0, 0; int x; string search; int jlcount; /-提取數(shù)據(jù)/求商品的銷售記錄數(shù) sqlconnection conn = new sqlconnection(properties.settings.default.epdateconnectionstring); try search = select * from viewznjl where 商品名稱 = + combobox2.selecteditem.tostring() + ; sqldataadapter adapter = new sqldataadapter(search, conn); datatable table = new datatable();adapter.fill(table); jlcount = (int)convert.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 8 沏茶問(wèn)題(說(shuō)課稿)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版001
- Unit 8 I can do this for you?(說(shuō)課稿)-2024-2025學(xué)年譯林版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- Review Module Unit 1(說(shuō)課稿)-2023-2024學(xué)年外研版(三起)英語(yǔ)五年級(jí)下冊(cè)
- 2024-2025學(xué)年新教材高中生物 第5章 基因突變及其他變異 微專題六 遺傳變異相關(guān)的解題方法說(shuō)課稿 新人教版必修第二冊(cè)
- 2025合同樣例舞臺(tái)燈光音響租賃合同范本
- 2024春八年級(jí)語(yǔ)文下冊(cè) 第1單元 2回延安說(shuō)課稿 新人教版
- 5草船借箭說(shuō)課稿-2023-2024學(xué)年五年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- Unit1 Making friends(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024-2025學(xué)年高中化學(xué) 第一章 物質(zhì)結(jié)構(gòu)元素周期律 第一節(jié) 元素周期表第3課時(shí)說(shuō)課稿3 新人教版必修2
- 陽(yáng)光板雨棚施工方案
- 云南省曲靖市羅平縣2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 中國(guó)糖尿病防治指南(2024版)要點(diǎn)解讀
- Unit 1 Nice boys and girls【知識(shí)精研】-一年級(jí)英語(yǔ)下學(xué)期(人教PEP版一起)
- 《口腔科學(xué)緒論》課件
- 2024年高考數(shù)學(xué)(理)試卷(全國(guó)甲卷)(空白卷)
- 2024版CSCO胰腺癌診療指南解讀課件
- 《應(yīng)急管理行政執(zhí)法人員依法履職管理規(guī)定》知識(shí)培訓(xùn)
- 《醫(yī)療機(jī)構(gòu)環(huán)境表面清潔與消毒管理規(guī)范》-華西醫(yī)院案例
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 合同簽訂執(zhí)行風(fēng)險(xiǎn)管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論