`
Sunflower-13
  • 浏览: 74052 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

仓库管理系统(上货、回库)

    博客分类:
  • J2EE
阅读更多

仓库管理系统(上货、回库)

超市库存系统,库存管理员可登录系统,三次机会,否则需要管理员解锁。仓库管理员可选择入库,上货,回库。入库时,选择已有商品(可通过检索方式),如果已有商品中没有此商品,则可新建。上货:即将库中物品放至超市中。回库:将超市内物品重新放回库中。 物品即将过期时有过期提醒。

上一篇是写了过期提醒,这篇主要写上货和回库,其他功能大都是实现一些基本的增删改查就不一一写了。

首先说一下页面的布局,是使用easyui的面板,将页面分为上、左、中、右、下,只有中部是通过选择左部菜单中的选项,从而打开选项卡变换的,其他模块都是固定不变的。

以下时上货和回库的效果图:


图1.仓库原内库存量 

 



 图2.超市内原货量

 



 图3.上货量超过库存量,发出提醒

 



 图4.上货量为20

 



 图5.上货成功1(库存量减20)

 



 图6.上货成功2(超市内货量加20)

 



 图7.回库量大于超市内货量

 



 图8.回库量30

 



 图9.回库成功1(超市货量减30)

 



 图10.回库成功2(仓库内库存量加30)

 

大致效果如上。

那么下面就说一下上货和回库在dao层实现的方法吧:其实这两个方法大相径庭,上货呢,就只是在批次表中将库存量减前台页面传来的上货量,再将产品表中的货量加上传过来的上货量;回库呢,就是与之相反的操作,即将sql语句中的加减号与上货的反过来即可(下面附上上货方法的代码)。

 

/**
* 根据商品编号,和用户输入的数量,改变该商品的数量,
* 即:增加超市内商品数量,减少库存量,简称上货,
*(*********回库,就是减少 超市呢商品数量,增加库存量***********)
* (由前台js做出判断:若上货的数量超过库存量则给予用户提醒)
* @param proid 商品编号
* @param count 数量
* @return
*/
public boolean changeWarehouse(String proid,int amount){
        //batch 是批次表,sto_amount是库存量
        String sql = "update batch set sto_amount=sto_amount - "+ amount+" where proid="+proid                 +"and sto_amount >="+ amount ;
       //product 是产品表,amount是超市内货量
       String sql2 = "update product set amount=amount + "+ amount+" where proid="+proid ;
       boolean result = false;
       conn = DBUtil.getConn();
       try {
              ps = conn.prepareStatement(sql);
              int count = ps.executeUpdate();
              if(count>0){
                                 ps = conn.prepareStatement(sql2);
                                 int count1 = ps.executeUpdate();
                                 if(count1>0){
                                                       result = true;
                                  }
               }
       } catch (SQLException e) {
                    e.printStackTrace();
       }finally{
                   DBUtil.close(rs, ps, conn);
       }
        return result;
}

  

  接下来是上货的页面代码:

 

 

<a href="#"class="easyui-linkbutton" id="change"
data-options="iconCls:'icon-man',plain:'true'">上货
</a>

 

  当在页面点击 上货 时,会弹出一个window窗口,携带商品编号和需要用户输入的上货量,提交和重置按钮。

回库 代码与之相似)

在script中

$("#change").linkbutton({
width:80,
plain:true,
iconCls:"icon-edit",
onClick:function(){
var rows = $("#mytable").datagrid("getSelections");
if(rows.length != 1){
$.messager.alert("警告框","请选择一行数据进行修改","info");
return;
}else{
$("#batch_window").window({
title:"上货",
width:260,
height:220,
modal:true,//可视化
href:"${pageContext.request.contextPath}/jsp/change.jsp",
queryParams:{"type":"change",
"baid":rows[0].baid,
"sto_amount":rows[0].sto_amount,
"proid":rows[0].pro.proid,
//"proname":rows[0].pro.proname
},
onClose:function(){
$("#mytable").datagrid("reload");
}
});
}
}
});

 

下面是上货界面的代码,回库界面代码与之相似

<%@ page language="java"  pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<html>
  <head>
    <title>上货界面</title>
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
  </head>
  
  <body>
  	<script type="text/javascript">
	  	$(function(){
	  		$("#btnSub").linkbutton({//提交按钮
	  			width:80,
	  			iconCls:"icon-save",
	  			onClick:function(){
	  				var rows = $("#mytable").datagrid("getSelections");
	  				var sto_amount = parseInt(rows[0].sto_amount);
	  				var count = parseInt($("#count").val());
	  				if(sto_amount<count){
	  					alert("商品上货数量不能超过库存量!");
	  				}else{
	  					$.ajax({
		  					type:'post',
		  					url:'WarehouseServlet?type=change',
		  				    data:$("form").serialize(),
		  				    success:function(data){
		  				    	$("#mytable").datagrid('reload');
		  				    	$("#batch_window").window('close');
		  				    }
		  				});
	  				}
	  				
	  			}
	  		});
	  		$("#btnSet").linkbutton({//重置按钮
	  			width:80,
	  			iconCls:"icon-cancel",
	  			onClick:function(){
	  				//重置功能
	  				$("#myform")[0].reset();
	  			}
	  		});
	  	});
  	</script>
  
	页面显示内容
  	<div id="mypanel" class="easyui-panel" style="text-align:center;border:0">
  		<form id="myform" action="WarehouseServlet" method="get">
  			<input hidden="hidden" name="type" value="change">
  			 <p>
  				<label for="pro">商品编号:</label>
  				<input type="text" name="pro" class="easyui-numberbox" 
  				value="${param.proid}"/>
  				
  			</p> 		
  			<p>
  				<label for="count">上货量:</label>
  				<input type="text" id = "count" name="count" class="easyui-numberbox" />
  			</p>
  			<p>
  				<a id="btnSub">提交</a>
  				<a id="btnSet">重置</a>
  			</p>
  		</form>
  	</div>
  </body>
</html>

 

最后就是servlet中的代码啦,当用户在页面发出上货(change)的请求,servlet就会调用上货的方法并进行相应的页面跳转,当用户在页面发出回库(back)的请求,servlet也会作出相应的响应。

// 将库存中商品的数量减少放置到超市中的商品数量
else if ("change".equals(type)) {
String proid = request.getParameter("pro");//获取商品编号
int amount = Integer.parseInt(request.getParameter("count"));//获取上货量
boolean result = service.changeWarehouse(proid, amount);
Gson obj = new Gson();
String str = obj.toJson(result);//转gson格式
System.out.println(str);
if (result) {
request.getRequestDispatcher("jsp/search.jsp").forward(request,
response);//跳转页面到查询库存列表页面(即查询批次列表)
} else {
out.print("商品上货数量不能超过库存量!");
}
}

// 将从超市中减少的商品数量添加到仓库中的库存量中
else if ("back".equals(type)) {
String proid = request.getParameter("pro");
int amount = Integer.parseInt(request.getParameter("count"));//获取回货量
boolean result = service.changeMarket(proid, amount);
if (result) {
Gson obj = new Gson();
String str = obj.toJson(result);
System.out.println(str);
request.getRequestDispatcher("jsp/products.jsp").forward(
request, response);//跳转到查询超市商品列表页面(即查询产品表)
} else {
out.print("回库的商品数量不能超过超市内货存量!");
}
}

 

整理得比较凌乱,如有什么不够清楚的地方可以给我评论指出,有什么更好的方法和建议也希望能得到各位大神的指教!

 

  • 大小: 889.6 KB
  • 大小: 876.3 KB
  • 大小: 879 KB
  • 大小: 887.3 KB
  • 大小: 885.3 KB
  • 大小: 81.1 KB
  • 大小: 89.3 KB
  • 大小: 89.2 KB
  • 大小: 100.3 KB
  • 大小: 878.9 KB
1
0
分享到:
评论

相关推荐

    Access仓库管理系统

    《Access仓库管理系统详解》 Access仓库管理系统是一款基于Microsoft Access数据库技术构建的企业级仓库管理解决方案。在信息化日益发达的今天,有效的仓库管理对于企业的运营至关重要,它可以帮助企业优化库存,...

    C#仓库管理系统+完整源代码

    《C#仓库管理系统详解及源代码分析》 在IT行业中,C#作为一种高效且功能强大的编程语言,被广泛应用于各种软件开发,尤其是企业级应用。本篇将详细讲解基于C#构建的仓库管理系统的核心概念、设计思路以及源代码解析...

    简单的仓库管理系统

    【简单的仓库管理系统】是一个专为小型企业或个人设计的轻量级库存管理解决方案。这个系统旨在简化仓库操作,提供高效的商品进出记录、库存查询以及基本的统计分析功能,以帮助用户更好地掌握库存状况,避免过度库存...

    仓库 仓库管理 仓库管理系统 仓库管理软件 库管软件 仓库软件

    仓库管理系统(Warehouse Management System,简称WMS)是实现高效、精确库存控制的关键工具,旨在优化库存流动,提升仓库作业效率,确保订单准确无误地完成。 仓库管理涉及到多个方面,包括库存管理、入库出库操作...

    asp.net仓库管理系统源码

    这是一款仓库管理系统,主要采用了netcore3.1+mysql/sqlserver+EFCor架构,适合进行二次开发管理系统使用。用户管理 角色管理 部门管理 数据字典管理 系统日志管理 登陆统计 仓库管理 入库管理 出库管理 库存查询 ...

    QT 仓库管理系统

    Qt是一个跨平台的应用程序开发框架,支持多种操作系统,包括Linux,因此该仓库管理系统不仅能在Windows上运行,还能在Linux环境下正常工作。这使得用户在不同操作系统下都能享受到一致的界面和操作体验。 该系统...

    基于C#的仓库管理系统

    【基于C#的仓库管理系统】是一个使用C#编程语言开发的软件应用,旨在帮助企业或组织高效地管理和跟踪库存。C#是一种面向对象的、类型安全的编程语言,由微软公司开发,广泛应用于Windows平台上的应用程序开发,包括...

    javaweb仓库管理系统.zip

    《JavaWeb仓库管理系统详解》 JavaWeb仓库管理系统是一款基于SSM框架(Spring、SpringMVC、MyBatis)开发的应用程序,适用于毕业设计和课程设计的学习参考。它旨在实现对仓库库存、进出货等业务流程的高效管理,...

    VB仓库管理系统论文

    【VB仓库管理系统论文】 本文将深入探讨如何使用Visual Basic(VB)编程语言设计并实现一个高效、实用的仓库管理系统。VB作为一款易于学习且功能强大的编程工具,常用于开发企业级应用,尤其在管理和自动化业务流程...

    仓库管理系统ERP仓库核账系统进销存网络版

    《仓库管理系统ERP仓库核账系统进销存网络版》 仓库管理系统是企业信息化建设中的重要组成部分,它旨在优化企业的仓储流程,提高库存管理效率,降低运营成本。ERP(Enterprise Resource Planning)仓库核账系统则是...

    一个简单的Asp仓库管理系统

    【Asp仓库管理系统详解】 Asp(Active Server Pages)是一种由微软开发的服务器端脚本环境,用于创建动态网页和Web应用程序。在这个“一个简单的Asp仓库管理系统”中,我们探讨的是如何利用Asp技术来构建一个基础的...

    基于winfrom 开发的仓库管理系统

    "基于winfrom 开发的仓库管理系统" 这个标题表明这是一个使用Windows Forms(winform)技术开发的应用程序,其主要功能是管理仓库的运营活动。Windows Forms是.NET Framework的一部分,用于构建桌面应用程序,提供...

    畅管仓库管理系统(免费版) v9.9

    综上所述,畅管仓库管理系统(免费版)v9.9 是一款全面而实用的仓库管理工具,它不仅提供基础的库存管理功能,还注重用户体验和数据安全性,是小企业优化仓储管理的理想选择。通过下载并安装CgCk.exe文件,用户可以...

    服装行业的-仓库管理系统

    该仓库管理系统专为服装行业定制,集成了预览、打印标签等多种功能,旨在满足服装企业在库存管理上的多元化需求。经过长时间的实际运行,系统的稳定性和实用性得到了充分验证,对初学者来说,这样的系统不仅提供了...

    php仓库管理系统

    它的语法简洁,学习曲线相对平缓,而且有大量的开源库和框架支持,如Laravel、CodeIgniter等,这些都为快速构建仓库管理系统提供了便利。在这个项目中,PHP可能被用来处理HTTP请求,与数据库交互,以及生成动态页面...

    asp仓库管理系统

    ASP仓库管理系统是一款基于ASP技术构建的实用型库存管理软件,主要应用于中小型企业或个人进行货物存储、出入库、库存查询等日常仓储管理。这个系统利用ASP(Active Server Pages)脚本语言,结合数据库技术,实现了...

    android 仓库管理系统

    综上所述,一个全面的Android 仓库管理系统需要覆盖库存管理的各个方面,提供便捷的用户体验,以优化仓库作业流程,降低运营成本,提高整体运营效率。在实际开发过程中,开发者应充分考虑用户需求,持续优化功能,以...

    仓库管理系统.rar_C 仓库管理_仓库_仓库管理系统_管理系统_进销存 仓库

    《仓库管理系统:C语言实现与进销存管理》 仓库管理系统是企业运营中不可或缺的一环,它涵盖了库存管理、采购管理、销售管理等关键环节,有效地提升了企业的运营效率。本系统采用C语言进行开发,旨在提供一个简洁而...

Global site tag (gtag.js) - Google Analytics