基于Java實現(xiàn)的商品出入庫管理系統(tǒng)(文末附源碼)
前言
一、出入庫管理系統(tǒng)含義介紹:
出入庫管理系統(tǒng)是一套利用一物一碼技術(shù)對倉庫貨物各環(huán)節(jié)實施全過程控制管理的系統(tǒng),可對倉庫貨物進行入庫、出庫、貨位、批次、保質(zhì)期等實現(xiàn)一物一碼標簽序列號管理,對整個收貨、發(fā)貨、補貨、集貨、送貨等每個環(huán)節(jié)的規(guī)范化作業(yè) , 還可以根據(jù)用戶訴求制作多種合理的統(tǒng)計報表。
二、出入庫管理系統(tǒng)有哪些功能模塊?
1、基本信息管理:系統(tǒng)不僅支持對包括品名、規(guī)格、生產(chǎn)廠家、產(chǎn)品批號、生產(chǎn)日期、有效期和箱包裝等商品基本信息進行設置,而且貨位管理功能對所有貨位進行編碼并存儲在系統(tǒng)的數(shù)據(jù)庫中,使系統(tǒng)能有效的追蹤商品所處位置,也便于操作人員根據(jù)貨位號迅速定位到目標貨位在倉庫中的物理位置;
2、上架管理:系統(tǒng)在自動計算最佳上架貨位的基礎上,支持人工干預,提供已存放同品種的貨位、剩余空間,并根據(jù)避免存儲空間浪費的原則給出建議的上架貨位并按優(yōu)先度排序,操作人員可以直接確認或人工調(diào)整;
3、揀選管理:揀選指令中包含位置信息和最優(yōu)路徑,根據(jù)貨位布局和確定揀選指導順序,系統(tǒng)自動在RF終端的界面等相關(guān)設備中根據(jù)任務所涉及的貨位給出指導性路徑,避免無效穿梭和商品找尋,提高了單位時間內(nèi)的揀選量;
4、庫存管理:系統(tǒng)支持自動補貨,通過自動補貨算法,不僅確保了揀選面存貨量,也能提高倉儲空間利用率,降低貨位蜂窩化現(xiàn)象出現(xiàn)的概率;出入庫管理系統(tǒng)能夠?qū)ω浳煌ㄟ^深度信息進行邏輯細分和動態(tài)設置,在不影響自動補貨算法的同時,有效的提高了空間利用率和對控制精度。
三、企業(yè)使用出入庫管理系統(tǒng)有什么優(yōu)點?
1、靈活對倉庫立體劃分庫區(qū)庫位;
2、支持多級倉庫的統(tǒng)一管理;
3、支持公司組織架構(gòu)下對倉庫的分級管理控制;4、提供自定義庫存報警(包括庫存量,庫存產(chǎn)品過期等屬性的報警);
5、二維碼/條形碼化倉庫管理、實現(xiàn)采用數(shù)據(jù)采集終端進行數(shù)據(jù)作業(yè)處理;
6、發(fā)貨單自動獲取;
7、支持全自動化、半自動化、手工的入庫作業(yè)。
出入庫管理系統(tǒng)搭建費用,出入庫管理系統(tǒng)功能介紹。今后,企業(yè)將不斷提高自身科技創(chuàng)新服務于與時俱進的新水平,注重業(yè)務,注重實效,努力開創(chuàng)與時俱進的新局面,注重協(xié)調(diào)與進步,盡快展現(xiàn)與時俱進的新業(yè)績。
功能
- 登錄
- 用戶管理
- 權(quán)限管理
- 商品管理
- 商品出入庫
- 商品出入庫記錄
技術(shù)棧
基于SSM框架開發(fā)。文章來源:http://www.zghlxwxcb.cn/news/detail-489527.html
- Spring
- SpringMVC
- MyBatis
- MySQL
- Jquery
- html
- Layui
代碼
Service
public class GoodsManageService {
@Resource
private TypeMapper typeMapper;
@Resource
private GoodsinfoMapper goodsinfoMapper;
@Resource
private GoodsInfo_stockMapper goodsInfo_stockMapper;
@Resource
private StockMapper stockMapper;
/**
* 查詢所有商品類別的操作方法
*/
public List<Type> findType() {
return typeMapper.selectByExample(null);
}
/**
* 添加商品類別的操作方法
*/
public int insertGoodsType(Type type) {
return typeMapper.insert(type);
}
/**
* 查詢商品名稱是否存在的操作方法
*/
public List<Goodsinfo> findGoodsName(Goodsinfo goodsinfo) {
GoodsinfoExample goodsinfoExample = new GoodsinfoExample();
goodsinfoExample.createCriteria().andGnameEqualTo(goodsinfo.getGname());
return goodsinfoMapper.selectByExample(goodsinfoExample);
}
/**
* 添加商品的操作方法
*/
public int insertGoods(Goodsinfo goodsinfo) {
return goodsinfoMapper.insert(goodsinfo);
}
/**
* 添加商品時也默認添加商品庫存為0的操作方法
*/
public int insertAndStock(Stock stock) {
StockExample stockExample = new StockExample();
stockExample.createCriteria().andGidEqualTo(stock.getGid());
return stockMapper.insert(stock);
}
/**
* 查詢商品詳細信息的操作方法
*/
public List<Goodsinfo_stock> findGoodsAll() {
return goodsInfo_stockMapper.findGoodsAll();
}
/**
* 修改商品信息的操作方法
*/
public int updateGoods(Goodsinfo goodsinfo) {
GoodsinfoExample goodsinfoExample = new GoodsinfoExample();
goodsinfoExample.createCriteria().andGidEqualTo(goodsinfo.getGid());
return goodsinfoMapper.updateByExampleSelective(goodsinfo, goodsinfoExample);
}
}
@Service
public class StockInAndOutService {
// 獲取注入容器的對象
@Resource
private GoodsinfoMapper goodsinfoMapper;
@Resource
private StockinMapper stockinMapper;
@Resource
private Stockin_detailMapper stockin_detailMapper;;
@Resource
private StockMapper stockMapper;
@Resource
private StockOutMapper stockOutMapper;
@Resource
private StockOut_detailMapper stockOut_detailMapper;
/**
* 查詢指定類別商品的操作方法
*/
public List<Goodsinfo> findGoodsByTid(String tid) {
if (!tid.isEmpty() && !tid.equals("0")) {
GoodsinfoExample goodsinfoExample = new GoodsinfoExample();
goodsinfoExample.createCriteria().andTidEqualTo(Integer.parseInt(tid));
return goodsinfoMapper.selectByExample(goodsinfoExample);
} else {
return goodsinfoMapper.selectByExample(null);
}
}
/**
* 添加出入庫單號的操作方法
*/
public int insertStockInAndOut(Stockin stockin) {
return stockinMapper.insert(stockin);
}
/**
* 添加出入庫詳情的操作方法
*/
public int insertStockInAndOut_dateil(Stockin_detail stockin_detail) {
return stockin_detailMapper.insert(stockin_detail);
}
/**
* 查詢出指定商品詳情信息的操作方法
*/
public List<Goodsinfo> findGoodsById(String gname) {
GoodsinfoExample goodsinfoExample = new GoodsinfoExample();
goodsinfoExample.createCriteria().andGnameEqualTo(gname);
return goodsinfoMapper.selectByExample(goodsinfoExample);
}
/**
* 添加商品庫存的操作方法
*/
public int inserStock(Stock stock) {
// 先判斷是否有已經(jīng)存在庫存id
StockExample stockExample = new StockExample();
stockExample.createCriteria().andGidEqualTo(stock.getGid());
List<Stock> selectByExample = stockMapper.selectByExample(stockExample);
if (selectByExample.size() != 0) {
// 如果已經(jīng)存在了就把原來的庫存和新的入庫數(shù)量相加
int s = stock.getStock() + selectByExample.get(0).getStock();
stock.setStock(s);
return stockMapper.updateByExampleSelective(stock, stockExample);
} else {
return stockMapper.insert(stock);
}
}
/**
* 查詢商品庫存的操作方法
*/
public List<Stock> findStockByid(int gid) {
StockExample stockExample = new StockExample();
stockExample.createCriteria().andGidEqualTo(gid);
return stockMapper.selectByExample(stockExample);
}
/**
* 添加出庫單號的操作方法
*/
public int insertStockOut(StockOut stockOut) {
return stockOutMapper.insert(stockOut);
}
/**
* 添加出庫詳情的操作方法
*/
public int insertStockOut_dateil(StockOut_detail stockOut_detail) {
return stockOut_detailMapper.insert(stockOut_detail);
}
/**
* 出庫成功修改商品庫存
*/
public int updateStock(Stock stock) {
// 先查詢出原有的庫存
StockExample stockExample = new StockExample();
stockExample.createCriteria().andGidEqualTo(stock.getGid());
List<Stock> selectByExample = stockMapper.selectByExample(stockExample);
int s = selectByExample.get(0).getStock() - stock.getStock();// 原有庫存減去出庫數(shù)量
stock.setStock(s);// 修改庫存
return stockMapper.updateByExampleSelective(stock, stockExample);
}
數(shù)據(jù)庫
-- ----------------------------
-- Table structure for permission
-- ----------------------------
DROP TABLE IF EXISTS `permission`;
CREATE TABLE `permission` (
`pid` int(2) NOT NULL COMMENT '權(quán)限id',
`pname` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '權(quán)限名稱',
`premark` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '備注',
PRIMARY KEY (`pid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '權(quán)限表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of permission
-- ----------------------------
INSERT INTO `permission` VALUES (1, 'user:add', '添加用戶權(quán)限');
INSERT INTO `permission` VALUES (2, 'goods:add', '商品添加權(quán)限');
INSERT INTO `permission` VALUES (3, 'stockin', '商品入庫權(quán)限');
INSERT INTO `permission` VALUES (4, 'stockout', '商品出庫權(quán)限');
-- ----------------------------
-- Table structure for role
-- ----------------------------
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
`rid` int(2) NOT NULL COMMENT '角色id0管理員1普通員工',
`iname` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名稱',
PRIMARY KEY (`rid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of role
-- ----------------------------
INSERT INTO `role` VALUES (0, '管理員');
INSERT INTO `role` VALUES (1, '普通員工');
-- ----------------------------
-- Table structure for role_permission
-- ----------------------------
DROP TABLE IF EXISTS `role_permission`;
CREATE TABLE `role_permission` (
`rid` int(2) NOT NULL COMMENT '角色id',
`pid` int(2) NOT NULL COMMENT '權(quán)限id',
INDEX `fk_rid2`(`rid`) USING BTREE,
INDEX `fk_pid`(`pid`) USING BTREE,
CONSTRAINT `fk_pid` FOREIGN KEY (`pid`) REFERENCES `permission` (`pid`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `fk_rid2` FOREIGN KEY (`rid`) REFERENCES `role` (`rid`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色權(quán)限表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of role_permission
-- ----------------------------
INSERT INTO `role_permission` VALUES (0, 1);
INSERT INTO `role_permission` VALUES (0, 2);
INSERT INTO `role_permission` VALUES (0, 3);
INSERT INTO `role_permission` VALUES (0, 4);
源碼
點擊免費獲取源碼&數(shù)據(jù)庫文章來源地址http://www.zghlxwxcb.cn/news/detail-489527.html
到了這里,關(guān)于基于Java實現(xiàn)的商品出入庫管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!