Java藥店管理系統(tǒng)設(shè)計(jì)報(bào)告_第1頁(yè)
Java藥店管理系統(tǒng)設(shè)計(jì)報(bào)告_第2頁(yè)
Java藥店管理系統(tǒng)設(shè)計(jì)報(bào)告_第3頁(yè)
Java藥店管理系統(tǒng)設(shè)計(jì)報(bào)告_第4頁(yè)
Java藥店管理系統(tǒng)設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、洛 陽(yáng) 理 工 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì) 設(shè)計(jì)題目 藥店管理系統(tǒng) 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 學(xué) 號(hào) 姓 名 完成日期 2017.1.6 課 程 設(shè) 計(jì) 任 務(wù) 書設(shè)計(jì)題目: 藥店管理系統(tǒng) 設(shè)計(jì)內(nèi)容與要求:1.問(wèn)題描述設(shè)計(jì)實(shí)現(xiàn)藥店管理系統(tǒng)。能夠?qū)崿F(xiàn)藥品庫(kù)存管理、銷售信息管理和查詢功能。 2.基本要求庫(kù)存管理:包括藥品入庫(kù)、出庫(kù)管理,藥品庫(kù)存報(bào)警,藥品有效期管理(過(guò)期報(bào)警)。銷售管理:根據(jù)實(shí)際銷售自動(dòng)生成銷售單據(jù)。如果是會(huì)員,則藥品價(jià)格按95折計(jì)算。查詢及統(tǒng)計(jì)功能:對(duì)指定時(shí)間段內(nèi)的出/入庫(kù)進(jìn)行查詢/統(tǒng)計(jì),對(duì)藥品有效期進(jìn)行查詢/統(tǒng)計(jì),對(duì)藥品過(guò)期進(jìn)行查詢

2、/統(tǒng)計(jì),對(duì)指定時(shí)間段內(nèi)的藥品銷售進(jìn)行查詢/統(tǒng)計(jì)以及利潤(rùn)查詢/統(tǒng)計(jì)等。能幫顧客查詢藥品信息,能按品名、生產(chǎn)廠家、藥品類別、存貨量進(jìn)行查詢。 指導(dǎo)教師: 2016年 12 月 20 日課 程 設(shè) 計(jì) 評(píng) 語(yǔ) 成績(jī): 指導(dǎo)教師: 年 月 日洛 陽(yáng) 理 工 學(xué) 院 課 程 設(shè) 計(jì) 報(bào) 告目錄第1章需求分析11.1功能需求11.2數(shù)據(jù)需求1第2章 數(shù)據(jù)庫(kù)設(shè)計(jì)22.1數(shù)據(jù)庫(kù)邏輯級(jí)設(shè)計(jì)22.2 關(guān)系模式22.3基本表3第3章 概要設(shè)計(jì)43.1系統(tǒng)結(jié)構(gòu)與模塊功能4第4章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)64.1模塊流程圖64.2界面效果圖及代碼7第5章總結(jié)1415第1章 需求分析1.1功能需求藥店管理系統(tǒng)能夠?qū)崿F(xiàn)藥品庫(kù)存、銷售

3、信息管理和查詢功能,根據(jù)實(shí)際銷售自動(dòng)生成銷售單據(jù)。能幫顧客查詢藥品信息,能按品名、生產(chǎn)廠家、藥品類別、存貨量進(jìn)行查詢。庫(kù)存管理:包括藥品入庫(kù)、出庫(kù)管理,藥品庫(kù)存報(bào)警,藥品有效期管理(過(guò)期報(bào)警)。銷售管理:根據(jù)實(shí)際銷售自動(dòng)生成銷售單據(jù)。如果是會(huì)員,則藥品價(jià)格按95折計(jì)算。查詢及統(tǒng)計(jì)功能:對(duì)指定時(shí)間段內(nèi)的出/入庫(kù)進(jìn)行查詢/統(tǒng)計(jì),對(duì)藥品有效期進(jìn)行查詢/統(tǒng)計(jì),對(duì)藥品過(guò)期進(jìn)行查詢/統(tǒng)計(jì),對(duì)指定時(shí)間段內(nèi)的藥品銷售進(jìn)行查詢/統(tǒng)計(jì)以及利潤(rùn)查詢/統(tǒng)計(jì)等。能幫顧客查詢藥品信息,能按品名、生產(chǎn)廠家、藥品類別、存貨量進(jìn)行查詢。1.2數(shù)據(jù)需求經(jīng)過(guò)對(duì)學(xué)校附近的藥店的調(diào)研以及在網(wǎng)上查找的資料,藥店藥品管理系統(tǒng)的處理對(duì)象主要

