超市管理系统java程序设计报告(图文完整)_第1页
超市管理系统java程序设计报告(图文完整)_第2页
超市管理系统java程序设计报告(图文完整)_第3页
超市管理系统java程序设计报告(图文完整)_第4页
超市管理系统java程序设计报告(图文完整)_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- - - - - - - - - - - - - - - - XX学院 程序设计课程设计(C) 报告 项目名称:超市项目管理系统 学生姓名:XXX 学号:XXX 班级:XXX 指导老师:XXX 日期:XXX 1、项目描述 超市收银管理系统是一个辅助超市收银员统计商品以及辅助管理员统计 货物情况和收益情况的实用性工具。根据超市的日常管理需要,超市收银系 统应该包括基本档案管理、商品库存管理、会员管理、交易管理等四大功能, 其中基本档案管理包括收银员信息管理和商品信息管理;商品库存管理包括 商品入库管理和商品出库管理;会员管理包括会员信息管理和积分管理;交 易管理包括交易信息管理和销售信息管理。

2、 2、需求分析 (1) 界面需求 软件的操作界面是图形界面还是字符界面,以简洁清晰、操作方便为首 要目标。 基于超市收银的基本业务分析,和必须解决的两大难题,针对性地制定 出所要设计小型超市收银管理系统所需要的系统功能,如下七点: (1) 设计软件提供用户登陆界面,为用户提供账号密码管理工具,具体为 添加用户、删除用户、修改用户名、密码。 (2) 设计软件将对单个商品进库产品进行管理,对进库清单进行录入、修 改、查询和统计,也提供出库功能,对出库清单进行录入和查询。 (3) 设计软件将能对商品信息情况进行修改操作和查询操作,能设置库存 商品单价,能对库存商品总值进行统计。 (4) 设计软件能对

