javaWeb医药管理系统

news2024/11/17 3:52:28

一、引言

二、项目截图

2.1 首页设计

在这里插入图片描述

2.2一级页面设计

在这里插入图片描述
2.2-1注册界面
在这里插入图片描述

2.2-2管理员登录界面

2.3二级页面设计

在这里插入图片描述
药品信息模块
在这里插入图片描述
药品销售
在这里插入图片描述
在这里插入图片描述
用户信息
在这里插入图片描述

三、项目基本要求

1.主要功能

医药管理系统的主要功能为:、药品更新、药品查询
药品更新功能分为三部分:药品添加、药品修改和药品删除。
药品添加功能提供便捷的录入界面,通过系统将原始数据追加到数据库中。
药品删除功能将满足用户要求的相应记录从数据库中删除。
药品修改功能允许管理员对所指定记录的相关信息进行修改。
药品查询功能允许用户进行两种方式的查询:记录浏览(不构造任何查询条件)和条件查询。记录浏览功能可以方便快捷地浏览全部记录。条件查询允许用户构造各种组合条件来处理所需信息。

2.性能要求

方便快捷有效地完成药品进出库的各项工作,及时反馈库存信息,数据查询速度快。

3.系统的输入输出

输入:药品的各项基本信息和各项药品销售明细。
输出:查询结果、药品信息表、销售明细表等各类报表。

4.安全和保密要求

系统对用户注册有权限,只有拥有注册密匙才能注册,药品信息的查看和更新只有在进行登陆后才能进行操作。

5.项目与其他软件系统的关系

本项目采用客户机/服务器体系结构,客户端的是建立在Windows10 系统上,以Eclipse为开发工具的应用程序,服务器端采用SCO UNIX操作系统,数据库服务器为MySQL。

四、软件环境

  • 中文Windows 10;
  • MySQL数据库
  • tomcat运行
  • Eclipse集成开发环境

五、一些图

在这里插入图片描述
图3-1 手工药店管理系统流程图

图3-1为手工管理药店的大致系统流程图,员工需要完成三个任务:登记药品清单,在药品销售完后进行清点库存,登记需要订货的药品。
在这里插入图片描述
图4-1 医药管理系统流程图

在这里插入图片描述
图4-2 医药管理系统数据流图

在这里插入图片描述
软件层次图

在这里插入图片描述
医药管理系统层次图

六、数据库设计

5数据库设计
根据数据库概念结构设计转换为数据库逻辑结构设计的转换规则(即由ER图演化为数据库逻辑结构),可得如下关系模式。
5.1数据库逻辑结构
药品信息(药品序号,药名,类型,生产日期,有效期,产商,规格,批准文号)
销售(销售序号,药名,批准文号,出售数量,出售时间,规格)
管理员(管理序号,用户名,密码)
用户(用户序号,账号,用户名,密码,性别,出生日期,电话,年龄)

5.2表
结构名称 药品信息表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 药品序号 m_id int 0 主键
2 药名 m_name varchar 15 允许空值
3 类型 m_type int 0 允许空值
4 生产日期 m_startdate date 0 允许空值
5 有效期 m_enddate date 0 允许空值
6 产商 m_enterprise varchar 15 允许空值
7 规格 m_specs varchar 15 允许空值
8 批准文号 m_renum varchar 25 允许空值
9 库存数量 m_inv int 0 允许空值
表5-1 药品信息表结构

结构名称 药品销售表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 销售序号 s_id int 0 主键
2 药名 s_name varchar 34 允许空值
3 批准文号 s_renum varchar 34 允许空值
4 出售数量 s_sellnum int 0 允许空值
5 出售时间 s_selltime date 0 允许空值
6 规格 s_specs varchar 34 允许空值
表5-2 销售表结构

结构名称 管理员表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 管理序号 ad_id int 0 主键
2 用户名 ad_name varchar 21 允许空值
3 密码 ad_pwd varchar 23 允许空值
表5-3 管理员表结构

结构名称 用户表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 用户序号 id int 0 主键
2 账号 userCode varchar 15 允许空值
3 用户名 userName varchar 15 允许空值
4 密码 userPassword varchar 15 允许空值
5 性别 gender varchar 4 允许空值
6 出生日期 birthday date 0 允许空值
7 电话 phone varchar 15 允许空值
8 年龄 userAge int 0 允许空值
表5-4 用户表结构

七、部分代码