4、包括:藥品信息、供應(yīng)商信息、顧客信息、藥品銷售信息、藥品存儲(chǔ)信息等幾個(gè)方面。根據(jù)市場(chǎng)需求需要的數(shù)據(jù)組成如下需要的數(shù)據(jù)有操作員、會(huì)員、藥品、訂單、廠家、進(jìn)貨單這些實(shí)體的組成數(shù)據(jù)有,操作人員需要包括:賬號(hào)、密碼、姓名、聯(lián)系電話、郵箱、地址;會(huì)員表:賬號(hào)、姓名、年齡、聯(lián)系電話、郵箱、地址;藥品信息中含有:藥品ID、藥品名、類別、生產(chǎn)日期、有效期、進(jìn)價(jià)、售價(jià)、生產(chǎn)廠家;訂單詳情中含有的有:訂單編號(hào)、藥品名、購(gòu)買數(shù)量、售價(jià)、購(gòu)買人員、銷售日期;廠家信息包括:廠家編號(hào)、廠家名、電話、地址;進(jìn)藥表、藥品ID、操作員、進(jìn)藥日期、進(jìn)藥數(shù)量第2章 數(shù)據(jù)庫(kù)設(shè)計(jì)2.1數(shù)據(jù)庫(kù)邏輯級(jí)設(shè)計(jì)E-R如下圖所示存儲(chǔ)N倉(cāng)庫(kù)N1年齡

5、姓名賬號(hào)電話郵箱編號(hào)品名數(shù)量售價(jià)買家日期賬號(hào)密碼姓名電話郵箱地址藥品操作員訂單會(huì)員提交參照處理廠家生產(chǎn)11廠名類別ID電話地址名稱編號(hào)編號(hào)數(shù)量生產(chǎn)期有效期進(jìn)價(jià)售價(jià)批次ID11NNNNN2.2 關(guān)系模式管理員(賬號(hào)、密碼、姓名、聯(lián)系電話、郵箱、地址)會(huì)員(賬號(hào)、姓名、年齡、聯(lián)系電話、郵箱、地址)藥品(藥品ID、藥品名稱、類別、生產(chǎn)廠家編號(hào))倉(cāng)庫(kù)(批次ID、藥品ID、藥品名、類別、生產(chǎn)日期、有效期、進(jìn)價(jià)、售價(jià)、生產(chǎn)廠家)訂單詳情(訂單編號(hào)、藥品名、購(gòu)買數(shù)量、售價(jià)、購(gòu)買人員、銷售日期、操作員姓名)廠家(廠家編號(hào)、廠家名、電話、地址)進(jìn)藥(藥品ID、操作員姓名、進(jìn)藥日期、進(jìn)藥數(shù)量)其中下劃線部分為主鍵

6、2.3基本表根據(jù)需求構(gòu)建表的基本組成。(1)管理員表如圖2-1名稱字段名稱數(shù)據(jù)類型長(zhǎng)度主鍵允許空值賬號(hào)Mnovarchar10是否密碼Mpasswvarchar20否否姓名Mnamevarchar20否否電話Mphonechar11否是郵箱Memailvarchar20否是地址Maddressvarchar50否是圖2-1(2)會(huì)員表如圖2-2名稱字段名稱數(shù)據(jù)類型長(zhǎng)度主鍵允許空值會(huì)員號(hào)Cnovarchar10是否姓名Cnamevarchar20否否年齡Cageint否是電話Cphonechar11否是郵箱Cemailvarchar20否是地址Caddressvarchar50否是圖2-2(3)

