import java.util.*;
創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為羅莊企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,羅莊網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
class 商品 extends Panel
{String 代號(hào),名稱(chēng);int 庫(kù)存;float 單價(jià); br/商品(String 代號(hào),String 名稱(chēng),int 庫(kù)存,float 單價(jià)) br/{this.代號(hào)=代號(hào);this.名稱(chēng)=名稱(chēng);this.庫(kù)存=庫(kù)存;this.單價(jià)=單價(jià); br/}
}
class ShowWin extends JFrame implements ActionListener
{ Hashtable hashtable=null;
JTextField 代號(hào)文本框=new JTextField(),
名稱(chēng)文本框=new JTextField(),
庫(kù)存文本框=new JTextField(),
單價(jià)文本框=new JTextField(),
查詢(xún)文本框=new JTextField(),
查詢(xún)信息文本框=new JTextField(),
刪除文本框=new JTextField();
JButton b_add=new JButton("添加商品"),
b_del=new JButton("刪除商品"),
b_xun=new JButton("查詢(xún)商品"),
b_xiu=new JButton("修改商品"),
b_show=new JButton("顯示商品清單");
JTextArea 顯示區(qū)=new JTextArea(25,10);
ShowWin()
{super("倉(cāng)庫(kù)管理窗口"); br/hashtable=new Hashtable(); br/Container con=getContentPane(); br/JScrollPane pane=new JScrollPane(顯示區(qū)); br/顯示區(qū).setEditable(false); br/JPanel save=new JPanel(); br/save.setLayout(new GridLayout(8,2)); br/save.add(new Label("輸入代號(hào):")); br/save.add(代號(hào)文本框); br/save.add(new Label("輸入名稱(chēng):")); br/save.add(名稱(chēng)文本框); br/save.add(new Label("輸入庫(kù)存:"));/pre /div div class="replenish min_margin" dl dt 補(bǔ)充: /dt dd save.add(庫(kù)存文本框); br/save.add(new Label("輸入單價(jià):")); br/save.add(單價(jià)文本框); br/save.add(new Label("單擊添加:")); br/save.add(b_add); br/save.add(new Label("單擊修改:")); br/save.add(b_xiu); br/save.add(new Label("輸入查詢(xún)代號(hào):")); br/save.add(查詢(xún)文本框); br/save.add(new Label("單擊查詢(xún):")); br/save.add(b_xun); br/JPanel del=new JPanel(); br/del.setLayout(new GridLayout(2,2)); br/del.add(new Label("輸入刪除的代號(hào):")); br/del.add(刪除文本框); br/del.add(new Label("單擊刪除:")); br/del.add(b_del); br/JPanel show=new JPanel(); br/show.setLayout(new BorderLayout()); br/show.add(pane,BorderLayout.CENTER); br/show.add(b_show,BorderLayout.SOUTH); br/JSplitPane split_one,split_two; br/split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,del); br/split_two=new br/JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,show); br/con.add(split_two,BorderLayout.CENTER); br/JPanel xun=new JPanel(); br/xun.add(new Label("所得信息:")); br/xun.add(查詢(xún)信息文本框); br/xun.setLayout(new GridLayout(2,1)); br/con.add(xun,BorderLayout.SOUTH); br/b_add.addActionListener(this); /dd /dl dl dt 補(bǔ)充: /dt dd b_del.addActionListener(this); br/b_xun.addActionListener(this); br/b_xiu.addActionListener(this); br/b_show.addActionListener(this); br/}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b_add) br/{String daihao=null,mingcheng=null;int kucun=0;float danjia=0.0f; br/daihao=代號(hào)文本框.getText();mingcheng=名稱(chēng)文本框.getText(); br/kucun=Integer.parseInt(庫(kù)存文本框.getText()); br/danjia=Float.valueOf(單價(jià)文本框.getText()).floatValue(); br/商品 goods=new 商品(daihao,mingcheng,kucun,danjia); br/hashtable.put(daihao,goods); br/try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out=new ObjectOutputStream(file); br/out.writeObject(hashtable); out.close(); br/}
catch(IOException event){}
}
else if(e.getSource()==b_del)
{String daihao1=刪除文本框.getText(); br/try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in=new ObjectInputStream(come_in); br/hashtable=(Hashtable)in.readObject(); ////// br/in.close(); br/} /dd /dl 補(bǔ)充: catch(ClassNotFoundException event){}
catch(IOException event){}
商品 temp=(商品)hashtable.get(daihao1);
{hashtable.remove(daihao1);}
try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out =new ObjectOutputStream(file); br/out.writeObject(hashtable);// br/out.close(); br/}
catch(IOException event){}
}
//
else if(e.getSource()==b_xun)
{ String aa;
aa=查詢(xún)文本框.getText();
查詢(xún)信息文本框.setText(null);
try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in =new ObjectInputStream(come_in); br/hashtable=(Hashtable)in.readObject(); //// br/in.close(); br/}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 a=(商品)hashtable.get(aa);
查詢(xún)信息文本框.setText(" 代號(hào):"+a.代號(hào)+" 名稱(chēng):"+a.名稱(chēng)+" 庫(kù)存:"+a.庫(kù)存+" 單價(jià):"+a.單價(jià));
}
//
else if(e.getSource()==b_xiu)
{ String bb;
bb=代號(hào)文本框.getText();
try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in=new ObjectInputStream(come_in); /dd /dl dl dt 補(bǔ)充: /dt dd hashtable=(Hashtable)in.readObject(); ////// br/in.close(); br/}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 temp=(商品)hashtable.get(bb);
{hashtable.remove(bb);}
try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out =new ObjectOutputStream(file); br/out.writeObject(hashtable);// br/out.close(); br/}
catch(IOException event){}
String daihao1=null,mingcheng1=null;int kucun1=0;float danjia1=0.0f;
daihao1=代號(hào)文本框.getText();mingcheng1=名稱(chēng)文本框.getText();
kucun1=Integer.parseInt(庫(kù)存文本框.getText());
danjia1=Float.valueOf(單價(jià)文本框.getText()).floatValue();
商品 goods1=new 商品(daihao1,mingcheng1,kucun1,danjia1);
hashtable.put(daihao1,goods1);
try{FileOutputStream file=new FileOutputStream("goods.txt"); br/ObjectOutputStream out=new ObjectOutputStream(file); br/out.writeObject(hashtable); out.close(); br/}
catch(IOException event){}
}
//
else if(e.getSource()==b_show)
{ 顯示區(qū).setText(null); 補(bǔ)充: try{FileInputStream come_in=new FileInputStream("goods.txt"); br/ObjectInputStream in =new ObjectInputStream(come_in); br/hashtable=(Hashtable)in.readObject(); //// br/}
catch(ClassNotFoundException event){}
catch(IOException event){}
Enumeration enum=hashtable.elements();
while(enum.hasMoreElements())
{ 商品 te=(商品)enum.nextElement();
顯示區(qū).append("商品代號(hào):"+te.代號(hào)+" ");
顯示區(qū).append("商品名稱(chēng):"+te.名稱(chēng)+" ");
顯示區(qū).append("商品庫(kù)存:"+te.庫(kù)存+" ");
顯示區(qū).append("商品單價(jià):"+te.單價(jià)+" ");
顯示區(qū).append("\n ");
}
}
}
}
public class LinkListFour
{public static void main(String args[]) br/{ ShowWin win=new ShowWin(); br/win.setSize(400,350); br/win.setVisible(true); br/win.addWindowListener(new WindowAdapter() br/{public void windowClosing(WindowEvent e) br/{ System.exit(0);}});
}
}
終于完了! 追問(wèn): 這里面應(yīng)該沒(méi)有涉及到功能吧?? 回答: 你可以根據(jù)這個(gè)寫(xiě)出來(lái)呀!呵呵.
既然是商品庫(kù)存系統(tǒng),那么最少有各種商品的單件信息,1:需要有商品的進(jìn)貨價(jià)格,賣(mài)出價(jià)格,剩余數(shù)量,每月的銷(xiāo)售數(shù)量,進(jìn)貨時(shí)間等,在對(duì)應(yīng)的數(shù)據(jù)庫(kù)表創(chuàng)建相應(yīng)的字段。2:商品管理就是對(duì)多種商品的管理,所以還要有各種商品的分類(lèi),比如煙酒類(lèi),飲料類(lèi),小吃類(lèi),將其分類(lèi)好管理,同樣數(shù)據(jù)庫(kù)里面建立相對(duì)的數(shù)據(jù)表。具體需要根據(jù)自己需求來(lái)編寫(xiě)。3:界面的設(shè)計(jì),這里可分為登陸界面,其中一個(gè)是用戶(hù)登陸后查看的界面,和管理員登陸后查看的界面,用戶(hù)登錄只能查看對(duì)應(yīng)的商店的物品管理,并且能進(jìn)行修改自家商品。管理員登陸可查看所有的用戶(hù)的商店物品,及修改物品信息。而物品分類(lèi)欄就可以用jQuery來(lái)實(shí)現(xiàn)局部的刷新界面。左邊為物品分類(lèi)欄,右邊為選中物品類(lèi)的信息。點(diǎn)擊右邊分類(lèi)物品的某件物品,可跳轉(zhuǎn)到該類(lèi)物品的單個(gè)信息,如第1點(diǎn)提到的。
你說(shuō)的java源代碼是指編譯成的class文件前的java文件。
當(dāng)我們運(yùn)行.java文件時(shí),它會(huì)被系統(tǒng)編譯成.class文件,例如Test.java編譯之后就是Test.class,
源文件就是指Test.java文件,
一般部署項(xiàng)目時(shí),有.class文件就可以發(fā)布運(yùn)行了,但是如果想修改這個(gè)系統(tǒng),.class是不能修改的,要有.java文件才能修改
也可以上網(wǎng)去下反編譯軟件,就是能把.class文件大部分還原成.java文件的工具,但不是100%還原,而且如果不是正版的,小心有毒啊,什么的。
我有進(jìn)銷(xiāo)存的源碼MVC、Hibernate的都有,但是數(shù)據(jù)庫(kù)是SQL Server 2000的。開(kāi)發(fā)工具采用Eclipse,開(kāi)發(fā)應(yīng)用服務(wù)器采用Tomcat 。不知可以不???
給你個(gè)流程,自己學(xué)著做,做出來(lái)你會(huì)很有成就感的,對(duì)你的技術(shù)也有很大幫助:
倉(cāng)庫(kù)管理系統(tǒng)流程說(shuō)明
(一)進(jìn)貨管理
現(xiàn)代商業(yè)管理,進(jìn)貨環(huán)節(jié)尤為重要,要求現(xiàn)場(chǎng)實(shí)時(shí)下訂單(Purchase
Order),及時(shí)補(bǔ)貨。
1、
業(yè)務(wù)員根據(jù)手中的手持終端(Handheld
Terminal,簡(jiǎn)稱(chēng)HHT),調(diào)用后臺(tái)資料,與實(shí)際庫(kù)存資料進(jìn)行實(shí)
時(shí)對(duì)照,并可通過(guò)終端無(wú)線(xiàn)驅(qū)動(dòng)打印機(jī)打印對(duì)照表;
2、
業(yè)務(wù)員根據(jù)實(shí)時(shí)對(duì)照表,現(xiàn)場(chǎng)決定是否應(yīng)補(bǔ)貨或退貨,通過(guò)終端調(diào)用后臺(tái)數(shù)據(jù)庫(kù)制定訂單,以最快速度進(jìn)行補(bǔ)貨或退貨;維持庫(kù)存的合理性。
(二)上架
將貨物存放到貨位上。
(三)交叉駁運(yùn)
這種作業(yè)不對(duì)商品進(jìn)行儲(chǔ)存,只處理信息分類(lèi)。作業(yè)接受來(lái)自制造商的顧客組合訂貨,并把他們裝運(yùn)到個(gè)別的顧客處去。交叉站臺(tái)是指多對(duì)多的配送體系中的貨物調(diào)整。直接通過(guò)交叉換貨后為客戶(hù)配送,可以避免出入庫(kù)的麻煩。
(四)收貨管理
1、
供貨商按照訂單要求將貨品送到商場(chǎng)收貨處;
2、
商場(chǎng)驗(yàn)收人員利用終端調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中相應(yīng)的訂單存盤(pán),與供貨商送來(lái)的商品逐一檢查對(duì)照,并進(jìn)行確認(rèn),包括:商品編碼、商品數(shù)量、生產(chǎn)地、品種、規(guī)格、包裝時(shí)間、保質(zhì)時(shí)間、舊價(jià)格、新價(jià)格、變更時(shí)間、條形碼標(biāo)準(zhǔn)等信息;
注:終端在系統(tǒng)未授權(quán)的情況下無(wú)法修改訂單。
3、
商場(chǎng)驗(yàn)收人員在終端上按[確認(rèn)]鍵,將信息上傳到后臺(tái)服務(wù)器,并同時(shí)記錄收貨時(shí)間和收貨人;
4、
終端可以現(xiàn)場(chǎng)實(shí)時(shí)調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中供貨商的歷史訂單,逐一查驗(yàn)對(duì)照核算;
5、
通過(guò)終端無(wú)線(xiàn)驅(qū)動(dòng)打印機(jī)打印收貨清單;
6、
在查驗(yàn)過(guò)程中出現(xiàn)問(wèn)題,可以拒收貨物。
(五)貨位管理
1、
采用條碼解讀器讀取商品條形碼,查詢(xún)商品在貨區(qū)的具體位置,(如X商品在A貨區(qū)B航道C貨架2層),用叉車(chē)將商品送到位,實(shí)現(xiàn)商品的全方位管理。
2、
通過(guò)終端實(shí)時(shí)地查看貨位貨量的存儲(chǔ)情況、空間大小及商品的最大容量,管理貨倉(cāng)的區(qū)域、容量、體積和裝備限度。
3、
系統(tǒng)可以支持商場(chǎng)貨架、工具、固定資產(chǎn)及設(shè)備的反復(fù)排定和追蹤管理;使實(shí)際現(xiàn)場(chǎng)的錯(cuò)誤堆放或工具、貨物的零散管理變得容易;使之有序、易于比較和修正現(xiàn)場(chǎng)與系統(tǒng)管理的信息差異;顯示、查詢(xún)?cè)O(shè)備、產(chǎn)品的使用歷史資料及商品、易損耗品的零用及耗費(fèi)清單。
(六)盤(pán)點(diǎn)管理
傳統(tǒng)盤(pán)點(diǎn)必須關(guān)門(mén)進(jìn)行盤(pán)點(diǎn),盤(pán)點(diǎn)時(shí)間長(zhǎng),投入人力、物力大,效率低,由于人為因素較多,盤(pán)點(diǎn)資料不準(zhǔn)確,給決策帶來(lái)極大困難。使用終端進(jìn)行商品盤(pán)點(diǎn),可以避免傳統(tǒng)盤(pán)點(diǎn)的這些弊端,而使用RF
終端后,后臺(tái)系統(tǒng)通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)終端在盤(pán)點(diǎn)采集資料的同時(shí)進(jìn)行數(shù)據(jù)處理,更節(jié)省時(shí)間,靈活性更好。
(七)查詢(xún)管理
1、
在任何時(shí)間和地點(diǎn),都可以通過(guò)終端進(jìn)行查詢(xún);查詢(xún)內(nèi)容包括:商品信息、庫(kù)存情況、變價(jià)核對(duì)、訂單校驗(yàn)等等;
2、
每次查驗(yàn)可以包括該項(xiàng)諸多信息的逐一核對(duì),并反饋給系統(tǒng)有效結(jié)果。
3、
總經(jīng)理的現(xiàn)場(chǎng)實(shí)時(shí)查詢(xún)和店面的現(xiàn)場(chǎng)實(shí)時(shí)指揮工作變得方便容易。
(八
)追蹤調(diào)貨管理
在商場(chǎng)、倉(cāng)庫(kù)、箱位、系列包裝及貨盤(pán)之間實(shí)現(xiàn)任意調(diào)貨功能。
(九)
出貨業(yè)務(wù)管理
完成校驗(yàn)單據(jù)、出庫(kù)登記、釋放貨位、意外處理、貨物跟蹤
(十)
揀選管理
略
(十一)
裝運(yùn)管理
略
(十二)
移庫(kù)管理
主要是針對(duì)不同庫(kù)區(qū)間的貨物移動(dòng),移入系統(tǒng)可以根據(jù)收貨系統(tǒng)原則進(jìn)行處理,移出系統(tǒng)可以根據(jù)出貨系統(tǒng)原則進(jìn)行處理。
(十三)
退貨處理
(1)
退廠通知維護(hù)
(2)
退廠通知確認(rèn):系統(tǒng)將在庫(kù)存中自動(dòng)增加待出量
(3)
將退廠作業(yè)資料傳送到配送中心,然后等待配送中心回單
(4)
得到退廠資料回單后,執(zhí)行退廠回單登錄,系統(tǒng)將自動(dòng)調(diào)整庫(kù)存
package com.company.dao;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class BaseDao {
// 數(shù)據(jù)庫(kù)驅(qū)動(dòng)
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//url
String url = "jdbc:sqlserver://數(shù)據(jù)庫(kù)ip:端口號(hào);databaseName=數(shù)據(jù)庫(kù)名;";
//用戶(hù)名
String uname = "數(shù)據(jù)庫(kù)用戶(hù)名";
//密碼
String pwd = "數(shù)據(jù)庫(kù)密碼";
/**
* 獲得連接對(duì)象
* @return
*/
protected Connection getCon(){
//返回的連接
Connection con = null;
try {
//載入驅(qū)動(dòng)
Class.forName(driver);
//得到連接
con = DriverManager.getConnection(url, uname, pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
/**
* 關(guān)閉數(shù)據(jù)庫(kù)
* @param con
* @param stmt
* @param rs
*/
protected void closeDB(Connection con, Statement stmt, ResultSet rs){
if(rs != null){
try {
//關(guān)閉結(jié)果集
rs.close();
rs = null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stmt != null){
try {
//關(guān)閉語(yǔ)句對(duì)象
stmt.close();
stmt = null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(con != null){
try {
//關(guān)閉連接對(duì)象
con.close();
con = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
protected void closeDB(Connection con, PreparedStatement pstmt, ResultSet rs){
if(rs != null){
//關(guān)閉結(jié)果集
try {
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pstmt != null){
try {
pstmt.close();
pstmt = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con != null){
try {
con.close();
con = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
這個(gè)是我寫(xiě)的一個(gè)基本的連接sql2005數(shù)據(jù)庫(kù)的代碼,.! 不知道你能不能用,! 你看一下吧, 連接的時(shí)候需要sqljdbc.jar數(shù)據(jù)庫(kù)驅(qū)動(dòng),!
名稱(chēng)欄目:java庫(kù)存系統(tǒng)源代碼 Java代碼庫(kù)
網(wǎng)頁(yè)URL:http://vcdvsql.cn/article18/hpgcdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容