超市仓库管理系统(过期提醒)

在超市系统的超市库存系统中,会有一个 对物品即将过期或已过期但未处理的物品的提醒。下面是仓库管理系统主页的一个显示情况:


 图1.仓库系统主页

从中截取出要实现的提醒部分如下:(布局有点Low,先将就一下)


 图2.商品过期提醒

实现步骤:

一、在dao层写出具体实现的方法,思路:设根据商品保质期的五分之一的天数作为快过期天数,然后用sql语句查询出将过期和已过期商品批次编号和天数,将数据放入map集合。

select   批次编号、((有效期-生产日期)/5 - abs(有效期-当前时间) ) 天数   from   商品批次表

where   (有效期-生产日期)/5 >= (有效期-当前时间)

/**
* 商品过期提醒(设根据商品保质期的五分之一的天数作为快过期天数,再作出判断)
* @return
*/
public Map<Integer, Integer> proDate(){
//定义map集合,用来存放商品批次编号和天数
Map<Integer,Integer> maps = new HashMap<Integer, Integer>() ;
//查询出将过期和已过期商品批次编号和天数 (过期提醒时间=保质期内时间/5)
//(有效期-生产日期)/5 - abs(有效期-当前时间) = 天数
//where条件:(有效期-生产日期)/5 >= (有效期-当前时间)
String sql = "select baid,(trunc(effdate,'dd')-trunc(prodate,'dd'))/5 - "
+ "(abs(trunc(effdate,'dd')-trunc(sysdate,'dd'))) time"
+ " from batch where ((trunc(effdate,'dd')-trunc(prodate,'dd'))/5 >= "
+ "(trunc(effdate,'dd')-trunc(sysdate,'dd')))";
conn = DBUtil.getConn();
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();

while(rs.next()){
int baid = rs.getInt(1);
int time = rs.getInt(2);

maps.put(baid, time);
//判断:如果天数小于零表示该商品已过期,因为天数小于零是负数所有要加绝对值
if(time<0){
System.out.println("第 "+baid+ " 批次商品已过期"+Math.abs(time)+"天!");
}
//判断:如果天数刚好等于0则表示该批次商品于当前日期过期
else if(time==0){
System.out.println("第 "+baid+ " 批次商品今天过期!");
}
//判断:如果天数大于0,则表示该批次商品在保质期的五分之一时间内,也就是说即将过期
else if(time>0){
System.out.println("第 "+baid+ " 批次商品还有"+time+"天过期!");
}

}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(rs, ps, conn);
}
return maps;
}

 

二、在index.jsp主页的页面布局中将提醒位置放在页面右边

<div data-options="region:'east',split:false" style="width:190px;">
        <div id="p" class="easyui-panel" title="备注" data-options="fit:true" >
             <p style="font-size:20px;text-align:center">商品过期提醒!</p>
            <div data-options="fit:true" id="panel" class="easyui-panel"
            style="color:red ;font-size:15px;" >
           </div>
      </div>
</div>

然后在该页面的script中调用servlet,获取数据到页面。

//将后台数据加载到面板中来
$("#panel").panel({
href:"WarehouseServlet?type=date"
});

三、servelet响应,从map中取出数据。

//商品过期提醒
if("date".equals(type)){
Map<Integer,Integer> maps = service.proDate();
for(Map.Entry<Integer, Integer> entry :maps.entrySet()){
int key = entry.getKey();
int value = entry.getValue();
if(value<0){
out.println("第 "+key+ " 批次商品已过期 "+Math.abs(value)+" 天!"+"\t\n");
}
else if(value==0){
out.println("第 "+key+ " 批次商品今天过期!"+"\t\n");
}
else if(value>0){
out.println("第 "+key+ " 批次商品还有 "+value+" 天过期!"+"\t\n");
}
out.println();
}
}

大致实现过程就这样,不过还有很多地方不贴合实际情况。。。

最后还有一个监听器,每隔一段时间就来监听商品是否即将过期。