7、藥品表如圖2-3名稱字段名稱數(shù)據(jù)類型長(zhǎng)度主鍵允許空值編號(hào)Dnovarchar10是否品名Dnamevarchar20否否類別Dclassvarchar20否否生產(chǎn)商Snamevarchar20否否 圖2-3(4)供應(yīng)商表如圖2-4名稱字段名稱數(shù)據(jù)類型長(zhǎng)度主鍵允許空值編號(hào)Snovarchar10是否供應(yīng)商名Snamevarchar20否否電話Sphonechar11否是郵箱Semailvarchar20否是地址Saddressvarchar50否是 圖2-4(5)庫(kù)存表如圖2-5名稱字段名稱數(shù)據(jù)類型長(zhǎng)度主鍵允許空值批次Lnovarchar10是否藥品IDDnovarchar10否否藥品名Dnam

8、evarchar20否否藥品類別Dclassvarchar20否否數(shù)量Pquantityint否否入庫(kù)時(shí)間Idatedate否否過(guò)期時(shí)間out_datedate否否進(jìn)價(jià)Dbiddfloat否否售價(jià)Dpricefloat否否供應(yīng)商Snamevarchar20否否 圖2-5(6)銷售表如圖2-6名稱字段名稱數(shù)據(jù)類型長(zhǎng)度主鍵允許空值訂單Slnovarchar10是否批次Lnovarchar10否否會(huì)員IDCnovarchar10否是售價(jià)Ddpricefloat否否數(shù)量Mquantityint否否總價(jià)Amoneyfloat否否日期Idatedate否否 圖2-6(7)缺貨單表如圖2-7名稱字段名稱數(shù)據(jù)

9、類型長(zhǎng)度主鍵允許空值缺貨單號(hào)Lnovarchar10是否藥品IDDnovarchar10否否數(shù)量Pquantityint否否日期Pdadedate否否狀態(tài)Astatevarchar10否否 圖2-7第3章 概要設(shè)計(jì)3.1系統(tǒng)結(jié)構(gòu)與模塊功能本系統(tǒng)結(jié)構(gòu)主要包括登錄模塊,主界面模塊,添加藥品名模塊,修改和刪除品名模塊,入庫(kù)模塊, 會(huì)員管理模塊,出售管理模塊,有效期查詢模塊,盈利查詢模塊,缺貨查詢模塊。(1) 登錄界面設(shè)計(jì):為了保護(hù)藥店銷售管理系統(tǒng)的安全性,所以設(shè)置必須輸入賬號(hào)密碼才能進(jìn)入系統(tǒng)。(2) 主界面設(shè)計(jì):為了讓系統(tǒng)更加簡(jiǎn)潔,更加人性化,特加入主界面,能夠讓操作人員更加清晰的找到需要的功能,只

10、要用戶在該界面選擇對(duì)應(yīng)的按鈕,他就會(huì)彈出與各個(gè)相對(duì)應(yīng)的界面。(3) 添加品名設(shè)計(jì):為了能夠使自己的藥店更加多元化,更加容易管理,引入添加藥品名稱的設(shè)計(jì)。能夠讓使用者更加清晰的知道現(xiàn)如今自己藥店中藥品的種類以及藥品類型,以進(jìn)行更加方便的進(jìn)貨以及添加新的藥品。(4) 修改品名設(shè)計(jì):為了讓使用者在不使用某一家的藥品或者藥品信息更改后進(jìn)行及時(shí)的刪除修改。保持藥品庫(kù)的實(shí)時(shí)性。(5) 入庫(kù)設(shè)計(jì):能夠在該頁(yè)面對(duì)已經(jīng)錄入的藥品名進(jìn)行入庫(kù),會(huì)自動(dòng)添加入庫(kù)時(shí)間,生成一個(gè)批次編號(hào),方便管理,能夠在售賣中及時(shí)發(fā)現(xiàn)哪批貨物為最先入庫(kù)的。(6) 會(huì)員管理設(shè)計(jì):進(jìn)行會(huì)員系統(tǒng)的設(shè)計(jì)能夠讓藥店更好的鎖定固定用戶,在此界面中,使