3、超市会员信息进行管理,具体为添加会员信息、删除员 工信息、修改会员信息操作、查询会员信息操作。 (5) 设计软件能对每单生意信息进行管理,具体为每单生意信息的添加、 查询、修改 (KJ HPK 彳-rF-”FF*F*FF-FF - F“”F*FF-F - 一 (2) 数据需求 需要输入什么类型的数据、什么值的数据,即数据模型的建立。是由项 目内容及软件设计者决定的。以数据描述的清晰、数据意义的完整为目标。 出库表: 名 卿 題 d谥靖 程 null id int 20 0 0护1 good_amcnjrit int 20 D rnerrberjd irnt 20 0 caiherjd int

4、20 0 goods_id| irnt 20 0 moncyjpurt irrt 20 0 入库表: Knull id int 20 0 S护1 g Dodi_a rrio u rit int 20 0 0 goods id| int 20 0 E mQney_cut int 20 0 S 收银员表: 茗 翹 氏奥 d如 H里柑I n umbr int 2D 0 name va rebar ZO p3iword| vflrcFar 20 0 商品信息表: 名 KS J嗷点 KB null number int 20 0 name %a rebar 50 0 0 kind vrchar 20 0

5、 amount int 20 0 0 wholesalejjriice int 20 a 0 rrtailjjricc| int 20 0 回 会员表: 名 氏度 id int 20 0 0 name varchai: 20 0 ccri some int 20 0 integral int 20 0 (3)功能需求 系统应该具有哪些功能,与项目描述以及设计者的理解直接相关。对一 般的管理软件来说,必须包括数据的输入输出、增删改查、排序、统计等功 能。 请按实际项目需求填写用例。 一般按 动作(动词) 一结果(名词)的形式书写。 1、登录功能: Action1:输入库里存有的用户和密码,输入正

6、确,登录成功,输入错误, 登录失败; Action2 :点击重置按钮,刷新用户名和密码。 2、主窗体菜单功能 Action1 :下拉菜单模块,菜单模块里面有子菜单。分为,收银员信息、 收银员信息管理;商品、商品信息管理;商品出入库管理,商品交易管理; 会员信息菜单、会员信息管理菜单;设置菜单、联系我们选项、退出系统选 项。 3 、收银员添加信息功能 Actio n1 :填入收银员的编号、姓名、密码,信息入库,并可做登录名和 密码。 4、收银员信息排列 Action1 :可以列出收银员名单、点击表格某一行,可以显示对于的信息 填入对应的文本里。 5、收银员的信息查询 Actio n1 :可以通过

7、对姓名的模糊查询,查询到收银员。 6、收银员信息的修改 Action1 :通过修改对应得文本框,然后点击修改按钮完成信息修改。 7、商品添加信息功能 Actio n1 :填入商品的编号、名称等,信息入库,并可做登录名和密码。 import java.sql.Co nn ecti on; import java.sql.PreparedStateme nt; import java.sql.ResultSet; import com.model.Cashier; /* 收银员登录验证 author csp-pc */ public class CashierDao public Cashier

8、log on(Connection con. Cashier cashier) throws Excepti on Cashier resultCashier = nu II; String sql = select * from cashier where name=?and password=? ;/查询收银员的姓名和密码 PreparedStateme nt pstmt = con .prepareStateme nt(sql); pstmt.setString(1, cashier.getName(); pstmt.setString(2, cashier.getPassword();

9、 ResultSet rs = pstmt.executeQuery(); if (rs.next() resultCashier = new Cashier(sql, sql); resultCashier.setName(rs.getStri ng( name); resultCashier.setPassword(rs.getStri ng(password); 得到姓名和密码 else return resultCashier; package com.dao; import java.sql.*; import com.model.*; import com.util.Stri ng

10、Util; /* *收银员信息的dao * author csp - pc * */ public class Cashieri nforDao public int cashieri nforAdd(C onn ecti on cashierinfor) throws Exception con ,Cashierinfor String sql =insert into cashier value(?,?,?) PreparedStateme nt pstmt .setlnt(1, 再考虑考虑。 pstmt =con .prepareStatement( sql ); cashierinfo

11、r .getNumber(); / 这个数据类型需要 pstmt .setString(2. cashieri nfor.getName(); pstmt .setString(3. cashieri nfor .getPassword(); return pstmt .executeUpdate(); public ResultSet Cashieri nforList(C onn ecti on cashierinfor) throws Exception con ,Cashierinfor Stri ngBuffersb=new Stri ngBuffer( select * from

12、cashier); if (StringUtil.isNotEmpty (cashierinfor.getName() sb .append( and name like % +cashierinfor .getName()+ %); PreparedStateme nt pstmt =con .prepareStatement(sb .toString().replaceFirst(and, where); /经典的消息查询算法。 return pstmt .executeQuery(); public int cashierinfordelete(Connectioncon ,String

13、number) throws Exception Stri ngsql =delete from cashier where nu mber=?; PreparedStatement pstmt =con .prepareStatement(sql ); pstmt .setString(1, number); return pstmt .executeUpdate(); con , Cashierinfor public int cashieri nformodify(C onnection cashieri nfor )throws Exception Stri ng nu mber=?;

14、 sql =update cashier set n ame=?,password=? where PreparedStateme nt pstmt =con .prepareStatement( sql ); pstmt .setString(1, pstmt .setString(2. cashieri nfor.getName(); cashieri nfor.getPassword(); pstmt .setInt(3, cashieri nfor.getNumber(); return pstmt .executeUpdate(); package com.dao; import j

15、ava.sql.*; import com.model.Cashierinfor; import com.model.Goods; import com.util.Stri ngUtil; /* 该类实现商品的添加、修改、查找、删除的dao * author csp - pc * */ public class GoodsDao Stri ng sql =i nsert into goods value(?,?,?,?,?,?) ;II数据库插 入商品信息 PreparedStateme nt pstmt =con .prepareStatement( sql ); pstmt .set In

16、 t(1, goods .getNumber(); pstmt .setStri ng(2, goods .getName(); pstmt .setStri ng(3, goods .getKind(); pstmt .set In t(4, goods .getAmount(); pstmt .set In t(5, goods .getWprice(); pstmt .set In t(6, goods .getRprice(); return pstmt .executeUpdate(); public int goodsAdd(Connection con ,Goods goods)

17、 throws Exception publicResultSet GoodsList(C onn ecti on con ,Goods goods ) throws Excepti on Strin gBuffersb=new Strin gBuffer( select * from goods );/ 查询 (KJ HPK 彳-rF-”FF*F*FF-FF - F“”F*FF-F - 一 if (StringUtil. isNotEmpty (goods .getName() sb .append( and name like % +goods .getName()+ %);/ 按商品名进

18、行模糊查询 PreparedStateme nt pstmt =con .prepareStatement(sb .toString().replaceFirst(and, where); return pstmt .executeQuery(); public int goodsdelete(Connectioncon,Stringnumber) throws Excepti on String sql =delete from goods where nu mber=?; PreparedStatement pstmt =con .prepareStatement( sql ); pstm

19、t .setString(1, number); / 删除商品信息 return pstmt .executeUpdate(); public int goodsmodify(Connection con, Goods goods) throws Excepti on String sql =update goods set n ame=?,k in d=?,am oun t=?,wholesale_price=?,retail_price=? where nu mber=?; /修改商品信息 PreparedStateme nt pstmt .setString(1, pstmt .setS

20、tring(2, pstmt .setInt(3, pstmt .setInt(4, pstmt .setInt(5, pstmt .setInt(6, pstmt =con .prepareStatement( sql ); goods .getName(); goods .getKind(); goods .getAmount(); goods .getWprice(); goods .getRprice(); goods .getNumber(); return pstmt .executeUpdate(); goods) throws ;/通过id查找 public ResultSet

21、 Goodsid(Connectioncon ,Goods Excepti on String sql =select * from goods where nu mber=? 所在商品对应的行,确定具体商品 PreparedStatementpstmt =con .prepareStatement(sql ); if (StringUtil. isNotEmpty (Integer. toString (goods .getNumber() pstmt .setInt(1, goods .getNumber(); return pstmt .executeQuery(); package c

22、om.dao; import java.sql.C onn ecti on; import java.sql.PreparedStateme nt; import iava.sql.SQLExceptio n; import com.model.Bus in essout; /* *出货dao类 * author csp - pc */ public class Busin essDao public int b_outAdd1(C onn ecti oncon. Bus in essoutbus in essout ) throws Exception Stri ngsql =i nsert

23、 into bus in ess_out value( null,?,?,?,?,?) /数据库插入语句 pstmt =con .prepareStatement(sql ); pstmt .set In t(1, bus in essout pstmt .set In t(2, bus in essout pstmt .set In t(3, bus in essout pstmt .set In t(4, bus in essout pstmt .set In t(5, bus in essout 信息值。 PreparedStateme nt .getGoods_amou nt(); .

24、getMember_id(); .getCashier_id(); .getGoods_id(); .getMoney_put();II得到相应的出库 return pstmt .executeUpdate(); package com.dao; import java.sql.C onn ecti on; import java.sql.PreparedStateme nt; import j import com.model.Member; I* *会员信息dao * author csp - pc * *I public class MemberDao public int addMem

25、ber(Connectioncon, Member member) throws Excepti on Stri ngsql =i nsert into member(id, name) value(?,?); PreparedStatementpstmt =con .prepareStatement(sql ); pstmt .setlnt(1,member.getld(); pstmt .setString(2,member.getName(); return pstmt .executeUpdate(); Com.model 包 package com.model; /* *商品出库交易

26、模型。 * author csp -pc * */ public class Busin essout private int id ; private int goods_am ount private int member_id ; private int cashier_id ; private int goods_id ; private int money_put ; public int getId() return id ; public int getGoods_amount() returngoods_amount ; public int getMember_id() re

27、turn member_id ; public int getCashier_id() return cashier_id ; public int getGoods_id() return goods_id ; public int getM on ey_put() returnmoney_put ; public void setId( int id ) this . id = id ; public void setGoods_amount( intgoods_amount ) this . goods_amount = goods_amount ; public void setMem

28、ber_id( int member_id ) this . member_id = member_id ; public void setCashier_id( int cashier_id ) this . cashier_id = cashier_id ; public void setGoods_id( int goods_id ) this . goods_id = goods_id ; public void setMoney_put( int money_put ) this . money_put = money_put ; publicBusinessout(intgoods

29、_amount , int goods_id ) super (); this . goods_amount = goods_amount ; this . goods_id = goods_id ; package com.model; /* 用户登录模型。 author csp - pc */ public class Cashier private int id ; privateStringName privateStringPassword ; publicCashier(Stringname, String password ) super (); Name= n ame; Pas

30、sword = password ; public int getld() return id ; public String getName() return Name public String getPassword() return Password ; public void setId( int id ) this . id = id ; public void setName(Stringname) Name= n ame; public void setPassword(Stringpassword ) Password = password ; package com.mod

31、el; 術说吋 *收银员基本信息模型。 * author csp -pc * */ public class Cashieri nfor private int number; private Stri ng n ame; private Stri ng password public Cashieri nfor() super (); / TODO自动生成的构造函数存根 password ) public Cashieri nfor( int nu mber, String n ame, String super (); this . number = number; this . name

32、 = name; this . password = password ; public int getNumber() returnnumber; public String getName() return n ame; public String getPassword() return password ; public void setNumber( int number) this . number = number; public void setName(String name) this . name = name; public void setPassword(Strin

33、gpassword ) this . password = password ; (KJ HPK 彳-rF-”FF*F*FF-FF - F“”F*FF-F - 一 package com.model; /* *商品基本信息模型。 * author csp - pc * */ public class Goods private int number; private Stri ng name private Stri ng ki nd private int amount ; private int wprice ; private int rprice ; public Goods() su

34、per (); / TODO自动生成的构造函数存根 kind , int amount, int public Goods( int number, Stringname, String wprice , int rprice ) super (); this . number = number; this . name = name; this . kind = kind ; this . amount = amount; this . wprice = wprice ; this . rprice = rprice ; public int getNumber() returnnumber

35、; public Stri ng getName() returnn ame; public Stri ng getKi nd() returnkind ; public int getAm oun t() return amount ; public int getWprice() return wprice ; public int getRprice() return rprice ; public void setNumber( intnumber) this . number = number; public void setName(Stringname) this . name

36、= name; public void setKind(String kind ) this . kind = kind ; public void setAmount(int amount) this . amount = amount; public void setWprice( int wprice ) this . wprice = wprice ; public void setRprice( int rprice ) this . rprice = rprice ; (KJ彳-八F - F- F- FF -一 package com.model; /* *会员信息模型。 * au

37、thor csp - pc */ public class Member private int id ; private Stringn ame; private int consume; private int in tegral public int getId() return id ; public String getName() returnn ame; public int getC on sume() returnconsume ; public int getIntegral() returnin tegral; public void setld( int id ) th

38、is . id = id ; public void setName(String this . name = name; public void setConsume( int this .consume = consume; public void setIntegral( int this .integral= integral public Member( int id , String super (); n ame) consume) in tegral) n ame) this . id = id ; this . name = name; public Member。 supe

39、r (); / TODO自动生成的构造函数存根 Com.util 包 package com.util; import java.sql.C onn ectio n; import java.sql.DriverMa nager; /* *数据库连接 * author csp-pc * */ public class DbUtil private Stri ng jdbcName = com.mysql.jdbc.Driver;/驱动名 private Stri ng dbUserName = root;/数据库用户名 private Stri ng dbPassword = 11945459

40、95;/数据库用户密码 private Stri ng dbUrl = jdbc:mysql:/localhost:3306/supermarket_ma nager;/具体库地址 public Connection getC on() throws Excepti on Class.forName(jdbcName); Connection con = DriverMa nager.getC onnection( dbUrl, dbUserName, dbPassword); return con; /获取连接 (KJHPK 彳- -八 FF-F-FF= public void closeC

41、 on(Connection con) throws Excepti on if (con != n ull) con. close(); /关闭连接 public static void main( Stri ng args) DbUtil dbutil=new DbUtil(); try dbutil.getCo n(); System.out.pri ntln(”数据库连接成功!); catch (Excepti on e) / TODO 自动生成的catch 块 e.pri ntStackTrace(); /测试连接是否成功。 package com.util; /* *判断值是否为空

42、。两个工具。 * author csp - pc * */ public class Strin gUtil public staticboolean isEmpty(Stringstr ) if ( .equals( str )| str =null ) return true ; else return false ; str ) /判断是空 public static boolea n isNotEmpty(Stri ng if (! .equals( str ) else return false ; /判断不是空。 package com.view; import j import

43、java.awt.Eve ntQueue; import javax.sw in g.JFrame; import javax.swi ng.JPa nel; import javax.swi ng.border.EmptyBorder; import javax.sw in g.JLabel; import java.awt.F ont; import javax.sw ing.lm ageIc on; /* *作者简介窗口 * author csp - pc */ public class authorFrame exte nds JFrame private JPa nelconten

44、tPa ne ; Launch the applicati on. */ public static void main( Str in gargs ) EventQueue. invokeLater ( new Runnable() public void run() try authorFrame frame = new authorFrame(); frame .setVisible( true ); catch (Exception e) e.pri ntStackTrace(); ); /* * Create the frame. */ public authorFrame() se

45、tTitle( u5173u4E8Eu6211u4EEC); setDefaultCloseOperati on (JFrame.DISPOSE_ON_CLOSE setBounds(100, 100, 450, 300); conten tPa ne= new JPa nel(); conten tPa ne .setBorder( new EmptyBorder(5, 5, 5, 5); setC onten tPa ne(conten tPa ne ); contentPane .setLayout( null ); JLabel label = new JLabel( u6E56u53

46、17u6587u7406u5B66u9662); label .setIcon( new Imagelco n( D:javaworkspaceu8D85u5E02u7BA1u7406u7CFBu7 EDFimagebook (2).p ng); label .setFont(new Font(宋体 ”,Font. BOLD 18); label .setBounds(73, 10, 189, 49); contentPane .add( label ); JLabel lblNewLabel = new JLabel( u6570u5B66u4E0Eu8BA1u7B97u673Au79D1u

47、5B66u5B66u9 662); IblNewLabel .setlc on(new Imagelco n( D:javaworkspaceu8D85u5E02u7BA1u7406u7CFBu7 EDFWimageWbook (1).p ng); lblNewLabel .setFont( new Font(宋体 ”,Font. BOLD 15); lblNewLabel .setBou nds(73, 69, 289, 35); contentPane .add( lblNewLabel ); JLabel lblNewLabel_1 = new JLabel( u8F6Fu5DE5151

48、1); lblNewLabel_1 .setIc on( new ImageIco n( D:javaworkspaceu8D85u5E02u7BA1u7406u7CFBu7 EDFimageme.p ng); lblNewLabel_1.setFont(new Font(宋体,Font. BOLD 13); lblNewLabel_1 .setBou nds(73, 114, 144, 15); contentPane .add( lblNewLabel_1 ); JLabel label_1 = new JLabel( u9648u4ED5u9E4F); label_1 .setFont(

49、 new Font(宋体,Font. BOLD 13); label_1 .setIc on(new ImageIco n( D:javaworkspaceu8D85u5E02u7BA1u7406u7CFBu7 EDFimageuserName.p ng ); label_1 .setBou nds(73, 149, 94, 15); contentPane .add( label_1 ); JLabel label_2 = new JLabel( 2015117457); label_2 .setIc on(new ImageIco n( D:javaworkspaceu8D85u5E02u

50、7BA1u7406u7CFBu7 EDFimagemodify.p ng); label_2 .setFont( new Font(宋体,Font. BOLD 13); label_2 .setBou nds(73, 182, 121, 15); contentPane .add( label_2 ); package com.view; import java.awt.Eve ntQueue; import import import import import import javax.swi ng.JI nternalFrame; javax.sw in g.JList; javax.s

51、wi ng.JOptio nPane; javax.sw in g.JLabel; javax.sw in g.JTextField; javax.sw in g.table.DefaultTableModel: import import import import import import com.dao.Bus in essDao; com.dao.GoodsDao; com.model.Bus in essout; com.model.Goods; com.util.DbUtil; com.util.Stri ngUtil; import import import import i

52、mport import import /* javax.swi ng.JButto n; javax.swi ng.J Table; java.awt.eve nt.Act ion Liste ner; java.sql.C onn ecti on; java.sql.ResultSet; java.util.Vector; java.awt.eve nt.Act ion Eve nt; 商品出库链接窗体。 author csp -pc */ public class B_outln terFrmexte nds Jin ter nalFrame private JTextField out

53、am oun tTxt private JTextField goodsidTxt : private JLabel lblNewLabel : private JTextField meber_idTxt private JTextField cashier_idTxt private JLabellabel. _2 : private JLabellabel. _4 : private JTextField mon ey_putTxt privateJButt onJb_outc onfirm; privateJButt onJb_outsetc onfirm; * Launch the

54、applicati on. */ DbUtil dbUtil =new DbUtil(); Busin essDaobus in essDao =new Busin essDao(); GoodsDao goodsDao =new GoodsDao(); private JTextField ram oun tTxt ; public static void main( Str in gargs ) EventQueue. invokeLater ( new Runnable() public void run() try B_outI nterFrmframe = new B_outI nt

55、erFrm(); frame .setVisible( true ); catch (Exceptione) e.pri ntStackTrace(); ); /* * Create the frame. */ publicB_out In terFrm() setTitle( u5546u54C1u51FAu5E93u7BA1u7406); setIconifiable(true ); setClosable( true ); setBounds(100, 100, 450, 360); getContentPane().setLayout(null ); JLabel label = ne

56、w JLabel( u51FAu5E93u6570u91CFuFF1A); label .setBounds(230, 67, 66, 15); getContentPane().add(label ); outam oun tTxt= new JTextField(); outamou ntTxt .setBou nds(294, 64, 112, 21); getC onten tPa ne().add(outam oun tTxt ); outam oun tTxt .setColu mn s(10); JLabel label_1 = new JLabel( u5546u54C1u7F

57、16u53F7uFF1A); label_1 .setBou nds(24, 67, 66, 15); getCo nte ntPa ne().add(label_1 ); goodsidTxt = new JTextField(); goodsidTxt .setBounds(88, 64, 112, 21); getC onten tPa ne().add(goodsidTxt ); goodsidTxt .setColum ns(10); lblNewLabel = new JLabel( u4F1Au5458u7F16u53F7uFF1A); lblNewLabel .setBou n

58、ds(24, 220, 66, 15); getCo nte ntPa ne().add(lblNewLabel ); meber_idTxt = new JTextField(); meber_idTxt .setBounds(88, 217, 112, 21); getC onten tPa ne().add(meber_idTxt ); meber_idTxt .setColu mn s(10); cashier_idTxt = new JTextField(); cashier_idTxt.setBou nds(307, 217, 99, 21); getC onten tPa ne(

59、).add(cashier_idTxt ); cashier_idTxt.setColu mn s(10); label_2 = new JLabel( u6536u94F6u5458u7F16u53F7uFF1A); label_2 .setBou nds(227, 220, 86, 15); getCo nte ntPa ne().add(label_2 ); label_4 = new JLabel( u76C8u5229u663Eu793AuFF1A); label_4 .setBounds(24, 164, 68, 15); getCo nte ntPa ne().add(label

60、_4 ); mon ey_putTxt = new JTextField(); mon ey_putTxt .setBou nds(91, 161, 109, 21); getContentPane().add(money_putTxt ); mon ey_putTxt .setColu mn s(10); Jb_outco nfirm = new JButto n( u786Eu5B9A); Jb_outc on firm.addAct ion Liste ner(new Action Liste ner() public void acti on Performed(Act ion Eve

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论