/**
* 监听器:1.每隔一段时间监听看是否有商品即将过期
* @author sunflower
*
*/
public class MyListener extends Thread implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {

}
@Override
public void contextInitialized(ServletContextEvent arg0) {
this.start();
}
@Override
public void run() {
WarehouseDao dao = new WarehouseDao();
while(true){
dao.proDate();//商品过期提醒
try {
Thread.sleep(1000*60*60);//时间可以自己任意设置
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

超市仓库管理系统(过期提醒)相关推荐

  1. (附源码)springboot超市仓库管理系统 毕业设计 164555

    摘 要 本论文主要论述了如何使用java语言开发一个springboot超市仓库管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将 ...

  2. 超市仓库管理系统毕业设计

    技术:Java.JSP等 摘要: 本系统主要是让仓库的管理实现信息化.系统化,方便化,把计算机用于超市的仓库管理中,这样可以很大程度上提高管理者分析和决策的科学性,提高经营管理水平.本系统主要以某超市 ...

  3. 超市仓库商品库存管理系统

    完成一个超市仓库商品库存管理系统,系统包含商品类和管理员类,其中商品类和管理员类包含相关属性如下: 管理员(id,账号,密码,姓名,手机号) 商品(id,商品名,类别名,单价,库存量,状态-是否上架, ...

  4. 项目:超市后台管理系统

    超市后台管理系统 项目描述:模拟实现超市后台管理系统,对员工以及商品进行管理 用户输入名户名以及密码后,根据不同身份,显示不同界面,用户进行其相应操作 使用 DuiDesigner(界面布局器)来绘制 ...

  5. php汽车配件管理系统,汽配仓库管理系统_汽配库存管理系统

    汽车备件的种类繁多,款型复杂,管理起来十分不便,除此之外: 1.汽车备件库存管理不当容易造成积压,而且有些配件制作成本较高,一旦商品积压滞销会带来极大的利益损害,给销售方造成不可弥补的经济损失. 2. ...

  6. ❤️JavaWeb《超市订单管理系统—了解底层原理》(建议收藏)❤️

    SMBMS 图示 登录界面 主界面 订单管理页面 添加订单页面 供应商管理页面 供应商添加页面 用户管理页面 用户添加页面 修改密码页面 - 系统功能结构图: 数据库结构: 1.项目搭建前期准备 1. ...

  7. 简单的超市会员管理系统

    简单的超市会员管理系统 随着社会的进步,人们生活水平的提高,各种各样的会员应运而生.各种便民服务的地方为了提高服务粘性,留住顾客往往采用会员制,例如便利店.健身房,生鲜超市.美容美发店等等不一而足.会 ...

  8. 仓库管理系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

    报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场仓库管理系统的发展现状及未来发展趋势,分别从生产和消费的角度分析仓库管理系统的主要生产地区.主要消费地区以及主要的生 ...

  9. java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  10. 3D可视化应急物资仓库管理系统-应急物资可视化系统-数字孪生

    一.系统概述 我司(DONWIT东识科技)3D可视化应急物资仓库管理系统是依托互云计算.大数据.RFID技术.数据库技术.GIS.AI.视频分析技术对应急物资进行统一管理.分析的信息化.智能化.规范化 ...

最新文章

  1. IOS高级开发 runtime(一)
  2. 新增记录行(ecshop)
  3. 32位mysql安装包_《MySQL 入门教程》第 02 篇 MySQL 安装
  4. .Net 应用程序体系结构—C#高级编程(第10版)学习笔记5
  5. 迅速重载nginx脚本
  6. 二维有限元方程matlab,有限元法求解二维Poisson方程的MATLAB实现
  7. google浏览器 隐藏功能开启
  8. 字母绝对值python怎么表示_【怎样求用字母表示的数的绝对值?】作业帮
  9. axios post body参数_vue之axios封装
  10. linux pidof用法,科技常识:Linux pidof命令使用总结
  11. Python学习笔记之While循环(二)
  12. outlook 让附件在正文中显示 (REF rich リッチ)
  13. 【Java核心技术卷】谈谈对Java平台的理解
  14. 电脑怎么分成两个屏幕,显示不同的内容
  15. 沃尔玛跨境智星的介绍与用法
  16. 云脉芯联加入龙蜥社区,共建网络“芯”生态
  17. “word在试图打开文件时遇到错误”解决办法,亲测可用
  18. 大数据开发hive数据库常用命令汇总
  19. 深度学习实战——CNN+LSTM+Attention预测股票
  20. 手机link.php,PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码

热门文章

  1. 手机端电子签名画板js插件
  2. CentOS7增加或修改SSH端口号
  3. 【AI视野·今日CV 计算机视觉论文速览 第186期】Fri, 6 Nov 2020
  4. 基于华为SMProxy开发cmpp2.0(跳坑版)
  5. c语言更改记事本改为大写,记事本里的字母大写转换成小写怎么弄 编写一个汇编程序要...
  6. JSON-RPC是什么东西
  7. Spark安装部署:Standalone模式
  8. linux rz命令安装
  9. 故宫网售朝珠耳机 专家提醒注意保护知识产权(图)
  10. keil5写c语言的步骤,keil5使用C51的详细操作步骤