11、用者可以對(duì)會(huì)員信息進(jìn)行錄入,修改以及刪除。(7) 出售管理設(shè)計(jì):出售管理中能夠根據(jù)藥品ID以及藥品名稱進(jìn)行搜索,查找藥品然后售賣,并且有會(huì)員檢測(cè)機(jī)制,當(dāng)輸入正確的會(huì)員ID后檢測(cè)然后進(jìn)行打折。(8) 有效期查詢?cè)O(shè)計(jì):能夠?qū)?kù)存中的藥品進(jìn)行有效期查詢,當(dāng)有效期低于一定的時(shí)間就會(huì)在此窗口顯示出來(lái),并且支持對(duì)即將過(guò)期藥品和已經(jīng)過(guò)期的藥品進(jìn)行銷毀處理。(9) 盈利查詢?cè)O(shè)計(jì):能夠?qū)σ?guī)定時(shí)間范圍的訂單進(jìn)行查詢,并且計(jì)算總定價(jià)、總售價(jià)和總盈利。能夠詳細(xì)顯示藥品批次ID、購(gòu)買人的ID,時(shí)間、數(shù)量。如果是非會(huì)員就會(huì)顯示出為匿名,默認(rèn)是對(duì)所有的訂單進(jìn)行計(jì)算查詢(10) 缺貨查詢?cè)O(shè)計(jì):自動(dòng)對(duì)售賣過(guò)程中的藥品進(jìn)行統(tǒng)計(jì),

