import java.text.SimpleDateFormat;
成都創(chuàng)新互聯(lián)10余年專注成都高端網(wǎng)站建設(shè)定制網(wǎng)站開發(fā)服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計,成都網(wǎng)站設(shè)計服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),成都微信小程序,軟件開發(fā),網(wǎng)絡(luò)營銷推廣,網(wǎng)絡(luò)運營服務(wù)及企業(yè)形象設(shè)計;成都創(chuàng)新互聯(lián)擁有眾多專業(yè)的高端網(wǎng)站制作開發(fā)團隊,資深的高端網(wǎng)頁設(shè)計團隊及經(jīng)驗豐富的架構(gòu)師高端網(wǎng)站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡(luò)營銷方案,解決網(wǎng)絡(luò)營銷疑問。
import java.util.Date;
/**
* 自動生產(chǎn)編號
* @author
*chengeng
*/
public class AutoNum {
/**
*
* 在用此類時,必須先明確自己模塊編號的開頭
* @param start編號開頭,
* @param num從數(shù)據(jù)庫查詢出的最大編號
* @return
*/
public String getNum(String start,String num){
String n=num.substring(0,3);
if(!n.equals(start)){
System.out.println("編號的開頭與從數(shù)據(jù)庫取得的編號開頭不相同");
return "";
}
String strDate="";//流水號時間
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
//格式化當前時間,并按字符'-'分割
String[] sd=sdf.format(date).split("-");
//截取編號中的日期
String time=num.substring(3,11).toString();
for(int i=0;isd.length;i++){
strDate+=sd[i];
}
//如果當天或者表中沒有記錄,返回當天第一條記錄
if(!time.equals(strDate)||num.equals("")){
return start+strDate+"0001";
}
// 截取編號最后的流水號
String end=num.substring(11, 15);
String s2="";
int lg=Integer.parseInt(end);
//對流水號結(jié)尾的四位數(shù)字進行判斷,以便增加
if(lg0lg9){
s2="000"+(lg+1);
}else if(lg=9lg99){
s2="00"+(lg+1);
}else if(lg=99lg999){
s2="0"+(lg+1);
}else if(lg=999lg9999){
s2=""+(lg+1);
}
//返回自動生成后的流水號
return start+=strDate+s2;
}
}
給你個流程,自己學(xué)著做,做出來你會很有成就感的,對你的技術(shù)也有很大幫助:
倉庫管理系統(tǒng)流程說明
(一)進貨管理
現(xiàn)代商業(yè)管理,進貨環(huán)節(jié)尤為重要,要求現(xiàn)場實時下訂單(Purchase Order),及時補貨。
1、 業(yè)務(wù)員根據(jù)手中的手持終端(Handheld Terminal,簡稱HHT),調(diào)用后臺資料,與實際庫存資料進行實 時對照,并可通過終端無線驅(qū)動打印機打印對照表;
2、 業(yè)務(wù)員根據(jù)實時對照表,現(xiàn)場決定是否應(yīng)補貨或退貨,通過終端調(diào)用后臺數(shù)據(jù)庫制定訂單,以最快速度進行補貨或退貨;維持庫存的合理性。
(二)上架
將貨物存放到貨位上。
(三)交叉駁運
這種作業(yè)不對商品進行儲存,只處理信息分類。作業(yè)接受來自制造商的顧客組合訂貨,并把他們裝運到個別的顧客處去。交叉站臺是指多對多的配送體系中的貨物調(diào)整。直接通過交叉換貨后為客戶配送,可以避免出入庫的麻煩。
(四)收貨管理
1、 供貨商按照訂單要求將貨品送到商場收貨處;
2、 商場驗收人員利用終端調(diào)用后臺數(shù)據(jù)庫中相應(yīng)的訂單存盤,與供貨商送來的商品逐一檢查對照,并進行確認,包括:商品編碼、商品數(shù)量、生產(chǎn)地、品種、規(guī)格、包裝時間、保質(zhì)時間、舊價格、新價格、變更時間、條形碼標準等信息;
注:終端在系統(tǒng)未授權(quán)的情況下無法修改訂單。
3、 商場驗收人員在終端上按[確認]鍵,將信息上傳到后臺服務(wù)器,并同時記錄收貨時間和收貨人;
4、 終端可以現(xiàn)場實時調(diào)用后臺數(shù)據(jù)庫中供貨商的歷史訂單,逐一查驗對照核算;
5、 通過終端無線驅(qū)動打印機打印收貨清單;
6、 在查驗過程中出現(xiàn)問題,可以拒收貨物。
既然是商品庫存系統(tǒng),那么最少有各種商品的單件信息,1:需要有商品的進貨價格,賣出價格,剩余數(shù)量,每月的銷售數(shù)量,進貨時間等,在對應(yīng)的數(shù)據(jù)庫表創(chuàng)建相應(yīng)的字段。2:商品管理就是對多種商品的管理,所以還要有各種商品的分類,比如煙酒類,飲料類,小吃類,將其分類好管理,同樣數(shù)據(jù)庫里面建立相對的數(shù)據(jù)表。具體需要根據(jù)自己需求來編寫。3:界面的設(shè)計,這里可分為登陸界面,其中一個是用戶登陸后查看的界面,和管理員登陸后查看的界面,用戶登錄只能查看對應(yīng)的商店的物品管理,并且能進行修改自家商品。管理員登陸可查看所有的用戶的商店物品,及修改物品信息。而物品分類欄就可以用jQuery來實現(xiàn)局部的刷新界面。左邊為物品分類欄,右邊為選中物品類的信息。點擊右邊分類物品的某件物品,可跳轉(zhuǎn)到該類物品的單個信息,如第1點提到的。
import java.util.ArrayList;
public class Du {
public static void main(String[] args) throws Exception {
Seller seller = new Seller("My Store");
seller.addGoods("T-shirt", 200);
seller.addGoods("Pill", 100);
seller.addGoods("T-shirt", 100);
seller.addGoods("T-shirt", 50);
seller.addGoods("Pill", 50);
seller.addGoods("Hat", 100);
seller.printGoods();
Seller sell2 = new Seller("The Other Store");
sell2.addGoods("T-shirt", 200);
sell2.addGoods("Hat", 100);
sell2.sellGoods("T-shirt", 50);
sell2.addGoods("Hat", 100);
sell2.printGoods();
}
}
class Seller {
private String sellerName;
private int TotalTypeOfGoods;
private ArrayListString goodsNameList = new ArrayListString();
private ArrayListInteger goodsQuantityList = new ArrayListInteger();
public Seller(String sellerName) {
this.sellerName = sellerName;
}
public void addGoods(String goodName, int goodNum) {
int index = goodsNameList.indexOf(goodName);
if (index == -1) {
goodsNameList.add(goodName);
goodsQuantityList.add(new Integer(goodNum));
} else {
goodsQuantityList.set(index, goodsQuantityList.get(index)
.intValue()
+ goodNum);
}
TotalTypeOfGoods = goodsNameList.size();
}
public void sellGoods(String goodName, int goodNum) throws Exception {
if (TotalTypeOfGoods == 0) {
throw new Exception("No goods provided by the shop. Closed!");
}
int index = goodsNameList.indexOf(goodName);
if (index != -1) {
int qty = goodsQuantityList.get(index);
if (goodNum qty) {
throw new Exception("Insufficient goods in the shop. Sorry!");
}
goodsQuantityList.set(index, qty - goodNum);
}else{
throw new Exception("Our shop doesn't sell " + goodName);
}
}
public void printGoods() {
System.out.print("Seller :" + this.sellerName + "\t");
System.out.println("Totoal Types of Goods is :" + this.TotalTypeOfGoods);
for(int i = 0; i goodsNameList.size(); i++){
System.out.print("Goods Name: " + goodsNameList.get(i));
System.out.println("Remains: " + goodsQuantityList.get(i));
}
System.out.println();
}
}
-----------------testing
Seller :My Store Totoal Types of Goods is :3
Goods Name: T-shirtRemains: 350
Goods Name: PillRemains: 150
Goods Name: HatRemains: 100
Seller :The Other Store Totoal Types of Goods is :2
Goods Name: T-shirtRemains: 150
Goods Name: HatRemains: 200