超市標準管理系統(tǒng)java程序設計方案報告圖文完整_第1頁
超市標準管理系統(tǒng)java程序設計方案報告圖文完整_第2頁
超市標準管理系統(tǒng)java程序設計方案報告圖文完整_第3頁
超市標準管理系統(tǒng)java程序設計方案報告圖文完整_第4頁
超市標準管理系統(tǒng)java程序設計方案報告圖文完整_第5頁
已閱讀5頁,還剩139頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

xx學院程序設計課程設計(C)報告項目名稱:超市項目管理系統(tǒng)學生姓名:xxx學號:xxx班級:xxx指引教師:xxx日期:xxx1、項目描述超市收銀管理系統(tǒng)是一種輔助超市收銀員記錄商品以及輔助管理員記錄貨品狀況和收益狀況實用性工具。依照超市尋常管理需要,超市收銀系統(tǒng)應當涉及基本檔案管理、商品庫存管理、會員管理、交易管理等四大功能,其中基本檔案管理涉及收銀員信息管理和商品信息管理;商品庫存管理涉及商品入庫管理和商品出庫管理;會員管理涉及會員信息管理和積分管理;交易管理涉及交易信息管理和銷售信息管理。2、需求分析(1)界面需求軟件操作界面是圖形界面還是字符界面,以簡潔清晰、操作以便為首要目的?;诔惺浙y基本業(yè)務分析,和必要解決兩大難題,針對性地制定出所要設計小型超市收銀管理系統(tǒng)所需要系統(tǒng)功能,如下七點:(1)設計軟件提供顧客登陸界面,為顧客提供賬號密碼管理工具,詳細為添加顧客、刪除顧客、修改顧客名、密碼。(2)設計軟件將對單個商品進庫產品進行管理,對進庫清單進行錄入、修改、查詢和記錄,也提供出庫功能,對出庫清單進行錄入和查詢。(3)設計軟件將能對商品信息狀況進行修改操作和查詢操作,能設立庫存商品單價,能對庫存商品總值進行記錄。(4)設計軟件能對超市會員信息進行管理,詳細為添加會員信息、刪除員工信息、修改會員信息操作、查詢會員信息操作。(5)設計軟件能對每單生意信息進行管理,詳細為每單生意信息添加、查詢、修改。(2)數據需求需要輸入什么類型數據、什么值數據,即數據模型建立。是由項目內容及軟件設計者決定。以數據描述清晰、數據意義完整為目的。出庫表:入庫表:收銀員表:商品信息表:會員表:(3)功能需求系統(tǒng)應當具備哪些功能,與項目描述以及設計者理解直接有關。對普通管理軟件來說,必要涉及數據輸入輸出、增刪改查、排序、記錄等功能。請按實際項目需求填寫用例。普通按動作(動詞)成果(名詞)形式書寫。1、登錄功能:Action1:輸入庫里存有顧客和密碼,輸入對的,登錄成功,輸入錯誤,登錄失??;Action2:點擊重置按鈕,刷新顧客名和密碼。2、主窗體菜單功能Action1:下拉菜單模塊,菜單模塊里面有子菜單。分為,收銀員信息、收銀員信息管理;商品、商品信息管理;商品出入庫管理,商品交易管理;會員信息菜單、會員信息管理菜單;設立菜單、聯(lián)系咱們選項、退出系統(tǒng)選項。3、收銀員添加信息功能Action1:填入收銀員編號、姓名、密碼,信息入庫,并可做登錄名和密碼。4、收銀員信息排列Action1:可以列出收銀員名單、點擊表格某一行,可以顯示對于信息填入相應文本里。5、收銀員信息查詢Action1:可以通過對姓名模糊查詢,查詢到收銀員。6、收銀員信息修改Action1:通過修改相應得文本框,然后點擊修改按鈕完畢信息修改。7、商品添加信息功能Action1:填入商品編號、名稱等,信息入庫,并可做登錄名和密碼。8、商品信息排列Action1:可以列出商品名單、點擊表格某一行,可以顯示對于信息填入相應文本里。9、商品信息查詢Action1:可以通過對商品名稱模糊查詢,查詢到商品。10、商品信息修改Action1:通過修改相應得文本框,然后點擊修改按鈕完畢信息修改。11、商品交易添加信息功能Action1:可以通過商品編號確認商品,然后輸入交易數量,自動生成價格收益等。Action2:商品庫存會相相應減少。12、商品交易信息排列Action1:可以列出商品名單、點擊表格某一行,可以顯示對于信息填入相應文本里。3、概要設計(總體設計)3.1功能模塊設計:超市收銀管理系統(tǒng)是為輔助超市收銀員尋常管理而設計,本系統(tǒng)功能成果圖如下:本系統(tǒng)共涉及四大模塊,分別是基本檔案管理模塊、商品庫存管理模塊、會員管理模塊、交易管理模塊。每個模塊功能如下:1.基本檔案管理模塊功能:(1)實現(xiàn)收銀員信息查詢、增長、刪除、修改功能。(2)實現(xiàn)商品信息查詢,涉及增長、刪除、修改功能。2.商品庫存管理模塊功能:(1)實現(xiàn)銷售商品入庫信息增長、刪除、修改。(2)實現(xiàn)銷售商品出庫信息增長、刪除、修改。3.會員管理模塊功能:(1)實現(xiàn)會員信息查詢、增長、刪除、修改功能。(2)實現(xiàn)會員積分信息查詢、增長、刪除、修改功能。4.交易管理模塊功能:(1)實現(xiàn)每筆交易信息查詢、增長、刪除、修改功能。(模仿購物)3.2數據庫設計:1、把收銀員信息當做一種實體話,其屬性關系有收銀員編號、收銀員姓名。2、把商品信息當做一種實體話,其屬性關系有商品編號、商品名稱、商品類別、商品數量、商品進價、商品售價。3、把商品出庫信息當做一種實體話,其屬性關系有出庫交易單編號、商品出貨數量、會員卡編號、收銀員編號、商品編號、總收入。4、把商品入庫信息當做一種實體話,其屬性關系有入庫交易單編號、入庫商品編號、入庫商品數量、總支出。5、把會員信息當做一種實體話,其屬性關系有會員卡ID、會員姓名、會員消費數量、會員積分。總體E-R圖如下:4、詳細設計以概要設計為基本,每個功能模塊用一種或各種函數來實現(xiàn),書寫每個函數算法,規(guī)劃各函數之間調用關系。詳情請見數據庫構成圖以及功能分析模塊。5、程序編輯和調試嚴格按照詳細設計中算法,編寫各函數代碼,同步進行單個函數編譯、鏈接、運營、修改;集成編譯、鏈接、運營、修改。這一階段,學生也許以為是最重要、最漫長,實則否則。真正重要是前面概要設計和詳細設計,若它們設計不完善、不精確,將導致編碼、編譯、調試漏洞百出、顧此失彼。本人采用是javaswing構圖工具,雖然減少了許多代碼量,但也帶來了某些問題,如,功能按鈕代碼生成后與自己編程習慣不同,導致靜態(tài)函數調用問題始終報錯。6、測試軟件測試目在于檢查程序與否對的、能否達到預期目;是盡量地發(fā)現(xiàn)程序中存在錯誤并改正,不是也不也許發(fā)現(xiàn)程序中存在所有錯誤。必然需要一定量數據作為測試實驗品。叫測試用例。測試用例是一組條件或變量(輸入數據和盼望成果集合),測試者依照它來擬定應用軟件或軟件系統(tǒng)與否對的工作。測試用例是通過實驗達到引起構件失效和發(fā)現(xiàn)構件故障目。擬定軟件程序或系統(tǒng)與否通過測試辦法叫做測試準則。一種測試用例有5個屬性:名稱、可執(zhí)行途徑全稱、輸入數據、測試預言(盼望測試成果與輸出成果比較)和日記(測試產生輸出)。測試用例常從如下幾方面來選?。簲祿愋万炞C,數據邊界值、非法值,選取構造中各分支都要執(zhí)行到數據、循環(huán)初終值等。測試活動技術重要涉及:構件檢查、可用性測試、單元測試、集成測試和系統(tǒng)測試。構件檢查是通過對源代碼手工檢查發(fā)現(xiàn)單個構件中故障。可用性測試用于找浮現(xiàn)實系統(tǒng)做了什么和顧客盼望值之間差別。單元測試通過測試單個單元辦法以發(fā)現(xiàn)故障。集成測試通過集成各種單元來查找故障。系統(tǒng)測試關注整個系統(tǒng)、系統(tǒng)功能和非功能需求以及目的環(huán)境等。此處填寫程序測試測試用例。程序中哪些地方需要完善。登錄界面:輸入顧客名和密碼。主界面:登錄成功,進入主界面。主界面菜單顯示:輸入收銀員編號、姓名、密碼,進行注冊。信息添加成功(注冊成功)收銀員信息查詢界面:點擊菜單中信息,會進行自動填充到輸入欄中,以便修改。為了避免誤操作,修改會進行提示。修改成功!通過名字可以進行模糊查詢商品基本信息填寫界面:信息添加成功!商品查詢,同樣是按商品名稱進行模糊查詢。作者信息簡介窗口。會員信息添加。商品入庫。入庫成功,列表值修改。商品出庫,但由于輸入出庫數量超過庫存,因此異常。自動算出商品交易總額,自動顯示庫存量。商品列表庫存值修改成功退出商品,同樣,為了避免誤操作,退出系統(tǒng)會有相應提示。7、總結簡介和總結在課程設計階段學習得失、感悟、后續(xù)工作。本次只設計了短短兩周。雖說時間很短,但其中每一天都使我收獲很大、受益匪淺,它不但極大地加深了我對某些理論知識理解,不但使我在理論上對Java有了全新結識,在實踐能力上也得到了提高,真正地做到了學以致用,更學到了諸多做人道理,對我來說受益非淺。這也是第一次讓我親身感受到理論與實際相結合,讓我大開眼界。也是對此前所學知識一種初審吧!這次實訓對于我后來學習、找工作也是受益菲淺,在短短三周中相信這些寶貴經驗會成為我此后成功重要基石;這對于我學業(yè),乃至我后來人生影響無疑是極其深遠。這次完畢較為完善小項目雖然是咱們第一次,但是人們體現(xiàn)都不錯,由此看來,咱們在進入大學這幾種月里學到了不少專業(yè)知識,只是自己感覺不到而已。對于所學專業(yè),咱們不能過于自卑和擔憂,否則會妨礙自己學習。對于我來說,這兩周是學習重要環(huán)節(jié),有助于咱們鞏固專業(yè)知識、掌握工作技能,提高就業(yè)籌碼。我把本次為期兩周課程設計看作是“理論與實踐相結合橋梁”。通過這周實訓和學習,我懂得了本次實訓目,也清晰當前自己局限性,那就是缺少相應知識與經驗,對所學專業(yè)知識不可以較好地運用于實踐操作。正所謂“百聞不如一見”,通過這次自身切身實踐,我才深切地理睬到了“走出課堂,投身實踐”必要性。平時,咱們只能在課堂上與教師一起紙上談兵,思維結識基本上只是局限于課本范疇之內,也許就是這個因素就導致咱們對專業(yè)知識結識片面性,使得咱們只知因此然,而不知其之因此然!限制了咱們網絡知識水平提高。但是課本上所學到理論知識是為咱們實際操作指明了方向、提供相應辦法,真正職業(yè)技巧是要咱們從后來實際工作中慢慢汲取。而針對實際操作中遇到某些特殊問題,咱們不能拘泥于課本,不可純粹地“以本為本”。在這次課程設計中我得到了許多收獲,我第一次體會到軟件工程師工作是什么樣子,也發(fā)現(xiàn)了諸多不曾注意到細節(jié),在實訓演示過程中,我對作為一名軟件工程師注意事項應當從小事做起、從基本做起。把職業(yè)能力訓練與職業(yè)素質有機結合起來。相信這對我接下來學習專業(yè)知識會起到很有效協(xié)助,在接下來幾種月里,我會以作為一名職業(yè)人身份在這幾種方面規(guī)定自己,嚴格自我,向軟件工程師接近。而通過這次實訓,讓我明白如果是一種完整項目開發(fā),必要需要她人協(xié)助來完畢。因而不論在工作中還是在生活中要和教師、同窗保持良好關系是很重要。做事一方面要學做人,要明白做人道理,如何與人相處是當代社會做人一種最基本問題。對于自己這樣一種即將步入社會人來說,需要學習東西諸多,她們就是最佳教師,正所謂“三人行,必有我?guī)煛保蹅兛梢韵蛩齻儗W習諸多知識、道理。實訓結束了感覺雖然辛苦,但很充實。我想這就是Java工程師工作。我也體會到軟件工程師成功地完畢一種任務那種興奮,那種小有成就感覺是只有置身其中人才干體會??傊?,這次實訓為我提供了與眾不同窗習辦法和學習體會,從課本中面對現(xiàn)實,為我將來走上社會打下了夯實基本。作為在校計算機專業(yè)學生,當前我能做就是吸取知識,提高自身綜合素質,提高自己職業(yè)技能,自己有了能力,屆時候才會是“車到山前必有路”。我相信在不久將來,會有屬于我自己一片天空。8、附件:com.dao包packagecom.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importcom.model.Cashier;/***收銀員登錄驗證。*@authorcsp-pc**/publicclassCashierDao{ publicCashierlogon(Connectioncon,Cashiercashier)throwsException{ CashierresultCashier=null; Stringsql="select*fromcashierwherename=?andpassword=?";//查詢收銀員姓名和密碼 PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,cashier.getName()); pstmt.setString(2,cashier.getPassword()); ResultSetrs=pstmt.executeQuery(); if(rs.next()){ resultCashier=newCashier(sql,sql); resultCashier.setName(rs.getString("name")); resultCashier.setPassword(rs.getString("password"));//得到姓名和密碼 }else{ } returnresultCashier; }}packagecom.dao;importjava.sql.*;importcom.model.*;importcom.util.StringUtil;/***收銀員信息dao*@authorcsp-pc**/publicclassCashierinforDao{ publicintcashierinforAdd(Connectioncon,Cashierinforcashierinfor)throwsException{ Stringsql="insertintocashiervalue(?,?,?)"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setInt(1,cashierinfor.getNumber());//這個數據類型需要再考慮考慮。 pstmt.setString(2,cashierinfor.getName()); pstmt.setString(3,cashierinfor.getPassword()); returnpstmt.executeUpdate(); } publicResultSetCashierinforList(Connectioncon,Cashierinforcashierinfor)throwsException{ StringBuffersb=newStringBuffer("select*fromcashier"); if(StringUtil.isNotEmpty(cashierinfor.getName())){ sb.append("andnamelike'%"+cashierinfor.getName()+"%'"); } PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and","where")); //典型消息查詢算法。 returnpstmt.executeQuery(); } publicintcashierinfordelete(Connectioncon,Stringnumber)throwsException{ Stringsql="deletefromcashierwherenumber=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,number); returnpstmt.executeUpdate(); } publicintcashierinformodify(Connectioncon,Cashierinforcashierinfor)throwsException{ Stringsql="updatecashiersetname=?,password=?wherenumber=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,cashierinfor.getName()); pstmt.setString(2,cashierinfor.getPassword()); pstmt.setInt(3,cashierinfor.getNumber()); returnpstmt.executeUpdate(); } }packagecom.dao;importjava.sql.*;importcom.model.Cashierinfor;importcom.model.Goods;importcom.util.StringUtil;/***該類實現(xiàn)商品添加、修改、查找、刪除dao。*@authorcsp-pc**/publicclassGoodsDao{ publicintgoodsAdd(Connectioncon,Goodsgoods)throwsException{ Stringsql="insertintogoodsvalue(?,?,?,?,?,?)";//數據庫插入商品信息 PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setInt(1,goods.getNumber()); pstmt.setString(2,goods.getName()); pstmt.setString(3,goods.getKind()); pstmt.setInt(4,goods.getAmount()); pstmt.setInt(5,goods.getWprice()); pstmt.setInt(6,goods.getRprice()); returnpstmt.executeUpdate(); } publicResultSetGoodsList(Connectioncon,Goodsgoods)throwsException{ StringBuffersb=newStringBuffer("select*fromgoods");//查詢 if(StringUtil.isNotEmpty(goods.getName())){ sb.append("andnamelike'%"+goods.getName()+"%'");//按商品名進行模糊查詢 } PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and","where")); returnpstmt.executeQuery(); } publicintgoodsdelete(Connectioncon,Stringnumber)throwsException{ Stringsql="deletefromgoodswherenumber=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,number);//刪除商品信息 returnpstmt.executeUpdate(); } publicintgoodsmodify(Connectioncon,Goodsgoods)throwsException{ Stringsql="updategoodssetname=?,kind=?,amount=?,wholesale_price=?,retail_price=?wherenumber=?"; //修改商品信息 PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,goods.getName()); pstmt.setString(2,goods.getKind()); pstmt.setInt(3,goods.getAmount()); pstmt.setInt(4,goods.getWprice()); pstmt.setInt(5,goods.getRprice()); pstmt.setInt(6,goods.getNumber()); returnpstmt.executeUpdate(); } publicResultSetGoodsid(Connectioncon,Goodsgoods)throwsException{ Stringsql="select*fromgoodswherenumber=?";//通過id查找所在商品相應行,擬定詳細商品 PreparedStatementpstmt=con.prepareStatement(sql); if(StringUtil.isNotEmpty(Integer.toString(goods.getNumber()))){ pstmt.setInt(1,goods.getNumber()); } returnpstmt.executeQuery(); }}packagecom.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importcom.model.Businessout;/***出貨dao類*@authorcsp-pc**/publicclassBusinessDao{ publicintb_outAdd1(Connectioncon,Businessoutbusinessout)throwsException{ Stringsql="insertintobusiness_outvalue(null,?,?,?,?,?)";//數據庫插入語句 PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setInt(1,businessout.getGoods_amount()); pstmt.setInt(2,businessout.getMember_id()); pstmt.setInt(3,businessout.getCashier_id()); pstmt.setInt(4,businessout.getGoods_id()); pstmt.setInt(5,businessout.getMoney_put());//得到相應出庫信息值。 returnpstmt.executeUpdate(); }}packagecom.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importcom.model.Member;/***會員信息dao*@authorcsp-pc**/publicclassMemberDao{ publicintaddMember(Connectioncon,Membermember)throwsException{ Stringsql="insertintomember(id,name)value(?,?)"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setInt(1,member.getId()); pstmt.setString(2,member.getName()); returnpstmt.executeUpdate(); }}Com.model包packagecom.model;/***商品出庫交易模型。*@authorcsp-pc**/publicclassBusinessout{ privateintid; privateintgoods_amount; privateintmember_id; privateintcashier_id; privateintgoods_id; privateintmoney_put; publicintgetId(){ returnid; } publicintgetGoods_amount(){ returngoods_amount; } publicintgetMember_id(){ returnmember_id; } publicintgetCashier_id(){ returncashier_id; } publicintgetGoods_id(){ returngoods_id; } publicintgetMoney_put(){ returnmoney_put; } publicvoidsetId(intid){ this.id=id; } publicvoidsetGoods_amount(intgoods_amount){ this.goods_amount=goods_amount; } publicvoidsetMember_id(intmember_id){ this.member_id=member_id; } publicvoidsetCashier_id(intcashier_id){ this.cashier_id=cashier_id; } publicvoidsetGoods_id(intgoods_id){ this.goods_id=goods_id; } publicvoidsetMoney_put(intmoney_put){ this.money_put=money_put; } publicBusinessout(intgoods_amount,intgoods_id){ super(); this.goods_amount=goods_amount; this.goods_id=goods_id; }}packagecom.model;/***顧客登錄模型。*@authorcsp-pc**/publicclassCashier{ privateintid; privateStringName; privateStringPassword; publicCashier(Stringname,Stringpassword){ super(); Name=name; Password=password; } publicintgetId(){ returnid; } publicStringgetName(){ returnName; } publicStringgetPassword(){ returnPassword; } publicvoidsetId(intid){ this.id=id; } publicvoidsetName(Stringname){ Name=name; } publicvoidsetPassword(Stringpassword){ Password=password; } }packagecom.model;/***收銀員基本信息模型。*@authorcsp-pc**/publicclassCashierinfor{ privateintnumber; privateStringname; privateStringpassword; publicCashierinfor(){ super(); //TODO自動生成構造函數存根 } publicCashierinfor(intnumber,Stringname,Stringpassword){ super(); this.number=number; =name; this.password=password; } publicintgetNumber(){ returnnumber; } publicStringgetName(){ returnname; } publicStringgetPassword(){ returnpassword; } publicvoidsetNumber(intnumber){ this.number=number; } publicvoidsetName(Stringname){ =name; } publicvoidsetPassword(Stringpassword){ this.password=password; } }packagecom.model;/***商品基本信息模型。*@authorcsp-pc**/publicclassGoods{ privateintnumber; privateStringname; privateStringkind; privateintamount; privateintwprice; privateintrprice; publicGoods(){ super(); //TODO自動生成構造函數存根 } publicGoods(intnumber,Stringname,Stringkind,intamount,intwprice,intrprice){ super(); this.number=number; =name; this.kind=kind; this.amount=amount; this.wprice=wprice; this.rprice=rprice; } publicintgetNumber(){ returnnumber; } publicStringgetName(){ returnname; } publicStringgetKind(){ returnkind; } publicintgetAmount(){ returnamount; } publicintgetWprice(){ returnwprice; } publicintgetRprice(){ returnrprice; } publicvoidsetNumber(intnumber){ this.number=number; } publicvoidsetName(Stringname){ =name; } publicvoidsetKind(Stringkind){ this.kind=kind; } publicvoidsetAmount(intamount){ this.amount=amount; } publicvoidsetWprice(intwprice){ this.wprice=wprice; } publicvoidsetRprice(intrprice){ this.rprice=rprice; } }packagecom.model;/***會員信息模型。*@authorcsp-pc**/publicclassMember{ privateintid; privateStringname; privateintconsume; privateintintegral; publicintgetId(){ returnid; } publicStringgetName(){ returnname; } publicintgetConsume(){ returnconsume; } publicintgetIntegral(){ returnintegral; } publicvoidsetId(intid){ this.id=id; } publicvoidsetName(Stringname){ =name; } publicvoidsetConsume(intconsume){ this.consume=consume; } publicvoidsetIntegral(intintegral){ egral=integral; } publicMember(intid,Stringname){ super(); this.id=id; =name; } publicMember(){ super(); //TODO自動生成構造函數存根 }}Com.util包packagecom.util;importjava.sql.Connection;importjava.sql.DriverManager;/***數據庫連接*@authorcsp-pc**/publicclassDbUtil{ privateStringjdbcName="com.mysql.jdbc.Driver";//驅動名 privateStringdbUserName="root";//數據庫顧客名 privateStringdbPassword="";//數據庫顧客密碼 privateStringdbUrl="jdbc:mysql://localhost:3306/supermarket_manager";//詳細庫地址 publicConnectiongetCon()throwsException{ Class.forName(jdbcName); Connectioncon=DriverManager.getConnection(dbUrl,dbUserName,dbPassword); returncon; }//獲取連接 publicvoidcloseCon(Connectioncon)throwsException{ if(con!=null){ con.close(); } }//關閉連接 publicstaticvoidmain(String[]args){ DbUtildbutil=newDbUtil(); try{ dbutil.getCon(); System.out.println("數據庫連接成功!"); }catch(Exceptione){ //TODO自動生成catch塊 e.printStackTrace(); } //測試連接與否成功。 }}packagecom.util;/***判斷值與否為空。兩個工具。*@authorcsp-pc**/publicclassStringUtil{ publicstaticbooleanisEmpty(Stringstr){ if("".equals(str)||str==null){ returntrue; }else{ returnfalse; } }//判斷是空 publicstaticbooleanisNotEmpty(Stringstr){ if(!"".equals(str)&&str!=null){ returntrue; }else{ returnfalse; } }//判斷不是空。}packagecom.view;importjava.awt.BorderLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JLabel;importjava.awt.Font;importjavax.swing.ImageIcon;/***作者簡介窗口*@authorcsp-pc**/publicclassauthorFrameextendsJFrame{ privateJPanelcontentPane; /** *Launchtheapplication. */ publicstaticvoidmain(String[]args){ EventQueue.invokeLater(newRunnable(){ publicvoidrun(){ try{ authorFrameframe=newauthorFrame(); frame.setVisible(true); }catch(Exceptione){ e.printStackTrace(); } } }); } /** *Createtheframe. */ publicauthorFrame(){ setTitle("\u5173\u4E8E\u6211\u4EEC"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(100,100,450,300); contentPane=newJPanel(); contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane); contentPane.setLayout(null); JLabellabel=newJLabel("\u6E56\u5317\u6587\u7406\u5B66\u9662"); label.setIcon(newImageIcon("D:\\java\\workspace\\\u8D85\u5E02\u7BA1\u7406\u7CFB\u7EDF\\image\\book(2).png")); label.setFont(newFont("宋體",F(xiàn)ont.BOLD,18)); label.setBounds(73,10,189,49); contentPane.add(label); JLabellblNewLabel=newJLabel("\u6570\u5B66\u4E0E\u8BA1\u7B97\u673A\u79D1\u5B66\u5B66\u9662"); lblNewLabel.setIcon(newImageIcon("D:\\java\\workspace\\\u8D85\u5E02\u7BA1\u7406\u7CFB\u7EDF\\image\\book(1).png")); lblNewLabel.setFont(newFont("宋體",F(xiàn)ont.BOLD,15)); lblNewLabel.setBounds(73,69,289,35); contentPane.add(lblNewLabel); JLabellblNewLabel_1=newJLabel("\u8F6F\u5DE51511"); lblNewLabel_1.setIcon(newImageIcon("D:\\java\\workspace\\\u8D85\u5E02\u7BA1\u7406\u7CFB\u7EDF\\image\\me.png")); lblNewLabel_1.setFont(newFont("宋體",F(xiàn)ont.BOLD,13)); lblNewLabel_1.setBounds(73,114,144,15); contentPane.add(lblNewLabel_1); JLabellabel_1=newJLabel("\u9648\u4ED5\u9E4F"); label_1.setFont(newFont("宋體",F(xiàn)ont.BOLD,13)); label_1.setIcon(newImageIcon("D:\\java\\workspace\\\u8D85\u5E02\u7BA1\u7406\u7CFB\u7EDF\\image\\userName.png")); label_1.setBounds(73,149,94,15); contentPane.add(label_1); JLabellabel_2=newJLabel("117457"); label_2.setIcon(newImageIcon("D:\\java\\workspace\\\u8D85\u5E02\u7BA1\u7406\u7CFB\u7EDF\\image\\modify.png")); label_2.setFont(newFont("宋體",F(xiàn)ont.BOLD,13)); label_2.setBounds(73,182,121,15); contentPane.add(label_2); }}packagecom.view;importjava.awt.EventQueue;importjavax.swing.JInternalFrame;importjavax.swing.JList;importjavax.swing.JOptionPane;importjavax.swing.JLabel;importjavax.swing.JTextField;importjavax.swing.table.DefaultTableModel;importcom.dao.BusinessDao;importcom.dao.GoodsDao;importcom.model.Businessout;importcom.model.Goods;importcom.util.DbUtil;importcom.util.StringUtil;importjavax.swing.JButton;importjavax.swing.JTable;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.ResultSet;importjava.util.Vector;importjava.awt.event.ActionEvent;/***商品出庫鏈接窗體。*@authorcsp-pc**/publicclassB_outInterFrmextendsJInternalFrame{ privateJTextFieldoutamountTxt; privateJTextFieldgoodsidTxt; privateJLabellblNewLabel; privateJTextFieldmeber_idTxt; privateJTextFieldcashier_idTxt; privateJLabellabel_2; privateJLabellabel_4; privateJTextFieldmoney_putTxt; privateJButtonJb_outconfirm; privateJButtonJb_outsetconfirm; /** *Launchtheapplication. */ DbUtildbUtil=newDbUtil(); BusinessDaobusinessDao=newBusinessDao(); GoodsDaogoodsDao=newGoodsDao(); privateJTextFieldramountTxt; publicstaticvoidmain(String[]args){ EventQueue.invokeLater(newRunnable(){ publicvoidrun(){ try{ B_outInterFrmframe=newB_outInterFrm(); frame.setVisible(true); }catch(Exceptione){ e.printStackTrace(); } } }); } /** *Createtheframe. */ publicB_outInterFrm(){ setTitle("\u5546\u54C1\u51FA\u5E93\u7BA1\u7406"); setIconifiable(true); setClosable(true); setBounds(100,100,450,360); getContentPane().setLayout(null); JLabellabel=newJLabel("\u51FA\u5E93\u6570\u91CF\uFF1A"); label.setBounds(230,67,66,15); getContentPane().add(label); outamountTxt=newJTextField(); outamountTxt.setBounds(294,64,112,21); getContentPane().add(outamountTxt); outamountTxt.setColumns(10); JLabellabel_1=newJLabel("\u5546\u54C1\u7F16\u53F7\uFF1A"); label_1.setBounds(24,67,66,15); getContentPane().add(label_1); goodsidTxt=newJTextField(); goodsidTxt.setBounds(88,64,112,21); getContentPane().add(goodsidTxt); goodsidTxt.setColumns(10); lblNewLabel=newJLabel("\u4F1A\u5458\u7F16\u53F7\uFF1A"); lblNewLabel.setBounds(24,220,66,15); getContentPane().add(lblNewLabel); meber_idTxt=newJTextField(); meber_idTxt.setBounds(88,217,112,21); getContentPane().add(meber_idTxt); meber_idTxt.setColumns(10); cashier_idTxt=newJTextField(); cashier_idTxt.setBounds(307,217,99,21); getContentPane().add(cashier_idTxt); cashier_idTxt.setColumns(10); label_2=newJLabel("\u6536\u94F6\u5458\u7F16\u53F7\uFF1A"); label_2.setBounds(227,220,86,15); getContentPane().add(label_2); label_4=newJLabel("\u76C8\u5229\u663E\u793A\uFF1A"); label_4.setBounds(24,164,68,15); getContentPane().add(label_4); money_putTxt=newJTextField(); money_putTxt.setBounds(91,161,109,21); getContentPane().add(money_putTxt); money_putTxt.setColumns(10); Jb_outconfirm=newJButton("\u786E\u5B9A"); Jb_outconfirm.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEventarg0){ Stringgoodsid=goodsidTxt.getText(); Stringoutamount=outamountTxt.getText(); intgi=Integer.parseInt(goodsid); intoi=Integer.parseInt(outamount); if(StringUtil.isEmpty(goodsid)){ JOptionPane.showMessageDialog(null,"商品編號不能為空!"); return; } if(StringUtil.isEmpty(outamount)){ JOptionPane.showMessageDialog(null,"商品數量不能為空!"); return; } Businessoutbusinessout=newBusinessout(gi,oi); Connectioncon=null; try{ con=dbUtil.getCon(); Goodsgoods=newGoods(); goodsDao.Goodsid(con,goods); intwprice=goods.getWprice(); intrprice=goods.getRprice(); intgoodsmoney=rprice-wprice; intmoney_put=goodsmoney*oi; money_putTxt.setText(Integer.toString(money_put)); intn=businessDao.b_outAdd1(con,businessout); }catch(Exceptione){ //TODO自動生成catch塊 JOptionPane.showMessageDialog(null,"異常,商品賺錢計算失?。?); e.printStackTrace(); }finally{ try{ dbUtil.closeCon(con); }catch(Exceptione){ //TODO自動生成catch塊 e.printStackTrace(); } } } }); Jb_outconfirm.setBounds(313,108,93,23); getContentPane().add(Jb_outconfirm); Jb_outsetconfirm=newJButton("\u786E\u8BA4\u8BB0\u5F55\u4EA4\u6613"); Jb_outsetconfirm.setBounds(294,279,117,23); getContentPane().add(Jb_outsetconfirm); JLabellblNewLabel_1=newJLabel("\u5E93\u5B58\u6570\u91CF:"); lblNewLabel_1.setBounds(230,164,54,15); getContentPane().add(lblNewLabel_1); ramountTxt=newJTextField(); ramountTxt.setBounds(295,161,111,21); getContentPane().add(ramountTxt); ramountTxt.setColumns(10); }}packagecom.view;importjava.awt.EventQueue;importjavax.swing.JInternalFrame;importjavax.swing.JLabel;importjavax.swing.JTextField;importjavax.swing.JButton;/***商品進庫鏈接窗體。*@authorcsp-pc**/publicclassB_putInterFrmextendsJInternalFrame{ privateJTextFieldtextField_1; privateJTextFieldtextField_2; privateJTextFieldtextField_3; /** *Launchtheapplication. */ publicstaticvoidmain(String[]args){ EventQueue.invokeLater(newRunnable(){ publicvoidrun(){ try{ B_putInterFrmframe=newB_putInterFrm(); frame.setVisible(true); }catch(Exceptione){ e.printStackTrace(); } } }); } /** *Createtheframe. */ publicB_putInterFrm(){ setIconifiable(true); setClosable(true); setBounds(100,100,450,323); getContentPane().setLayout(null); JLabellabel=newJLabel("\u5546\u54C1\u7F16\u53F7\uFF1A"); label.setBounds(28,64,70,15); getContentPane().add(label); textField_1=newJTextField(); textField_1.setBounds(93,61,112,21); getContentPane().add(textField_1); textField_1.setColumns(10); JLabellabel_1=newJLabel("\u5165\u5E93\u6570\u91CF\uFF1A"); label_1.setBounds(227,64,70,15); getContentPane().add(label_1); textField_2=newJTextField(); textField_2.setBounds(301,61,97,21); getContentPane().add(textField_2); textField_2.setColumns(10); JButtonbutton=newJButton("\u786E\u8BA4"); button.setBounds(305,111,93,23); getContentPane().add(button); JLabellabel_2=newJLabel("\u652F\u51FA\u663E\u793A\uFF1A"); label_2.setBounds(26,166,72,15); getContentPane().add(label_2); textField_3=newJTextField(); textField_3.setBounds(93,163,305,21); getContentPane().add(textField_3); textField_3.setColumns(10); JButtonbutton_1=newJButton("\u786E\u8BA4\u4EA4\u6613\u8BB0\u5F55"); button_1.setBounds(286,216,112,23); getContentPane().add(button_1); }}packagecom.view;importjava.awt.EventQueue;importjava.awt.JobAttributes;importjavax.swing.JInternalFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JTextField;importcom.dao.CashierinforDao;importcom.model.Cashierinfor;importcom.util.DbUtil;importcom.util.StringUtil;importjavax.swing.JButton;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.awt.event.ActionEvent;/***收銀員信息窗體。*@authorcsp-pc**/publicclassCashierInterFrmextendsJInternalFrame{ privateJTextFieldCashierinfornameTxt; privateJTextFieldCashierinforpasswordTxt; /** *Launchtheapplication. */ DbUtildbUtil=newDbUtil(); CashierinforDaocashierinfordao=newCashierinforDao(); privateJTextFieldCashierinfornumberTxt; /** *獲取數據庫連接。 *@paramargs */ publicstaticvoidmain(String[]args){ EventQueue.invokeLater(newRunnable(){ publicvoidrun(){ try{ CashierInterFrmframe=newCashierInterFrm(); frame.setVisible(true); }catch(Exceptione){ e.printStackTrace(); } } }); } /** *Createtheframe. */ publicCashierInterFrm(){ setIconifiable(true); setClosable(true); setTitle("\u6536\u94F6\u5458\u4FE1\u606F\u6DFB\u52A0"); setBounds(100,100,420,305); getContentPane().setLayout(null); JLabellabel=newJLabel("\u6536\u94F6\u5458\u59D3\u540D"); label.setBounds(63,85,80,15); getContentPane().add(label); CashierinfornameTxt=newJTextField(); CashierinfornameTxt.setBounds(194,82,179,21); getContentPane().add(CashierinfornameTxt); CashierinfornameTxt.setColumns(10); JLabellblNewLabel=newJLabel("\u5BC6\u7801"); lblNewLabel.setBounds(63,128,65,15); getContentPane().add(lblNewLabel); CashierinforpasswordTxt=newJTextField(); CashierinforpasswordTxt.setBounds(194,125,179,21); getContentPane().add(CashierinforpasswordTxt); CashierinforpasswordTxt.setColumns(10); JButtonJb_Add=newJButton("\u6DFB\u52A0");//添加按鈕功能。 Jb_Add.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ Stringcashierinforname=CashierinfornameTxt.getText(); Stringcashierinforpassword=CashierinforpasswordTxt.getText(); Stringcashierinfornumber=CashierinfornumberTxt.getText(); if(StringUtil.isEmpty(cashierinfornumber)){ JOptionPane.showMessageDialog(null,"員工編號不能為空!"); return; } if(StringUtil.isEmpty(cashierinforname)){ JOptionPane.showMessageDialog(null,"姓名不能為空!"); return; } if(StringUtil.isEmpty(cashierinforpassword)){ JOptionPane.showMessageDialog(null,"密碼不能為空!"); return; } inti=Integer.parseInt(cashierinfornumber); Cashierinforcashierinfor=newCashierinfor(i,cashierinforname,cashierinforpassword); Connection

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論