12、當(dāng)數(shù)量低于一定數(shù)值的會(huì)自動(dòng)在缺貨單中顯示出來(lái),并且顯示目前狀態(tài),如果進(jìn)行進(jìn)貨后會(huì)將未處理改為已處理。(11) 退出功能設(shè)計(jì):此功能比較簡(jiǎn)單,僅僅在彈出警告窗口后退出。第4章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1模塊流程圖根據(jù)系統(tǒng)需求做出的模塊之間的大致流程圖如下4-1所示。添加修改入庫(kù)會(huì)員出售有效期盈利缺貨藥品管理庫(kù)存管理銷售管理查詢管理 登錄主界面圖4-14.2界面效果圖及代碼(1)藥店登錄界面如圖4-1 圖4-1主要代碼如下private void loginActionPerformed(ActionEvent evt) String userName=this.UserNameTxt.getText(

13、);String password=new String(this.UserPawTxt.getPassword();if(StringUtil.isEmpty(userName)JOptionPane.showMessageDialog(null, "用戶名不能為空!");return;if(StringUtil.isEmpty(password)JOptionPane.showMessageDialog(null, "密碼不能為空!");return;User user=new User(userName,password);Connection c

14、on=null;try con=dbUtil.getCon();User currentUser=userDao.login(con, user);if(currentUser!=null)dispose();new MainFrm().setVisible(true);elseJOptionPane.showMessageDialog(null, "用戶名或者密碼錯(cuò)誤!"); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finallytry dbUtil.closeCon

15、(con); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();(2)藥店主界面如圖4-2 圖4-2(3)入庫(kù)界面如圖4-3 圖4-3主要代碼:private void DrugAddAction(ActionEvent e)Connection con=null;String dName=dNameTxt.getText();String dClass=dClassTxt.getText();String sName=sNameTxt.getText();String dNo="&quo

16、t;int a = 0;DrugDao drugDao = new DrugDao();Drug drug=new Drug(dNo,dName,dClass,sName);try con=dbUtil.getCon();a=drugDao.insert(con,drug); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();if(a=1)JOptionPane.showConfirmDialog(null, "添加成功");resetValue();elseJOptionP

17、ane.showConfirmDialog(null, "添加失敗");(4)添加藥品如圖4-4 圖4-4(5)修改藥品如圖4-5 圖4-5主要代碼如下:private void drugAddActionPerformed(ActionEvent evt) throws SQLException String pQuantity=this.pQuantityTxt.getText();String dBidd=this.dBiddTxt.getText();String dprice=this.dPriceTxt.getText();String out_date=thi

18、s.out_dateTxt.getText();int row=drugTable.getSelectedRow();String dno=(String)drugTable.getValueAt(row, 0);String dname=(String)drugTable.getValueAt(row, 1);String dclass=(String)drugTable.getValueAt(row, 2);String sname=(String)drugTable.getValueAt(row, 3);if(StringUtil.isEmpty(pQuantity)JOptionPan

19、e.showMessageDialog(null, "數(shù)量不能為空!");return;if(StringUtil.isEmpty(dBidd)JOptionPane.showMessageDialog(null, "進(jìn)價(jià)不能為空!");return;if(StringUtil.isEmpty(dprice)JOptionPane.showMessageDialog(null, "售價(jià)不能為空!");return;DrugStore drugStore=new DrugStore(dno,dname,dclass,sname,Inte

20、ger.parseUnsignedInt(pQuantity),Float.parseFloat(dBidd),Float.parseFloat(dprice),out_date,mName);Connection con=null;trycon=dbUtil.getCon();int addNum=drugStoreDao.add(con, drugStore);if(addNum=1)JOptionPane.showMessageDialog(null, "入庫(kù)成功!");resetValue();elseJOptionPane.showMessageDialog(nu

21、ll, "入庫(kù)失??!");catch(Exception e)e.printStackTrace();JOptionPane.showMessageDialog(null, "入庫(kù)失??!");finallytry dbUtil.closeCon(con); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();(6)會(huì)員管理界面如圖4-6 圖4-6主要代碼如下:private void custromerAddActionEvent(ActionEvent e)C

22、onnection con=null;String cNo=this.cNoTxt.getText();String cName=this.cNameTxt.getText();String cAge=this.cAgeTxt.getText();String cPhone=this.cPhoneTxt.getText();String cEmail=this.cEmailTxt.getText();String cAddress=this.cAddressTxt.getText();Customer customer = new Customer(cNo,cName,Integer.pars

23、eInt(cAge),cPhone,cEmail,cAddress);try con=dbUtil.getCon();int addNum=customerDao.add(con, customer);if(addNum=1)JOptionPane.showMessageDialog(null, "添加成功!");resetValue();elseJOptionPane.showMessageDialog(null, "添加失敗!"); catch (Exception e1) / TODO Auto-generated catch blocke1.pr

24、intStackTrace();(7)出售管理界面如圖4-7 圖4-7主要代碼如下:/監(jiān)聽會(huì)員信息事件private void isNotUser1(ActionEvent e2) int row=drugTable.getSelectedRow();Connection con=null;String cNo=this.cNoTxt.getText();custormerDao=new CustomerDao();Customer customer =new Customer(cNo);try con=dbUtil.getCon(); catch (Exception e) / TODO A

25、uto-generated catch blocke.printStackTrace();if(custormerDao.IsCustomer(con,customer)userTxt.setText("是");per=(float) 0.95;elseper=1;userTxt.setText("否");return;/計(jì)算總金額事件private void drugActionMoney(MouseEvent arg0)String cmuantity=this.cMuantityTxt.getText();if(StringUtil.isNotEmpty(this.cMuantityTxt.getText()if(Integer.parseInt(cmuantity)<=Integer.parseInt(cM

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論