版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、包結(jié)構(gòu)四個(gè)包,九個(gè)類,一個(gè)資源文件客戶端類package com.supermarket.Client;/* * 客戶端界面 */import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Scanner;import com.supermarket.Tools.Datas;import com.supermarket.Tools.SysConstans;import com.supermarket.entity.Goods;publicclass Cli
2、ent /定義掃描器,用于鍵盤輸入publicstatic Scanner input=new Scanner(System.in);/創(chuàng)建客戶端業(yè)務(wù)類對(duì)象,調(diào)用方法publicstatic ClientB cb=new ClientB();publicstaticvoid main(String args) doSystem.out.println(*歡迎使用青鳥超市系統(tǒng)*);System.out.println(1.登錄+n2.退出);System.out.println(*請(qǐng)選擇1/2*);String choice=input.next();if(choice.equals(1)/登錄
3、視圖createLoginView();break;elseif(choice.equals(2)/退出System.exit(0);else/輸入有誤,報(bào)錯(cuò)System.out.println(無(wú)此選項(xiàng)!);while(true);System.out.println(*謝謝使用青鳥超市系統(tǒng)*);/* * 登錄視圖 * 通過輸入的用戶名與密碼驗(yàn)證用戶身份,管理員則進(jìn)入管理界面,收銀員則進(jìn)入收銀界面,都不是則提示錯(cuò)誤,并重新進(jìn)行輸入 */publicstaticvoid createLoginView()do /提示登錄信息System.out.println(請(qǐng)輸入用戶名:);String
4、name = input.next();System.out.println(請(qǐng)輸入密碼:);String password = input.next();/調(diào)用客戶端登錄方法,接收返回值,判斷登錄者的身份Datas datas = cb.doLogin(name, password); /判斷是管理員還是收銀員if (datas.getFlag().equals(SysConstans.SYS_ADMIN) createAdminView();break; elseif (datas.getFlag().equals(SysConstans.SYS_CASHIER) createCashie
5、rView();break; else System.out.println(用戶名或密碼有誤,請(qǐng)重新輸入); while (true);/* * 管理員菜單 * 實(shí)現(xiàn)管理員功能: * 1.商品入庫(kù)2.商品出庫(kù)3.新增商品4.查詢?nèi)可唐?.按編號(hào)查詢商品6.退出 */privatestaticvoid createAdminView() /循環(huán)操作/ 管理員菜單System.out.println(管理員登錄成功,進(jìn)入管理員界面);doSystem.out.println(*歡迎進(jìn)入青鳥超市庫(kù)存管理系統(tǒng)*);System.out.println(1.商品入庫(kù)t2.商品出庫(kù)t3.新增商品t4.
6、查詢?nèi)可唐穞5.按序號(hào)查詢商品t6.退出);/提示用戶選擇System.out.println(請(qǐng)輸入您的選擇);int choice=input.nextInt();switch(choice)/商品入庫(kù),調(diào)入庫(kù)方法case 1:/提示輸入要入庫(kù)的編號(hào)System.out.println(請(qǐng)輸入入庫(kù)商品編號(hào):);/定義變量接收輸入的編號(hào)String goodnum=input.next();/調(diào)用方法判斷庫(kù)存中是否有要入庫(kù)的商品if(cb.Find(goodnum).getFlag().equals(SysConstans.SYS_SUCCESS)System.out.println(請(qǐng)輸
7、入入庫(kù)數(shù)量:);int count=input.nextInt();if(count=0)Datas datas=cb.RuKu(goodnum,count);if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)System.out.println(入庫(kù)成功!);showList(cb.FindAll();elseSystem.out.println(入庫(kù)數(shù)量必須大于0);elseSystem.out.println(無(wú)此商品,請(qǐng)選擇3新增);break;/商品出庫(kù),調(diào)出庫(kù)方法case 2:do/提示輸入出庫(kù)商品編號(hào)System.out.prin
8、tln(請(qǐng)選擇出庫(kù)商品編號(hào):);/定義變量接收編號(hào)String goodid=input.next();/先查詢是否由此商品if(cb.Find(goodid).getFlag().equals(SysConstans.SYS_SUCCESS)/提示輸入出庫(kù)數(shù)量System.out.println(請(qǐng)輸入出庫(kù)數(shù)量:);int count=input.nextInt();if(count0)Datas datas=cb.ChuKu(goodid,count);if(datas.getFlag().equals(SysConstans.SYS_LACK)System.out.println(庫(kù)存不
9、足!);showGood(datas);break;elseSystem.out.println(出庫(kù)成功!);showList(datas);break;elseSystem.out.println(出庫(kù)數(shù)量必須大于0!);elseSystem.out.println(庫(kù)存中無(wú)此商品,請(qǐng)選擇3新增);break;while(true);break;case 3:/新增商品,調(diào)新增方法do/提示輸入新增商品編號(hào)System.out.println(請(qǐng)輸入新增商品的編號(hào):);String newgoodid=input.next();if(cb.Find(newgoodid).getFlag()
10、.equals(SysConstans.SYS_SUCCESS)System.out.println(商品已存在);break;elseSystem.out.println(請(qǐng)輸入商品名稱:);String name=input.next();System.out.println(請(qǐng)輸入商品單價(jià):);double price=input.nextDouble();System.out.println(請(qǐng)輸入商品單位:);String unit=input.next();System.out.println(請(qǐng)輸入商品數(shù)量:);int count=input.nextInt();Goods go
11、od=new Goods(newgoodid,(name+t),price,unit,count);/把要新增的商品通過調(diào)用方法傳給業(yè)務(wù)類,并接收返回值Datas datas=cb.Add(good);System.out.println(新增商品成功!);/打印商品列表showList(cb.FindAll();break;while(true);break;/查詢?nèi)可唐返姆椒╟ase 4:/查詢商品,調(diào)用showList方法參數(shù)為Datas類型,是FindAll傳回來(lái)的showList(cb.FindAll();break;/按編號(hào)查詢商品,調(diào)按編號(hào)查詢方法case 5:/提示輸入編號(hào)S
12、ystem.out.println(請(qǐng)輸入要查詢的編號(hào):);/定義變量接收輸入String id=input.next();/判斷庫(kù)存中是否存在編號(hào)為goodid的商品Datas datas=cb.Find(id);/如果存在,調(diào)用方法,打印商品if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)showGood(datas); else System.out.println(沒有此商品); break;case 6:/退出System.out.println(管理員退出成功!);System.exit(0);default :/提示無(wú)此選項(xiàng)Sy
13、stem.out.println(無(wú)此選項(xiàng),請(qǐng)重新輸入:);while(true);/* * 收銀員管理界面. * 實(shí)現(xiàn)收銀員的功能: * 1.掃描商品2.修改購(gòu)買商品的數(shù)量3.結(jié)賬4.退出 */收銀員管理界面privatestaticvoid createCashierView() /循環(huán)操作收銀界面while(true)System.out.println(收銀員登錄成功,進(jìn)入收銀員界面);System.out.println(*歡迎進(jìn)入青鳥超市收銀管理系統(tǒng)*);System.out.println(1.掃描商品t2.修改數(shù)量t3.結(jié)賬t4.退出);/提示用戶輸入操作選項(xiàng)System.ou
14、t.println(請(qǐng)輸入您的選擇:);int choice=input.nextInt();switch(choice)case 1:/調(diào)用掃描方法do/提示輸入掃描編號(hào)System.out.println(請(qǐng)輸入要掃描的商品編號(hào):);String scannum=input.next();/如果查詢到編號(hào),說明商品存在,否則商品不存在if(cb.Find(scannum).getFlag().equals(SysConstans.SYS_SUCCESS)/如果商品存在,調(diào)用掃描的方法Datas datas=cb.scan(scannum);/判斷返回的標(biāo)識(shí)if(datas.getFlag(
15、).equals(SysConstans.SYS_SUCCESS)System.out.println(掃描成功);showScan(datas);break;elseSystem.out.println(掃描失敗);/showScan(datas);break;elseSystem.out.println(商品不存在!);break;while(true);break;case 2:/修改數(shù)量的方法/判斷購(gòu)買列表是否為空if(cb.result().getFlag().equals(SysConstans.SYS_ERROR)System.out.println(購(gòu)買列表中還沒有購(gòu)買物品!)
16、;continue;/循環(huán)操作數(shù)據(jù)do/提示用戶輸入要修改的編號(hào),并判斷購(gòu)買列表中是否存在此編號(hào)System.out.println(請(qǐng)輸入要修改的商品編號(hào):);String changeid=input.next();Datas datas=new Datas();/調(diào)用方法判斷是否存在商品編號(hào)if(hasid(changeid)/存在,提示修改數(shù)量System.out.println(請(qǐng)輸入修改后的數(shù)量);int changenum=input.nextInt();if(changenum1) datas=cb.ChangeCount(changeid,changenum);if(data
17、s.getFlag().equals(SysConstans.SYS_LACK)System.out.println(數(shù)量不足,請(qǐng)確認(rèn)!);showGood(cb.Find(changeid);continue;elseSystem.out.println(修改成功!);showScan(cb.result();break;elseSystem.out.println(購(gòu)買數(shù)量必須大于0!);break;/如果包含,提示修改數(shù)量System.out.println(購(gòu)買列表中無(wú)此商品,請(qǐng)核實(shí));continue;while(true);break;case 3:/調(diào)用結(jié)賬方法creatOver
18、();break;case 4:/退出System.out.println(收銀員退出系統(tǒng)成功!);System.exit(0);default:/錯(cuò)誤提示System.out.println(輸入有問題,請(qǐng)重新輸入:);/* * 打印商品列表的方法,參數(shù)是Datas類型,無(wú)返回值 * 通過調(diào)用客戶端業(yè)務(wù)類的方法得到返回值,打印商品列表 * param datas */打印商品列表privatestaticvoid showList(Datas datas)System.out.println(-);System.out.println(商品編號(hào)tt商品名稱tttt商品單價(jià)tt單位tt數(shù)量);
19、for(Goods good:datas.getGoodslist()System.out.println(good.getGoodid()+tt+good.getGoodname()+tt+good.getGoodprice()+tt+good.getGoodunit()+tt+good.getGoodcount();System.out.println(-);/* * 按編號(hào)查詢商品的方法.得到返回值,直接打印返回值中的商品 * param datas */打印單個(gè)商品privatestaticvoid showGood(Datas datas)System.out.println(-);
20、System.out.println(商品編號(hào)tt商品名稱tttt商品單價(jià)tt單位tt數(shù)量);System.out.println(datas.getGood().getGoodid()+tt+datas.getGood().getGoodname()+tt+datas.getGood().getGoodprice()+tt+datas.getGood().getGoodunit()+tt+datas.getGood().getGoodcount();System.out.println(-);/* * 收銀員菜單中的掃描商品的方法后打印掃描商品列表的方法 * * param datas */
21、打印掃描商品列表privatestaticvoid showScan(Datas datas)if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)/定義列表接收掃描后的購(gòu)買列表ArrayList scanlist=datas.getBuylist();/輸出商品列表System.out.println(商品編號(hào)t商品名稱tttt數(shù)量tt單價(jià)tt金額);System.out.println(-);for(Goods good:scanlist)System.out.println(good.getGoodid()+t+good.getGoodnam
22、e()+tt+good.getGoodcount()+tt+good.getGoodprice()+tt+(good.getGoodprice()*good.getGoodcount();System.out.println(-);/* * 查詢購(gòu)買列表中是否存在要修改數(shù)量的商品 * 參數(shù)為商品編號(hào),如果存在,返回true.不存在則返回false * param id * return */查詢購(gòu)買列表中是否存在要修改數(shù)量商品的編號(hào)privatestaticboolean hasid(String id)Datas datas=new Datas();datas.setBuylist(cb.r
23、esult().getBuylist();for(Goods good:datas.getBuylist()if(good.getGoodid().equals(id)returntrue;returnfalse;/* * 結(jié)賬方法,分為普通結(jié)賬和會(huì)員結(jié)賬 * 普通結(jié)賬和會(huì)員結(jié)賬,分別調(diào)用普通結(jié)賬方法和會(huì)員結(jié)賬方法 */結(jié)賬方法privatestaticvoid creatOver() /首先打印購(gòu)買列表,算出總金額.調(diào)用普通結(jié)賬,或vip結(jié)賬double money=sum(cb.result();/System.out.println(您的消費(fèi)金額是:+money);/提示選擇結(jié)賬方法if
24、(money!=0)System.out.println(請(qǐng)選擇結(jié)賬方法:);System.out.println(1.普通結(jié)賬t2.會(huì)員結(jié)賬);int choice=input.nextInt();if(choice=1)/普通會(huì)員結(jié)賬方法System.out.println(您的消費(fèi)金額是:+money);doSystem.out.println(請(qǐng)輸入金額:);int pay=input.nextInt();if(pay0)System.out.println(請(qǐng)輸入正確金額!);elseif(pay=money)/System.out.println();/結(jié)賬成功.調(diào)用結(jié)賬方法,打印
25、小票,并跳出結(jié)賬.Over(money, pay);break;elseSystem.out.println(請(qǐng)輸入正確格式:);while(true);elseif(choice=2)/vip會(huì)員結(jié)賬方法,會(huì)員卡號(hào)2011.System.out.println(您的消費(fèi)金額是:+money);System.out.print(請(qǐng)輸入您的會(huì)員卡號(hào):);doint vip = input.nextInt();if(vip=2013)System.out.print(會(huì)員卡號(hào)正確,請(qǐng)輸入您要支付的金額:);int vippay=input.nextInt();if(vippay0)if(vippa
26、ymoney)/金額足夠時(shí)調(diào)用vip結(jié)賬方法VipOver(money, vippay);break;elseSystem.out.println(付款金額不足);elseSystem.out.println(付款金額必須大于0!);elseSystem.out.println(您的會(huì)員卡號(hào)不正確:);while(true);elseSystem.out.println(無(wú)此結(jié)賬方法);else System.out.println(您還沒有掃描商品);/* * 結(jié)賬時(shí)用到的計(jì)算購(gòu)買金額的方法,如果buylist不為空,則返回購(gòu)買金額.否則返回0. * * param result * ret
27、urn */算出購(gòu)買總金額的方法privatestaticdouble sum(Datas result)/首先判斷購(gòu)買列表是否為空,不為空則算出購(gòu)買金額if(cb.result().getFlag().equals(SysConstans.SYS_SUCCESS)ArrayList list=cb.result().getBuylist();double sum=0;/購(gòu)買總額for(int i=0;ilist.size();i+)sum+=list.get(i).getGoodprice()*list.get(i).getGoodcount();return sum;elsereturn
28、0;/計(jì)算購(gòu)買數(shù)量的方法privatestaticint sumBuyListCount(Datas result)if(cb.result().getFlag().equals(SysConstans.SYS_SUCCESS)ArrayList list=cb.result().getBuylist();int goodscount=0;for(int i=0;ilist.size();i+)goodscount+=list.get(i).getGoodcount();return goodscount;elsereturn 0;/* * 普通結(jié)賬方法.返回結(jié)賬視圖,并清空購(gòu)買菜單 * pa
29、ram money * param pay */普通用戶結(jié)賬的方法privatestaticvoid Over(double money,int pay)/首先打印,小票的表頭System.out.println(*);System.out.println(tttt青鳥超市);System.out.println(收銀員:1001t小票號(hào): + ticket();/顯示購(gòu)買列表showbuylist();/顯示購(gòu)買金額和購(gòu)買的數(shù)量,結(jié)賬提示System.out.println(總數(shù)量: + sumBuyListCount(cb.result()+ ttt應(yīng)收: + money);System.
30、out.println(實(shí)收: + pay + tt找零: + (pay-money);System.out.println(Date();System.out.println(此小票是您退換貨及核對(duì)積分的憑證,請(qǐng)妥善保存!);System.out.println(*);/購(gòu)買列表清空cb.clear();/* * Vip會(huì)員結(jié)賬方法.返回結(jié)賬視圖,累計(jì)會(huì)員積分,并清空購(gòu)買菜單 * param money * param pay */vip用戶結(jié)賬方法privatestaticvoid VipOver(double money,int vippay)/首先打印,小票的表頭System.out.
31、println(*);System.out.println(tttt青鳥超市);System.out.println(收銀員:1001t小票號(hào): + ticket();/顯示購(gòu)買列表showbuylist();/顯示購(gòu)買金額和購(gòu)買的數(shù)量,結(jié)賬提示System.out.println(總數(shù)量: +sumBuyListCount(cb.result() + ttt應(yīng)收: + money);System.out.println(實(shí)收: + vippay + tt找零: + (vippay-money);/Vip積分提示System.out.println(本次累計(jì)積分成功tt卡號(hào):2011);Sys
32、tem.out.println(消費(fèi)前積分 + 本次消費(fèi)積分 = 消費(fèi)后積分);System.out.println(2000+(int)money+=+(2000+(int)money);System.out.println(Date();System.out.println(此小票是您退換貨及核對(duì)積分的憑證,請(qǐng)妥善保存!);System.out.println(*);/購(gòu)買列表清空cb.clear();/* * 打印購(gòu)買菜單的方法. */打印購(gòu)買列表的方法privatestaticvoid showbuylist()ArrayList buylist=cb.result().getBuyl
33、ist();System.out.println(序tt商品名稱(單位)tttt數(shù)量tt單價(jià)tt金額);System.out.println(-);for(int i=0;i0)this.goodprice = goodprice;elseSystem.out.println(價(jià)格必須大于0);public String getGoodunit() return goodunit;public void setGoodunit(String goodunit) this.goodunit = goodunit;public int getGoodcount() return goodcount
34、;public void setGoodcount(int goodcount) this.goodcount = goodcount;用戶類package com.supermarket.entity;/* * 用戶類 * 實(shí)現(xiàn)序列化 * 屬性:用戶名和密碼 * 方法:Set和Get方法 */import java.io.Serializable;public class User implements Serializable private String username;/用戶名private String password;/密碼/*public User()/無(wú)參數(shù)構(gòu)造方法/有參數(shù)
35、構(gòu)造方法public User(String username,String password)this.username=username;this.password=password;*/Set和Get方法public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password)
36、this.password = password;服務(wù)器類package com.supermarket.Server;/* * 服務(wù)器 * 繼承線程類,創(chuàng)建ServerService接口,監(jiān)聽客戶端請(qǐng)求 * 判斷客戶端傳遞的標(biāo)識(shí),通過標(biāo)識(shí)調(diào)用服務(wù)端業(yè)務(wù)類操作數(shù)據(jù)的方法,并給與客戶端響應(yīng) */import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import .ServerSocket;import .Socket;import com.supermarket.
37、Tools.Datas;import com.supermarket.Tools.SysConstans;import com.supermarket.Tools.Tools;public class ServerListener extends Threadpublic static void main(String args) / TODO 自動(dòng)生成的方法存根new ServerListener().start();Overridepublic void run()/服務(wù)器啟動(dòng)System.out.println(服務(wù)器啟動(dòng));/創(chuàng)建ServerSocket,Socket服務(wù)器socket
38、初始化ServerSocket serversocket = null;Socket socket =null;ObjectOutputStream oos =null;ObjectInputStream ois= null;try /實(shí)例化ServerSocketsocket端口號(hào)8888serversocket =new ServerSocket(Integer.parseInt(Tools.getVlaue(SysConstans.SYS_LISTENERPORT);/死循環(huán)監(jiān)聽請(qǐng)求while(true)socket=serversocket.accept();oos=new Objec
39、tOutputStream(socket.getOutputStream();ois = new ObjectInputStream(socket.getInputStream();/接受客戶請(qǐng)求的對(duì)象Datas datas = (Datas) ois.readObject();String flag = datas.getFlag();/創(chuàng)建服務(wù)器服務(wù)類的對(duì)象ServerService ss=new ServerService();/判斷客戶端傳過來(lái)的標(biāo)識(shí)是想調(diào)用什么方法if(datas.getFlag().equals(SysConstans.SYS_LOGIN)datas=ss.doLo
40、gin(datas);else if (flag.equals(SysConstans.SYS_ADD) datas = ss.add(datas);/ 商品出庫(kù) else if (flag.equals(SysConstans.SYS_CHUKU) datas = ss.down(datas);/ 商品入庫(kù) else if (flag.equals(SysConstans.SYS_RUKU) datas = ss.up(datas);/ 編號(hào)查看 else if (flag.equals(SysConstans.SYS_FIND) datas = ss.find(datas);/ 查看所有
41、else if (flag.equals(SysConstans.SYS_FINDALL) datas = ss.findAll(datas);/ 掃描商品 else if (flag.equals(SysConstans.SYS_SCAN) datas = ss.scan(datas);/ 修改商品 else if (flag.equals(SysConstans.SYS_UPDATA) datas = ss.upData(datas);/ 商品結(jié)賬 else if (flag.equals(SysConstans.SYS_RESULT) datas = ss.result(datas);/
42、商品清空 else if (flag.equals(SysConstans.SYS_CLEAR) datas = ss.clear();elsedatas.setFlag(SysConstans.SYS_ERROR);/把datas作為返回值寫入客戶端oos.writeObject(datas);oos.flush();socket.shutdownOutput(); catch (NumberFormatException e) / TODO 自動(dòng)生成的 catch 塊e.printStackTrace(); catch (IOException e) / TODO 自動(dòng)生成的 catch
43、塊e.printStackTrace(); catch (ClassNotFoundException e) / TODO 自動(dòng)生成的 catch 塊e.printStackTrace();finally/關(guān)閉流try oos.close();ois.close();socket.close(); catch (IOException e) / TODO 自動(dòng)生成的 catch 塊e.printStackTrace();System.out.println(服務(wù)器終止服務(wù)!);服務(wù)器業(yè)務(wù)類package com.supermarket.Server;import java.util.Array
44、List;import com.supermarket.Tools.Datas;import com.supermarket.Tools.SysConstans;import com.supermarket.entity.Goods;import com.supermarket.entity.User;/* * 服務(wù)業(yè)務(wù)類. * 用來(lái)初始化商品列表,創(chuàng)建管理員和收銀員對(duì)象 * 存放服務(wù)器端調(diào)用的方法 * author Administrator * */public class ServerService /* * 初始化管理員對(duì)象和收銀員對(duì)象 * 管理員對(duì)象:用戶名:admin密碼:admi
45、n * 收銀員對(duì)象:用戶名:user密碼:user * 初始化商品列表和購(gòu)買列表 */private static User stockman;/庫(kù)管對(duì)象private static User cashier;/收銀對(duì)象private static ArrayList goodslist=new ArrayList();/商品列表private static ArrayList buylist=new ArrayList();/購(gòu)買列表static/初始化庫(kù)管和收銀stockman=new User();stockman.setUsername(1101);stockman.setPasswo
46、rd(1111);cashier=new User();cashier.setUsername(1001);cashier.setPassword(0000);/初始化商品列表goodslist=new ArrayList();goodslist.add(new Goods(1001, 吉百芝麻油t,9.5,125ml,200);goodslist.add(new Goods(1002, 雀巢奶香咖啡t,1.5,13g,200);goodslist.add(new Goods(1003, 脈動(dòng)水蜜桃t,7.0,1.5l,500);goodslist.add(new Goods(1004, 旺仔
47、蘋果Q糖t,2.5,70g,700);goodslist.add(new Goods(1005, 桃李熟切片t,6.5,400g,150);goodslist.add(new Goods(1006, 白玉黃豆芽t,2.4,350g,200);goodslist.add(new Goods(1007, 白如內(nèi)酯豆腐t,1.0,400g,100);/* * 登錄方法驗(yàn)證客戶端傳過來(lái)的信息,判斷登錄人員身份 * 管理員,返回管理員標(biāo)識(shí) * 收銀員,返回收銀員標(biāo)識(shí) * 都不是則返回錯(cuò)誤標(biāo)識(shí) * param datas * return */登錄方法.驗(yàn)證是管理員還是收銀員登錄,如果錯(cuò)誤,返回錯(cuò)誤標(biāo)識(shí)p
48、ublic Datas doLogin(Datas datas)if(datas.getUser().getUsername().equals(stockman.getUsername()&datas.getUser().getPassword().equals(stockman.getPassword()datas.setFlag(SysConstans.SYS_ADMIN);else if(datas.getUser().getUsername().equals(cashier.getUsername()&datas.getUser().getPassword().equals(cashi
49、er.getPassword()datas.setFlag(SysConstans.SYS_CASHIER);elsedatas.setFlag(SysConstans.SYS_ERROR);return datas;/* * 倉(cāng)庫(kù)管理員的方法 */* * 管理員新增商品的方法, * param datas * return */新增商品public Datas add(Datas datas) / TODO 自動(dòng)生成的方法存根goodslist.add(datas.getGood();datas.setFlag(SysConstans.SYS_SUCCESS);/datas.setGoods
50、list(goodslist);return datas;/* * 管理員商品出庫(kù)的方法 * 判斷商品列表中是否存在,如果存在判斷庫(kù)存是否充足,充足,返回成功標(biāo)識(shí),并操作商品列表中的數(shù)量 * 如果庫(kù)存不充足,返回缺貨標(biāo)識(shí) * 如果商品列表中沒有此商品,返回失敗標(biāo)識(shí) * param datas * return */出庫(kù)方法public Datas down(Datas datas) / TODO 自動(dòng)生成的方法存根for(int i=0;i=datas.getGood().getGoodcount()goodslist.get(i).setGoodcount(goodslist.get(i).
51、getGoodcount()-datas.getGood().getGoodcount();datas.setGoodslist(goodslist);datas.setFlag(SysConstans.SYS_SUCCESS);return datas;elsedatas.setFlag(SysConstans.SYS_LACK);return datas;datas.setFlag(SysConstans.SYS_ERROR);return datas;/* * 管理員商品入庫(kù)方法 * 在商品列表中查詢到商品的位置,并修改數(shù)量 * param datas * return */入庫(kù)的方法p
52、ublic Datas up(Datas datas) / TODO 自動(dòng)生成的方法存根for(int i=0;igoodslist.size();i+)if(goodslist.get(i).getGoodid().equals(datas.getGood().getGoodid()goodslist.get(i).setGoodcount(goodslist.get(i).getGoodcount()+datas.getGood().getGoodcount();datas.setGoodslist(goodslist);datas.setFlag(SysConstans.SYS_SUCC
53、ESS);return datas;return null;/* * 管理員按編號(hào)查找商品的方法 * 查詢到返回成功標(biāo)識(shí) * 否則返回錯(cuò)誤標(biāo)識(shí) * param datas * return */按編號(hào)查找商品public Datas find(Datas datas) / TODO 自動(dòng)生成的方法存根for(int i=0;igoodslist.size();i+)if(goodslist.get(i).getGoodid().equals(datas.getGood().getGoodid()datas.setFlag(SysConstans.SYS_SUCCESS);datas.setGo
54、od(goodslist.get(i);return datas;datas.setFlag(SysConstans.SYS_ERROR);return datas;/* * 管理員查詢?nèi)可唐返姆椒?* param datas * return */查詢?nèi)可唐妨斜淼姆椒╬ublic Datas findAll(Datas datas) /設(shè)置標(biāo)識(shí)為success,并設(shè)置商品列表.返回datas數(shù)據(jù)datas.setFlag(SysConstans.SYS_SUCCESS);datas.setGoodslist(goodslist);return datas;/* * 收銀員調(diào)用的方法 *
55、param datas * return */* * 管理員掃描商品的方法 * 首先查詢購(gòu)買列表中是否存在掃描的商品,如果沒有則從商品列表中找到,修改數(shù)量后添加到購(gòu)買列表 * 如果購(gòu)買列表中存在掃描商品,則數(shù)量加1,商品列表中相對(duì)應(yīng)的商品數(shù)量-1; * param datas * return */管理員掃描商品的方法public Datas scan(Datas datas) / TODO 自動(dòng)生成的方法存根for(int i=0;ibuylist.size();i+)/如果購(gòu)買列表中存在商品說明已經(jīng)掃描過了,數(shù)量加一并返回,商品列表中數(shù)量-1if(buylist.get(i).getGoo
56、did().equals(datas.getGood().getGoodid()buylist.get(i).setGoodcount(buylist.get(i).getGoodcount()+1);datas.setFlag(SysConstans.SYS_SUCCESS);datas.setBuylist(buylist);goodslist.get(i).setGoodcount(goodslist.get(i).getGoodcount()-1);/datas.setBuylist(buylist);return datas;/遍歷之后如果沒有,說明商品還沒有掃描,在商品列表中掃描,
57、并加入到購(gòu)買列表for(int j=0;j0)/如果商品數(shù)量大于1,則掃描成功,把掃描的商品加入購(gòu)買列表,把商品列表中的數(shù)量-1,返回datas.Goods good=new Goods();good.setGoodid(goodslist.get(j).getGoodid();good.setGoodname(goodslist.get(j).getGoodname();good.setGoodprice(goodslist.get(j).getGoodprice();good.setGoodunit(goodslist.get(j).getGoodunit();good.setGoodco
58、unt(1);buylist.add(good);datas.setFlag(SysConstans.SYS_SUCCESS);datas.setBuylist(buylist);goodslist.get(j).setGoodcount(goodslist.get(j).getGoodcount()-1);return datas;elsedatas.setFlag(SysConstans.SYS_LACK);return datas;datas.setFlag(SysConstans.SYS_ERROR);return datas;/* * 收銀員修改商品數(shù)量的方法 * 首先在商品列表中找
59、到商品,判斷數(shù)量是否足夠,夠則操作數(shù)量,返回成功標(biāo)識(shí) * 不夠則返回缺乏標(biāo)識(shí) * 如果不存在則返回錯(cuò)誤標(biāo)識(shí) * param datas * return */public Datas upData(Datas datas) / 遍歷購(gòu)買列表得到購(gòu)買商品idfor(int i=0;ibuylist.size();i+)if(buylist.get(i).getGoodid().equals(datas.getGood().getGoodid()/得到id判斷庫(kù)存數(shù)量是否足夠if(datas.getGood().getGoodcount()=goodslist.get(i).getGoodcoun
60、t()+1)buylist.get(i).setGoodcount(datas.getGood().getGoodcount();goodslist.get(i).setGoodcount(goodslist.get(i).getGoodcount()+1-datas.getGood().getGoodcount();datas.setFlag(SysConstans.SYS_SUCCESS);datas.setBuylist(buylist);return datas;elsedatas.setFlag(SysConstans.SYS_LACK);return datas;/遍歷購(gòu)買列表后沒
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年基站用地使用權(quán)合同
- 鐵路建設(shè)土方開挖安全保障方案
- 2024年地方特色小吃租賃協(xié)議
- 棋社活動(dòng)經(jīng)費(fèi)管理制度
- 2024年丙丁雙方關(guān)于租賃寫字樓合同標(biāo)的的協(xié)議書
- 小學(xué)語(yǔ)文知識(shí)與能力雙向評(píng)價(jià)方案
- 2024年創(chuàng)新:虛擬現(xiàn)實(shí)游戲開發(fā)與合作合同
- 2024年勞動(dòng)合同制衣廠員工權(quán)益
- 2024年衛(wèi)星互聯(lián)網(wǎng)服務(wù)運(yùn)營(yíng)合同
- 2024年大學(xué)生創(chuàng)業(yè)導(dǎo)師責(zé)任制合同
- 《老年人康樂活動(dòng)》課件
- 銀行與信托行業(yè)營(yíng)銷方案
- 哈爾濱工業(yè)大學(xué)介紹
- 部編版八年級(jí)歷史上冊(cè)《戊戌變法》評(píng)課稿
- 供應(yīng)商調(diào)查表格式
- 民警職務(wù)晉升考察材料范文四篇
- 公交車站突發(fā)事件處置方案
- 《舞蹈》課程教案-站姿組合
- 中石化定額章節(jié)官方解析交流148篇答疑
- 西方思想經(jīng)典導(dǎo)讀知到章節(jié)答案智慧樹2023年湖南師范大學(xué)
- 腫瘤科疑難病例討論發(fā)熱
評(píng)論
0/150
提交評(píng)論