临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇药店管理系统的设计与实现。
经过调查分析,管理员一个药房、药品管理系统的具体要求如下:
1、药品管理系统方便实时监控药物信息,尤其是通过库存、药物信息管理来控制药物。
2、管理者需要看清楚药品销售情况和库存情况,根据信息来控制药物的种类和数量。
3、工作人员对药品信息的增删改查。
4、报表信息管理,药房管理者需要对药品的信息进行归纳总结,继而根据情况进行调整。可以调整药品的价格为药店带来更大的利润。
5、管理员可以通过该系统找到名单上的顾客看买药记录。
本文课题的研究的是利用互联网技术构建药店管理系统,综合评价了我国目前药店发展现状和以及今后的发展趋势,进而分析药店管理系统实现理念和价值,针对每个页面的样式以及该页面实现的功能目的都要说明,设计药店管理系统功能点。
该系统后台管理员使用的功能包括以下几个模块:
系统管理:角色管理、用户管理、菜单管理、角色菜单配置、密码修改。
采购管理:采购合同管理、采购合同审核、采购清单管理、供应商管理。
仓库管理:药品信息管理。
销售管理:销售清单管理、销售清单审核、会员管理。
财务管理:财务报表管理、财务报表制作。
管理员可以进行系统管理、采购管理、仓库管理、销售管理、财务管理,如图2-4-1。
销售员进行销售管理,可以销售清单管理,销售清单审核,会员管理,如图2-4-2。
采购员进行采购管理,可以进行合同管理,合同审核,清单管理,清单审核,供应商管理。仓库管理可以进行药品信息管理,如图2-4-3。
财务管理员进行财务管理,可以导出财务报表,财务报表制作,如图2-4-4。
数据库中本系统的表包含:基本菜单(base_menu、基本角色(base_role)、基本角色菜单(base_rolemenu)、合同表(contract)、金融表(financial)、药品表(medicine)、成员表(members)、成员信息表(member_info)、采购表(purchase)、采购记录表(purchase_info)、销售表(sale)、销售记录表(sale_info)、供货商表表(supplier)、用户表表(base_user)。每个表的数据结构如下:。
(1)基本菜单表(base_menu),主要功能是菜单信息存储进入后台数据库,如表4-1。
表4-1 基本菜单表
(2)基本菜单表(base_role),主要功能是存放用户角色信息如表4-2。
表4-2 角色表
(3)基本角色菜单(base_rolemenu),主要功能是存放角色和菜单的关系如表4-3。
表4-3 角色菜单关系表
(4)合同表(contract),主要功能是存放合同信息如表4-4。
表4-4 合同表
(5)金融表(financial),主要功能是存放金融信息如表4-5。
表4-5 金融表
(6)药品表(medicine),主要功能是存放药品信息如表4-6。
表4-6 药品表
(7)成员表(members),主要功能是存放成员信息如表4-7。
表4-7 成员表
(8)用户表(user),主要功能是存放供用户信息如表4-8。
表4-8用户表
@RequestMapping(value = {"/list"})
public String getList(FinancialBean bean,Model model) throws Exception{
List<FinancialBean> list = mapperService.selectList(bean);
//int stupage = medicineDao.getPage(stu);
model.addAttribute("list", list);
model.addAttribute("stupage", 1);
return "financiallist";
}
//编辑页面
@RequestMapping(value = {"/editor"})
public String editor(String id,String startDate,String endDate,Model model) throws Exception{
FinancialBean bean = null;
if(StringUtils.isEmpty(id)) {
if(!StringUtils.isEmpty(StringUtils.isEmpty(startDate))&&!StringUtils.isEmpty(StringUtils.isEmpty(endDate))) {
bean = mapperService.selectByDate(startDate,endDate);
}
}else {
bean = mapperService.selectById(id);
}
model.addAttribute("bean",bean);
return "financialeditor";
}
//编辑页面
@RequestMapping(value = {"/delete"})
@ResponseBody
public BaseReturn delete(String id) throws Exception{
BaseReturn baseReturn = new BaseReturn(BaseCode.SUCCESS);
try {
if(!StringUtils.isEmpty(id)) {
mapperService.deleteById(id);
baseReturn.setMessage("删除成功!");
}
}catch (Exception e) {
baseReturn.setState(BaseCode.FAILURE);
baseReturn.setMessage(e.getMessage());
e.printStackTrace();
}
return baseReturn;
}
//得到在编辑页面编辑好一个学生的各科成绩的list,循环存入数据库中后,在返回存入结果
@RequestMapping(value = {"/add"},method = RequestMethod.POST)
@ResponseBody
public BaseReturn add(@RequestBody FinancialBean bean) {
BaseReturn baseReturn = new BaseReturn(BaseCode.SUCCESS);
String id1 = null;
try {
if(StringUtils.isEmpty(bean.getId())) {
String maxid = mapperService.getMaxId();
if(StringUtils.isEmpty(maxid)) {
maxid ="0";
}
int id =Integer.parseInt(maxid)+1;
id1 =String.format("%04d", id);
bean.setId(id1);
bean.setState("1");
String date = DateUtils.getDate();
CurrentUser user = SecurityUserHolder.getCurrentUser();
bean.setCreateDate(date);
bean.setCreateUserId(user.getUserId()+"");
bean.setCreateUserName(user.getUserName());
mapperService.insert(bean);
}else {
CurrentUser user = SecurityUserHolder.getCurrentUser();
bean.setUpdateDate(DateUtils.getDate());
bean.setUpdateUserId(user.getUserId()+"");
bean.setUpdateUserName(user.getUserName());
mapperService.updateById(bean);
}
}catch (Exception e) {
baseReturn.setData(id1);
baseReturn.setState(BaseCode.FAILURE);
baseReturn.setMessage(e.getMessage());
e.printStackTrace();
}
return baseReturn;
}
//编辑页面
@RequestMapping(value = {"/editor"})
public String editor(String id,Boolean readOnly,Model model) throws Exception{
SaleBean bean = mapperService.selectById(id);
List<SaleInfoBean> list = SaleInfoService.selectBySaleId(id);
model.addAttribute("bean",bean);
model.addAttribute("list",list);
model.addAttribute("readOnly",readOnly);
return "saleeditor";
}
//编辑页面
@RequestMapping(value = {"/delete"})
@ResponseBody
public BaseReturn delete(String id) throws Exception{
BaseReturn baseReturn = new BaseReturn(BaseCode.SUCCESS);
try {
if(!StringUtils.isEmpty(id)) {
List<SaleInfoBean> list = SaleInfoService.selectBySaleId(id);
for(SaleInfoBean info : list) {
MedicineBean medicine = medicineService.selectByNo(info.getMedicineNo(),info.getSupplierId());
int number =Integer.parseInt(medicine.getNumber())+Integer.parseInt(info.getNum());
medicine.setNumber(number+"");
medicineService.updateById(medicine);
//SaleInfoService.deleteById(info.getId());;
}
SaleInfoService.deleteBySaleId(id);
mapperService.deleteById(id);
baseReturn.setMessage("删除成功!");
}
}catch (Exception e) {
baseReturn.setState(BaseCode.FAILURE);
baseReturn.setMessage(e.getMessage());
e.printStackTrace();
}
return baseReturn;
}
//编辑页面
@RequestMapping(value = {"/submit"})
@ResponseBody
public BaseReturn submit(String id,String state) throws Exception{
BaseReturn baseReturn = new BaseReturn(BaseCode.SUCCESS);
try {
if(!StringUtils.isEmpty(id)) {
SaleBean bean = mapperService.selectById(id);
bean.setState(state);
mapperService.updateById(bean);
baseReturn.setMessage("操作成功!");
}
}catch (Exception e) {
baseReturn.setState(BaseCode.FAILURE);
baseReturn.setMessage(e.getMessage());
e.printStackTrace();
}
return baseReturn;
}
eclipse、idea运行启动
系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在IDEA中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件
1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+SSM
此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。
开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、SSM
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。