Adminall.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
	<%@include file="/WEB-INF/jsp/common/Ahead.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>医药管理系统管理员主界面</title>
</head>
<body>
<div class="right">
       <div class="homes">
			<!-- 
			<h3 style="color: #000000;">欢迎进入医药管理系统</h3> -->
			
		</div>
    </div>
</body>
</html>

adminLogin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%> 
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/statics/css/style.css" />
		<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/statics/css/bootstrap.min.css" />
  	<script type="text/javascript"></script>
	</head>
	<body>
		<div class="container-fluid">
		    <div class="row h-100 align-items-center justify-content-center" style="min-height: 100vh;">
		        <div class="col-12 col-sm-8 col-md-6 col-lg-5 col-xl-4">
		            <div class="bg-light rounded p-4 p-sm-5 my-4 mx-3">
		                <div class="d-flex align-items-center justify-content-between mb-3">
		                    <a href="index.html" class="">
		                        <h3 class="text-primary"><i class="fa fa-hashtag me-2">
		                        </i>管理员</h3>
		                    
							</a>
							<h3 >登录</h3>
		                   
		                </div>
		                <form class="loginForm" action="${pageContext.request.contextPath }/user/doAdminlogin.html"  name="actionForm" id="actionForm"  method="post" >
				<a><div>${exception.message}</div></a>
				<div class="form-floating mb-3">
		                  <input type="text" class="form-control" id="userCode" name="userCode" placeholder="请输入用户名" required/>
							<label for="floatingInput">请输入用户名</label>
		                </div>
		                <div class="form-floating mb-4">
							<input type="password" class="form-control" id="userPassword" name="userPassword" placeholder="请输入密码" required/>
		                    <label for="floatingPassword">请输入密码</label> 
		                </div>
		               <div class="subBtn" >
		                                   <input type="submit" class="btn btn-primary py-3 w-50 mb-4"style="float: left;margin-left: 0px;" value="登录"/>
		                                   <input type="reset" class="btn btn-primary py-3 w-50 mb-4"style="margin-left: 0px;" value="重置"/>
		                               </div>	
		               <p class="text-center mb-0">不是管理员? <a href="${pageContext.request.contextPath }/user/login.html"/>返回</p>
		           
		                </form>
		                
		                </div>
		        </div>
		    </div>
		</div>
		
	</body>
</html>

adminuserlist.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/jsp/common/Ahead.jsp"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
	</head>
	<body>
<div style="margin-left: 280px;">
        <div class="location">
            <strong>你现在所在的位置是:</strong>
            <span>用户管理页面</span>
        </div>
        <div class="search">
        	<form method="post" action="${pageContext.request.contextPath }/user/Adminuserlist.html">
				<span>用户账号:</span>
				<input name="queryProCode" type="text" value="${queryProCode }">
				
				<span>用户姓名:</span>
				<input name="queryProName" type="text" value="${queryProName }">
				<input type="hidden" name="pageIndex" value="1"/>
				<input value="查 询" type="submit" id="searchbutton">
				<a href="${pageContext.request.contextPath }/user/adminadduser.html">添加用户</a>
			</form>
        </div>
        <!--供应商操作表格-->
		<div class="">
		    <div class="bg-light rounded h-100 p-4">
		        <h6 class="mb-4">用户信息表格</h6>
		        <table class="table table-striped">
		            <thead>
		                <tr>
		                    <th scope="col">#</th>
		                    <th scope="col">账号</th>
		                    <th scope="col">姓名</th>
		                    <th scope="col">密码</th>
							<th scope="col">性别</th>
							<th scope="col">生日</th>
							<th scope="col">电话</th>
							<th scope="col">操作</th>
		                </tr>
		            </thead>
		            <tbody>
		            <c:forEach var="userlist" items="${userlist}" varStatus="status">
				<tr>
				
					<td>
					<span>${userlist.id}</span>
					</td>
					<%-- <td>
					<span>${druglist.m_code}</span>
					</td> --%>
					<td>
					<span>${userlist.userCode}</span>
					</td>
					<td>
					<span>${userlist.userName}</span>
					</td>
					<td>
					<span>${userlist.userPassword}</span>
					</td>
					<td>
					<span>${userlist.gender}</span>
					</td>
					<td>
					<span>
					<fmt:formatDate value="${userlist.birthday}" pattern="yyyy-MM-dd"/>
					</span>
					</td>
					
					<td>
					<span>${userlist.phone}</span>
					</td>
				
					
					<td>
					
							
		<a class="modifyUser" href="javascript:;" uid=${userlist.id } >修改</a>
								
	<a class="deleteUser" href="javascript:;" uid=${userlist.id} uname=${userlist.userName }>删除</a>
						 
							</td>
				</tr>
			</c:forEach>
		                
		               
		            </tbody>
		        </table>
		    </div>
		</div>
	<input type="hidden" id="totalPageCount" value="${totalPageCount}"/>
		  	<c:import url="rollpage.jsp">
	          	<c:param name="totalCount" value="${totalCount}"/>
	          	<c:param name="currentPageNo" value="${currentPageNo}"/>
	          	<c:param name="totalPageCount" value="${totalPageCount}"/>
          	</c:import>
    </div>
