《java期末课程设计_超市进销存管理系统.pdf》由会员分享,可在线阅读,更多相关《java期末课程设计_超市进销存管理系统.pdf(118页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java程序设计期末课程设计报告题 目 超市进销存管理系统_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _班 级:13级信息安全班_学 号:_姓 名:_成 绩:_完成时间:2014 年 12 月目 录一、需求分析.错误!未定义书签。二、系统简介.错误!未定义书签。三.数据准备.错误!未定义书签。四、数据库结构.错误!未定义书签。五、系统实现与核心代码.错误!未定义书签。六、系统的运行结果.七、心得与体会.八、参考书目.错误!未定义书签。错误!未定义书签。错误!未定义书签。一.需求分析企业进销存管理系统的主要工作,是对企业的进货、销售和库存以信息化的方式进行管理,最大限度的减少
2、各个环境中可能出现的错误,有效减少盲目采购,降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,使企业能够合理安排进、销、存的每个关键步骤,替身企业市场竞争力。针对经营管理中存在的问题,兰州华联超市对产品的进销存合理化提出了更高的要求。通过实际调查,要求企业进销存管理系统具有以下功能。界面设计美观大方,方便、快捷、操作灵活。实现强大的进销存管理,包括基本信息、进货、销售和库存管理。能够在不同的操作系统下运行,不局限于特定的平台。提供数据库备份与恢复功能。提供库存盘点功能。提供技术支持的联系方式,可以使用邮件进行沟通,或者直接连接到技术网站。二.分析与设计:(1)功能模块划分:本进销存管理
3、系统划分为六个模块,分别为系统登陆模块,系统主窗体设计模块,进货单模块,销售单模块,库存盘点模块和数据库备份与恢复模块,数据库结构描述:企业进销存管理系统需要使用数据库存储和管理进销存过程中的所有信息,本企业进销存管理系统使用A c c e s s数据库系统作为后台数据库,数据库名称为d b _ d a t a b a s e 2 8。其中包含了 1 4张数据表、两个视图。以下是系统主要涉及的六个数据库表:1.供应商信息表:主要用于存储供应商详细信息,其结构如下表所示:U s e r 表:迪useruser_id user_name。金莉嬉password 520u_text 默正管理员单击以
4、添加,+2 root123root米0Handle 表:!安全髻告部分活动内容已被禁用.单击此处了解详细信息.启用内容表 目理耳3|3酉曲三匐handle recorduser_time user_namehandle.text第击以添加handle recordproduct_cancleproductjnproduct_old_recordproduct,outp roduct_out_recordp rod uct_r eturnproduct_scrapproduct_stock国 scrap_record目 stuffj n国 stuff_old_record用 stuff_quit
5、亘 stuff_stock国 user耳 yield_draw3 yield_off妄 yield_scrapProduct 表:!安却告事分酒沏内&已虹用.壬3了临江堂1as.22:11:2422:13:4322:13:5322:21:0422:21:1722:28:0922:28:1422:37:51rootrootadminadminrootrootadminadminrootroot登表 hjnde_cle同 prodwrt.oid.recordm prodoct.oot product.cvLrecofdZU product.rctum国 product.scrap0 product
6、tockL3 rp_record回 itufljn tuff_old_r p re xue jt.-12321一 1233,12334J12c43j3Z443KJ12qreqe.an*eoewefdJVQ2342131UIYUproduct.cllent product_na*e product.fpec product.unlter dxe er erqweqsodtdfse2342334erteveraidaid1212342122311231wrewqr01IUUYKLKYUTHRER XJKSPIC product.value prxiuct-ike ttodc.date-pr34.0
7、0 rty ry06/6/6 星期二 a956.00 ve1 0/3/4 星叫国erx445.00 se10/6/6 T W B off67.00 vee1 0/3/4 望期回jk21.00120/6/28 望明一 crc23.00 DIU0/7/1 1 呈明日UYl78.00 PO1 0/9/8 星期三UJI89.00 J I0/6/2?fW S K ll5,678.00 qeq23.00 si09/6/9 壬期二 qre9/9/3 0 星劭三s&23.00 sds4,500.00 sds0/7/10 星 H B六 sdf1 0/2/3 星期三p r o ducj c p r o duct
8、_n p r o duct _s:-p r o duct.u,p r o duct _v-p r o duct_B w eds ds d34345 121s dU IU II U UY23 U I UY UK L KY U TY T R E7 8 p ove f vo i eve i f o w ew e ws d123 br e o e ve f s ds ds ds df sds df ss df sw e w q eve r w q ew e r q ww e vqve r rf I D I I3232S D F SS DS D Dw i dw s sw e f s dsve es ds
9、 dw i e i e p s dw e o sw e do s dvl s ds t o ck _dat p r o duct 1凿击以添加)/7/7星期三df e r7/11星期日U Y U)/9/8星期三U J I)/7/7星期三s ds23 s ds 7/10 星期六 s ds56 w e r w 7/10 星期六 s ds s34 D S D )/7/3 星期六 123D F45 s d)/7/7 星期三 12334 s d)/7/9 星期五 s ds2D p*odua_old_rcord0 product_outZ peodua_out_*oZ3 product.return13
10、product_scrp斗 product.ttockZD craD_rcande21 product.*pfoduct_oW_recofd3 pcoduct.out口 product_tuff_unl,tuff_val stuff_pe,tuff_col iuff_pla,(i tock_date atuf标 Sdfdftdftd flsadf23add sftfd)10/7/2 星期五 ftdfHJH10FFDTR45 FCDFH C.0/7/1 0星期六DTvang eofevovoewovol34 sdsoTOiseo102/5/4 星期六 121Z3W4 w-口 xstuff_ID
11、6tuff_na s,uff_com.stuff_peo.,check_peo:g,uff_uni 八uff_val stu ff/p e 八uff_col gtuff_pla 8tock_dai stuff*I 23 yidd.off-Xstuff_ID-stuff_naa stuff.coa,stuff_peo check_peo stuff_unl stuff.val stuff_spe stuff_col-stuff_pla stock_dat s空表等待插入数据。三.系统详细设计文档:1.系统流程图:(1)系统功能结构图:企业进销存管理系统系统维护-4访问技术网站If联系星系支持一士
12、窗口.!一退出系统.-密眄修改一第L.与.乂一经手人设四供应府管四客户管销售排行一商品查询一的售查1价格调$gF|库存盘点,1销售单进货退1进货单一系统业务流程图:(系 统 登 录)T是 小 错 闪(0)S trin g sq l=nin s e rt in to user v a lu e s(n+vale+n,*n+users+n*,M+pwd+w 1)n;boolean bo=USeDB.U pdate(s q l);if(bo)JO ptionPane.s/i owConfirmDi a I og(lo g o _ F ram e,”用户名添力II 成功!M);)!);ad d.ad
13、d A ctio n L isten er(new A ctio n L isten er()public void actionP erform ed(A ctionEvent e)(S trin g u sers=userT ext.g etT ex t().tr im();S trin g pwd=userpwd.getPassw ord().to S trin g O .tr im();S tri ng e pwd =e nte rpa ssword.g e tP a ssword().toS tri ng().tri m();if(use rs.i sE mpty()(j a va
14、x.svzi ng.J O pti onP a ne .sh owM e ssa g e D i a log(null,必须输入用户名!,”输入用户名”,J O pti onP a ne.ERROR_MESSAGE);use rT e xt.re que stF oc us();if(pwd.i sE mpty()j a va x.swi ng.J O pti onP a ne .showMessageDialog(null,”必须输入密码!输入率码”,J O pti onP a ne.ERROR_MESSAGE);use rpwd.re que stF oc us();i f(e pwd.i
15、 sE mpty()j a va x.swi ng.J O pti onP a ne.showMessageDialog(null,第二个输入密码必须与第,个密码相同!”,”密码不一致 ,J O pti onP a ne .ERROR_MESSAGE);e nte rpa ssword.re que stF oc us();boolean b =D B U ti l.isExist(se le c t use r_ na me f rom use r wh e re use r_ na me=n+use rs+n*M);if(b)j a va x.swi ng.J O pti onP a ne
16、.sh owM e ssa g e D i a 2 og(log o_ F ra me,”用户已经存在,请另夕卜输入!”,n不能添力 口”,J O pti onP a ne.ERROR_MESSAGE);use rT e xt.se tT e xt(M);use rpwd.se tT e xt(n n);e nte rpa ssvzord.se tT e xt();use rT e xt.re que stF oc us();int va le =D B U ti l.g e t V a lue (se le c t use r_ na me f rom use r wh e re use r
17、_ na me=*+use rs+”n)+1;if(va le 0)(S tri ng sql=Hi nse rt i nto use r va lue s(M+va le+n,1n+use rs+,1n+pwd+n 1);U S e D B.U pd a te D B(sql);boolean b o=D B U ti l.isExist(se le c t use r_ na me f rom use r wh e re i d=va le,);if(b o)J O pti onP a ne.showConfirmDialog(null,用户名添力口成功!H);J O pti onP a
18、ne .showConfirmDialog(null,用户名已经存在!n);)use rT e xt.se tT e xt(*);use rpwd.se tT e xt();e nte rpa ssword.se tT e xt();use rT e xt.re que stF oc us();)!);se tupc ompone nt(a d d,0,4,1,1,true);/j a va x.swi ng.J B utton e xi t=ne w j a va x.swi ng.J B utton(log oof f);c a nc le.a d d A c ti onL i ste n
19、e r(new A c ti onL i ste ne r()public void actionPerformed(ActionEvent e2)logo_Frame.dispose();/System.exit(0););setupcomponent(cancle,1,4,1,1,true);java.awt.Dimension d=tools.getScreenSize();int width=(int)(d.getWidth()-350)/2;int height=(int)(d.getHeight()-240)/2;logo_Frame.add(jp);logo_Frame.setA
20、lwaysOnTop(true);logo_Frame.setLocation(width,height);logo_Frame.setSize(350,240);logo_Frame.pack();log。一Frame.validate();logo_Frame.setVisible(true);private void setupcomponent(JComponent component,int gridx,int gridy,int gridwidth,int ipadx,booleanfill)(final GridBagConstraints gridBagConstrains=n
21、ew GridBagConstraints();gridBagConstrains.gridx=gridx;gridBagConstrains.gridy=gridy;gridBagConstrains.insets=new java.awt.Insets(5Z 3,3Z 3);i f(gridwidthl)gridBagConstrains.gridwidth=gridwidth;i f(ipadx 0)gridBagConstrains.ipadx=ipadx;i f(fill)gridBagConstrains.fill=GridBagConstraints.HORIZONTAL;jp.
22、add(component,gridBagConstrains);)package src;import java.awt.AlphaComposite;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.RenderingHints;import java.awt.event.ActionEvent;import java
23、.awt.event.ActionListener;im port j a va.a wt.e ve nt.K e yE ve nt;im p o rt j a va.aw t.e ve nt.K e yL i ste ne r;im p o rt j a va.uti l.re g e x.M a tc h e r;im p o rt j a va.uti l.re g e x.P a tte rn;im p o rt j a va x.swi ng.J P a ne l;im p o rt j a va x.swi ng.J C ompone nt;p u b licc la s sc r
24、e a te S tuf f Q ui t I nte rF a c e e x te n d s J P a ne lp r iv a tef in a l s t a t i c lo n g seria lV e rsio n U ID2 3 0 0 0 0 1 2 3 4 2 3 L;p r iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ i d =n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ na me =n u ll;p r iv a tej a va x.s
25、wi ng.J T e xtF i e ld stuf f _ c ompa ny=n u ll;p r iv a tej a va x.swi ng.J T e xtF i e lds tu ff_ p e o p le =n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld c h e c k _ pe ople =n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ uni t=n u ll;p r iv a tej a va x.swi ng.J T e xtF i e l
26、d stuf f _ va lue =n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ spe c =n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ c olor=n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ pla c e =n u ll;p r iv a tej a va x.swi ng.J T e xtF i e ld stoc k _ d a te =n u ll;p r
27、 iv a tej a va x.swi ng.J T e xtF i e ld stuf f _ te xt=n u ll;p r iv a tej a va x.swi ng.J B uttone nte r=n u ll;p r iv a tej a va x.swi ng.J B uttonc le a n 二 n u ll;p r iv a tej a va x.swi ng.J B uttonc a nc le =n u ll;p r iv a teS tri ng sql=n u ll;p u b lic c re a te S tuf f Q ui tlnte rF a c e
28、()/T O D O 自动生成构造函数存根t h i s.se tL a yout(new G ri d B a g L a yout();t h i s.se tB a c k g round(j a va.a wt.C olor.PINK);j a va x.swi ng.J L a b e l stuf f _ i d _ la b e l=ne w j a va x.swi ng.J L a b e l(编号:”);se tupc ompone nt(stuf f _ i d _ la b e l,0,0,1,1,t r u e);stuf f _ i d =new j a va x.
29、swi ng.J T e xtF i e ld(1 0);stuf f _ i d.re que stF oc us();stuf f _ i d.a d d K e yL i ste ne r(ne w K e yL i ste ne r()(p u b lic v o id k e yR e le a se d(K e yE ve nt e)i f(e.g e tK e yC h a r()=K e yE ve nt.VK_ENTER)&(stuf f _ i d.g e tT e xt().tri m()!=)(stuf f _ na me.re que stF oc us();)p u
30、 b lic v o id k e yT ype d(K e yE ve nt e)pxiblic v o id k e yP re sse d (K e yE ve nt e);se tupc ompone nt(stuf f _ i d,1,0,1,1,t r u e);j a va x.svzi ng.J L a b e l stuf f _ na me _ la b e 1 =new j a va x.swi ng.J L a b e l(原料名:);setupComponent(stuff_name_label,2,0,1,1,true);stuff_name=new javax.s
31、wing.JTextField(10);stuff_name.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyReleased(KeyEvent e)if(e.getKeyChar()=KeyEvent.VK_ENTER)&(stuff_name.getText().trim()!=)stuff_company.requestFocus(););setupComponent(stuff_name,3,0,1,1,tru
32、e);javax.swing.JLabel stuf f_company_label=new javax.swing.JLabel(生产商:);setupComponent(stuf f_company_labelr 4,0,1,1,true);stuff_company=new javax.swing.JTextField(10);stuff_company.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyRelea
33、sed(KeyEvent e)if(e.getKeyChar()=KeyEvent.&(stuf f_company.getText().trim()=*)stuff_people.requestFocus();)!);setupComponent(stuff_company,5,0,1,1,true);javax.swing.JLabel stuff_people_label=new javax.swing.JLabel(收货员:setupComponent(stuff_people_label,6,0,1,1,true);stuff_people=new javax.swing.JText
34、Field(10);stuff_people.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyReleased(KeyEvent e)if(e.getKeyChar()=KeyEvent.VK_ENTER)&(stuff_people.getText().trim()!=n)check_people.requestFocus();)1);setupComponent(stuff_people,1,0,1,1,true)
35、;javax.swing.JLabel check_people_label=new javax.swing.JLabel(检验员:”);setupComponent(check_people_label,0,1,1,1,true);check_people=new javax.swing.JTextField(10);check_people.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyReleased(KeyE
36、vent e)if(e.getKeyChar()=KeyEvent.VK_ENTEJR)&(check_people.getText().trim()!=n)stuf f_unit.requestFocus();)!);setupcomponent(check_people,1,1,1,1,true);javax.svzing.JLabel stuf f_unit_label=new javax.swing.JLabel(n 位:);setupcomponent(stuff_unit_label,2,1,1,1,true);stuff_unit=new javax.swing.JTextFie
37、ld(10);stuff_unit.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyReleased(KeyEvent e)if(e.getKeyChar()=KeyEvent.WGENTEJ?)&(stuf f_unit.getText().trim()!=,*)stuff_value.requestFocus();)!);setupComponent(stuff_unit,3,1,1,1,true);javax.s
38、wing.JLabel stuff_value_label=new javax.swing.JLabel(数 量:n);setupcomponent(stuff_value_label,4,1,1,1,true);stuff_value=new javax.swing.JTextField(10);stuff_value.addKeyListener(new KeyListener()(public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)(public void keyReleased(KeyEvent e)if(
39、e.getKeyChar()=KeyEvent.VK_ENTER)&(stuff_value.getText().trim()!=)i f(Checkvalue(stuff_value.getText().trim()stuff_spec.requestFocus();else(javax.swing.JOptionPane.showMessageDialog(null,你的录入有误,请录入 0-9 的数值!,录入错误,javax.swing.JOptionPane.ERROR_MESSAGE);stuf f_value.setText(;stuf f_value.requestFocus()
40、;)1);setupComponent(stuff_value,5,1,1,1,true);javax.swing.JLabel stuf f_spec_label=new javax.swing.JLabel(iI 格:n);setupComponent(stuf f_spec_label,6,lzlz1,true);stuff_spec=new javax.swing.JTextField(10);stuff_spec.addKeyListener(new KeyListener()(public void keyTyped(KeyEvent e)public void keyPresse
41、d(KeyEvent e)public void keyReleased(KeyEvent e)if(e.getKeyChar()=KeyEvent.&(stuff_spec.getText().trim()!:stuff_color.requestFocus();)!);setupcomponent(stuff_spec,7,1,1,1,true);javax.swing.JLabel stuf f_color_label=new javax.swing.JLabel(色:n);setupcomponent(stuff_color_label,0,2,1,1,true);stuff_colo
42、r=new javax.swing.JTextField(10);stuff_color.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyReleased(KeyEvent e)if(e.getKeyChar()=KeyEvent.VK_ENTER)&(stuff_color.getText().trim()stuff_place.requestFocus();)!);setupComponent(stuff_colo
43、r,1,2,1,1,true);javax.swing.JLabel stuff_place_label=new javax.swing.JLabel(存放位置:);setupcomponent(stuff_place_label,2,2,1,1,true);stuff_place=new javax.swing.JTextField(10);stuff_place.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)public void keyRe
44、leased(KeyEvent e)if(e.getKeyChar()=KeyEvent.VK_ENTER)&(stuff_place.getText().trim()!=stock_date.requestFocus(););setupcomponent(stuff_place,3,2,1,1,true);javax.swing.JLabel stock_date_label=new javax.swing.JLabel(入库时间:n);setupcomponent(stock_date_label,4,2,1,1,true);stock_date=new javax.swing.JText
45、Field(10);stock_date.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)p u b l i c v o id keyReleased(KeyEvent e)i f (e.getKeyChar()=KeyEvent.&(stock_date.getText().trim()!if(CheckDate(stock_date.getText()stuff_text.requestFocus();)e l s e javax.swing.
46、JOptionPane.showMessageD_ia?og(n u l l,”数据录入错误格式为:YYYY/MM/DD,请你重新输入!,数据错误,javax.swing.JOptionPane.ERROR_MESSAGE);stock_date.setText(n);stock_date.requestFocus();!);setupcomponent(stock_date,5,2,1,1,true);javax.swing.JLabel stuff_text_labe 1=new javax.s心 ng.JLabel(原料备注:n);setupComponent(stuff_text_la
47、bel,6,2,1,1,t r u e);stuff_text=new javax.swing.JTextField(10);stuff_text.addKeyListener(new KeyListener()p u b l i c v o id keyTyped(KeyEvent e)p u b l i c v o id keyPressed(KeyEvent e)p u b l i c v o id keyReleased(KeyEvent e)if(e.g e t K e y C h a r()=K e y E v e n t.)enter.requestFocus(););setup
48、Component(stuff_text,1,2,1,1,t r u e);enter=new javax.swing.JButton(录 An);enter.addKeyListener(new KeyListener()p u b l i c v o id keyTyped(KeyEvent e)p u b l i c v o id keyPressed(KeyEvent e)p u b l i c v o id keyReleased(KeyEvent e)i f(e.getKeyChar()=KeyEvent.VK_ENTER)IsGood();)!);enter.addActionL
49、istener(new ActionListener()(p x ib lic v o id actionPerformed(ActionEvent e)IsGood();!);setupComponent(enter,1,3,1,1,true);clean=new javax.swing.JButton(MyW 空”);clean.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)clean();)!);setupcomponent(clean,3,3,1,1,true);cancl
50、e=new javax.swing.JButton(nIB 出cancle.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)!);setupComponent(cancle,5,3,1,1,true);public void paintComponent(Graphics g)super.paintcomponent(g);i f(!isOpaque()return;)Graphics2D g2d=(Graphics2D)g;/int rule=AlphaComposite.SRC_