超市仓库管理系统(过期提醒)
超市仓库管理系统(过期提醒)
在超市系统的超市库存系统中,会有一个 对物品即将过期或已过期但未处理的物品的提醒。下面是仓库管理系统主页的一个显示情况:
图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 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();
}
}
}
}
超市仓库管理系统(过期提醒)相关推荐
- (附源码)springboot超市仓库管理系统 毕业设计 164555
摘 要 本论文主要论述了如何使用java语言开发一个springboot超市仓库管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将 ...
- 超市仓库管理系统毕业设计
技术:Java.JSP等 摘要: 本系统主要是让仓库的管理实现信息化.系统化,方便化,把计算机用于超市的仓库管理中,这样可以很大程度上提高管理者分析和决策的科学性,提高经营管理水平.本系统主要以某超市 ...
- 超市仓库商品库存管理系统
完成一个超市仓库商品库存管理系统,系统包含商品类和管理员类,其中商品类和管理员类包含相关属性如下: 管理员(id,账号,密码,姓名,手机号) 商品(id,商品名,类别名,单价,库存量,状态-是否上架, ...
- 项目:超市后台管理系统
超市后台管理系统 项目描述:模拟实现超市后台管理系统,对员工以及商品进行管理 用户输入名户名以及密码后,根据不同身份,显示不同界面,用户进行其相应操作 使用 DuiDesigner(界面布局器)来绘制 ...
- php汽车配件管理系统,汽配仓库管理系统_汽配库存管理系统
汽车备件的种类繁多,款型复杂,管理起来十分不便,除此之外: 1.汽车备件库存管理不当容易造成积压,而且有些配件制作成本较高,一旦商品积压滞销会带来极大的利益损害,给销售方造成不可弥补的经济损失. 2. ...
- ❤️JavaWeb《超市订单管理系统—了解底层原理》(建议收藏)❤️
SMBMS 图示 登录界面 主界面 订单管理页面 添加订单页面 供应商管理页面 供应商添加页面 用户管理页面 用户添加页面 修改密码页面 - 系统功能结构图: 数据库结构: 1.项目搭建前期准备 1. ...
- 简单的超市会员管理系统
简单的超市会员管理系统 随着社会的进步,人们生活水平的提高,各种各样的会员应运而生.各种便民服务的地方为了提高服务粘性,留住顾客往往采用会员制,例如便利店.健身房,生鲜超市.美容美发店等等不一而足.会 ...
- 仓库管理系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场仓库管理系统的发展现状及未来发展趋势,分别从生产和消费的角度分析仓库管理系统的主要生产地区.主要消费地区以及主要的生 ...
- java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...
- 3D可视化应急物资仓库管理系统-应急物资可视化系统-数字孪生
一.系统概述 我司(DONWIT东识科技)3D可视化应急物资仓库管理系统是依托互云计算.大数据.RFID技术.数据库技术.GIS.AI.视频分析技术对应急物资进行统一管理.分析的信息化.智能化.规范化 ...
最新文章
- IOS高级开发 runtime(一)
- 新增记录行(ecshop)
- 32位mysql安装包_《MySQL 入门教程》第 02 篇 MySQL 安装
- .Net 应用程序体系结构—C#高级编程(第10版)学习笔记5
- 迅速重载nginx脚本
- 二维有限元方程matlab,有限元法求解二维Poisson方程的MATLAB实现
- google浏览器 隐藏功能开启
- 字母绝对值python怎么表示_【怎样求用字母表示的数的绝对值?】作业帮
- axios post body参数_vue之axios封装
- linux pidof用法,科技常识:Linux pidof命令使用总结
- Python学习笔记之While循环(二)
- outlook 让附件在正文中显示 (REF rich リッチ)
- 【Java核心技术卷】谈谈对Java平台的理解
- 电脑怎么分成两个屏幕,显示不同的内容
- 沃尔玛跨境智星的介绍与用法
- 云脉芯联加入龙蜥社区,共建网络“芯”生态
- “word在试图打开文件时遇到错误”解决办法,亲测可用
- 大数据开发hive数据库常用命令汇总
- 深度学习实战——CNN+LSTM+Attention预测股票
- 手机link.php,PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
热门文章
- 手机端电子签名画板js插件
- CentOS7增加或修改SSH端口号
- 【AI视野·今日CV 计算机视觉论文速览 第186期】Fri, 6 Nov 2020
- 基于华为SMProxy开发cmpp2.0(跳坑版)
- c语言更改记事本改为大写,记事本里的字母大写转换成小写怎么弄 编写一个汇编程序要...
- JSON-RPC是什么东西
- Spark安装部署:Standalone模式
- linux rz命令安装
- 故宫网售朝珠耳机 专家提醒注意保护知识产权(图)
- keil5写c语言的步骤,keil5使用C51的详细操作步骤