</section>
		
	</body>
</html>
<%@include file="/WEB-INF/jsp/common/foot.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/statics/js/userlist.js"></script>

八、交流

<div>
"扣":"9""6""9""0""6""0""7""4""2"
包含项目报告、sql文件
<div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/676653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13166 效果图如下&#xff1a; # cc-defineKeyboard #### 使用方法 使用方法 <!-- ref:唯一ref pas…

VMware vCenter Server 7.0 Update 3m 发布下载(重要安全更新)

VMware vCenter Server 7.0 Update 3m 发布下载&#xff08;重要安全更新&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vcenter-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org VMware vCente…

canvas详解07-裁剪

裁切路径 裁切路径和普通的 canvas 图形差不多,不同的是它的作用是遮罩,用来隐藏不需要的部分。如右图所示。红边五角星就是裁切路径,所有在路径以外的部分都不会在 canvas 上绘制出来。 如果和上面介绍的 globalCompositeOperation 属性作一比较,它可以实现与 source-in …

基于cycle of curves的Nova证明系统(2)

主要见斯坦福大学Wilson Nguyen、Dan Boneh和微软研究中心Srinath Setty 2023年论文《Revisiting the Nova Proof System on a Cycle of Curves》。 前序博客见&#xff1a; 基于cycle of curves的Nova证明系统&#xff08;1&#xff09; 5. IVC Proof进一步压缩 本文提出了…

【Rust】1、实战:语法和数据结构、生命周期-所有权-借用、自制 CPU、内存、文件

文章目录 零、Rust 好用的资源一、概述1.1 安全性1.1.1 垂悬指针1.1.2 数据竞争1.1.3 迭代器失效 1.2 性能1.3 vscode 設置 二、基础语法2.1 循环2.2 引用2.3 生命周期2.4 泛型2.5 实战grep项目2.6 数组2.6.1 数组和切片2.6.2 动态数组2.6.3 初始化 2.7 包含第三方库2.8 命令行…

深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):输入表示

分类目录&#xff1a;《深入理解深度学习》总目录 相关文章&#xff1a; BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;&#xff1a;基础知识 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09…

【Linux】MySQL 高级 SQL 语句 (一)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 MySQL 高级 SQL 语句 MySQL 高级(进阶) SQL 语句SELECT&#xff1a;显示表格中一个或数个字段的所有数据记录DISTINCT&#xff1a;不显示重复的数据记录WHERE&#xff1a;有条…

CVE-2022-25411

文章目录 CVE-2022-25411一、漏洞介绍二、渗透步骤1、打开网站2、目录扫描3、访问后台4、添加文件后缀5、上传shell6、查看flag值 CVE-2022-25411 一、漏洞介绍 Maxsite CMS文件上传漏洞。 MaxSite CMS是俄国MaxSite CMS开源项目的一款网站内容管理系统。马克斯程序(MaxCMS)以…

【Syncfusion系列】SfDataGrid 轻松实现分页和Excel导出

前言 Syncfusion 封装了一个控件 SfDataGrid &#xff0c;通过SfDataGrid我们只需要 极少量 代码就能分页和Excel导出。 效果展示 包安装 安装下面三个包 将表格绑定到数据库 这次我使用的是一个本地的小型数据库&#xff1a;sqlit 我通过 sqlit-net 这个包 进行访问 sqlit…

Dify 基于 ChatGPT 构建本地知识库问答应用

一、Dify 自从 ChatGPT 横空出世之后&#xff0c;其极高的语言理解和交互能力不仅让人惊呼&#xff0c;ChatGPT不仅能够处理事实性问题&#xff0c;还能理解和生成情感色彩更浓厚的对话内容&#xff0c;能够识别用户的情感倾向&#xff0c;并据此作出相应的回应。这么好的东西…

Linux——文件基础IO的文件描述符和重定向理解

目录 前言&#xff1a; 首先来回顾一下open函数&#xff0c;即在进程中同时打开多个文件&#xff1a; Linux底层进程与文件的关系 &#xff1a; 2.1关闭stdin&#xff1a; 运行结果&#xff1a; ​编辑由结果知&#xff1a;fd1指向文本文件cyq.txt&#xff0c;原本fd1是默…

机器学习多步时间序列预测解决方案

近年来&#xff0c;随着机器学习与深度学习的发展机器学习平台的成熟&#xff0c;数据科学家们不再需要关心底层的基础设施及构建复杂的训练与推理环境&#xff0c;从而可以把主要的时间与精力放在数据与算法本身。在机器学习变得更容易的今天&#xff0c;越来越多的传统行业已…

HAL库——STM32CubeMX中断相关配置(中断反转LED状态)

STM32CubeMX中断相关配置 文章目录 STM32CubeMX中断相关配置1. 选择你要用的芯片(双击打开)2. 设置串口写入3. 配置时钟树&#xff0c;外部时钟为系统时钟&#xff08;PLL倍频时钟&#xff09;4. 查看原理图&#xff0c;找到可以中断控制的器件&#xff0c;或者外接小灯来达到中…

中国版chatGPT【文心一言】

文心一言是一款基于人工智能技术的中文自然语言处理工具&#xff0c;它可以用于文本生成、情感分析、关键词提取等多种应用场景。相比于GPT等其他自然语言处理模型&#xff0c;文心一言有着更多的优势。 首先&#xff0c;文心一言具有更高的准确率和可靠性。它采用了最新的深度…

Redis之RDB和AOF持久化原理解析

Redis之RDB和AOF持久化原理解析 一 RDB持久化原理及缺点 说明&#xff1a; 主进程是没法读取物理内存的&#xff0c;所以会在主进程有一个页表来读取物理内存中的数据子进程共享主进程的数据&#xff0c;会复制页表&#xff0c;写入磁盘中写操作是会拷贝一份在进行写操作 二…

【MySql】MySql事务隔离级别与一致性

文章目录 理解隔离性隔离级别查看与设置隔离性读未提交Read Uncommitted读提交Read Committed可重复读 Repeatable Read串行化serializable一致性(Consistency) 理解隔离性 MySQL服务可能会同时被多个客户端进程(线程)访问&#xff0c;访问的方式以事务方式进行 一个事务可能由…

计算机网络——自顶向下方法(第四章学习记录)

本章学习网络层&#xff1a;数据平面 前一章中我们学习了运输层依赖于网络层的主机到主机的通信服务&#xff0c;提供了各种形式的进程到进程的通信。在本章中我们将看到与运输层和应用层不同的是&#xff0c;在网络中的每一台主机和路由器中都有一个网络层部分。 网络层能够…

【FreeRTOS】FreeRTOS学习笔记 ---- 堆和栈,第1个FreeRTOS程序,创建任务函数及任务管理

&#x1f340;作者&#xff1a;阿润菜菜 目录 一、通过故事介绍FreeRTOS1.什么是FreeRTOS&#xff1f;2.FreeRTOS能做什么&#xff1f; 二、如何使用FreeRTOS&#xff1f; --- 第1个FreeRTOS程序三、FreeRTOS的堆和栈1.堆和栈的概念2.堆和栈的分配方式3.堆和栈的溢出检测 四、创…

【创建一个螺旋状的相机轨迹并可视化该轨迹以及每个点的姿态】

文章目录 焦点的作用static const Eigen::Vector3d b_cam_z(0, 0, 1);static const Eigen::Matrix3d R_w_base = (Eigen::Matrix3d() << 0, 0, -1, 1, 0, 0, 0, -1, 0).finished()import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import …

canvas详解03-绘制图像和视频

canvas 更有意思的一项特性就是图像操作能力。可以用于动态的图像合成或者作为图形的背景,以及游戏界面(Sprites)等等。浏览器支持的任意格式的外部图片都可以使用,比如 PNG、GIF 或者 JPEG。你甚至可以将同一个页面中其他 canvas 元素生成的图片作为图片源。 引入图像到 …