Mysql版本:8.0.13
2.技术选型
Java+Jsp+Mysql
3.系统功能
1.登录系统;
2.管理员对人员的增删改查,管理员对进药信息的增删改查,管理员对售药信息的增删改查,管理员对库存信息的管理;
3.销售人员对售药信息的增删改查,对库存信息的管理;
4.仓库人员对进药信息的增删改查,对库存信息的管理;
4.数据库文件
/*
Navicat Premium Data Transfer
Source Server : MySQL
Source Server Type : MySQL
Source Server Version : 80013
Source Host : 127.0.0.1:3306
Source Schema : ssm_medicine_management
Target Server Type : MySQL
Target Server Version : 80013
File Encoding : 65001
Date: 19/02/2022 19:55:57
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
– Table structure for log4
DROP TABLE IF EXISTS log4
;
CREATE TABLE log4
(
date
varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
category
varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
message
varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
– Records of log4
– Table structure for saledrug
DROP TABLE IF EXISTS saledrug
;
CREATE TABLE saledrug
(
id
int(11) NOT NULL AUTO_INCREMENT,
customer_id
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
drug_id
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
sale_number
int(11) NULL DEFAULT NULL,
date
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
price
double NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
– Records of saledrug
INSERT INTO saledrug
VALUES (7, ‘1’, ‘1003’, 10, ‘2022-02-19’, 20);
INSERT INTO saledrug
VALUES (8, ‘2’, ‘1004’, 20, ‘2022-02-19’, 10);
– Table structure for stockdrug
DROP TABLE IF EXISTS stockdrug
;
CREATE TABLE stockdrug
(
id
int(11) NOT NULL AUTO_INCREMENT,
bill_id
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
drug_id
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
price
double NULL DEFAULT NULL,
buy_num
int(11) NULL DEFAULT NULL,
date
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
supplier
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
– Records of stockdrug
INSERT INTO stockdrug
VALUES (42, ‘2’, ‘1003’, 10, 200, ‘2022-02-19’, ‘北京医药厂’);
INSERT INTO stockdrug
VALUES (43, ‘1’, ‘1002’, 30, 300, ‘2022-02-19’, ‘武汉医药厂’);
INSERT INTO stockdrug
VALUES (44, ‘3’, ‘1004’, 5, 500, ‘2022-02-19’, ‘长沙医药厂’);
– Table structure for user
DROP TABLE IF EXISTS user
;
CREATE TABLE user
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
password
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
usertype
int(11) NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
– Records of user
INSERT INTO user
VALUES (1, ‘admin’, ‘admin’, 0);
INSERT INTO user
VALUES (11, ‘saler’, ‘123456’, 1);
INSERT INTO user
VALUES (28, ‘warehouser’, ‘123456’, 2);
– Table structure for warehouse
DROP TABLE IF EXISTS warehouse
;
CREATE TABLE warehouse
(
id
int(11) NOT NULL AUTO_INCREMENT,
drug_id
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
stock_number
int(11) NULL DEFAULT NULL,
manufacturer
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
standard
varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
sale_price
double NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
– Records of warehouse
INSERT INTO warehouse
VALUES (31, ‘1003’, 190, ‘北京医药厂’, ‘30粒/瓶’, 20);
INSERT INTO warehouse
VALUES (32, ‘1002’, 300, ‘武汉医药厂’, ‘30粒/瓶’, 50);
INSERT INTO warehouse
VALUES (33, ‘1004’, 480, ‘长沙医药厂’, ‘20粒/瓶’, 10);
SET FOREIGN_KEY_CHECKS = 1;
二、系统展示
======
1.登录系统
2.管理员-主页
3.管理员-人员信息管理
4.管理员-进药信息管理
5.管理员-售药信息管理
6.管理员-库存信息管理
7.销售员-主页
8.仓库员-主页
三、部分代码
======
LoginController
package com.sjsq.controller;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sjsq.bean.Login;
import com.sjsq.service.LoginService;
@Controller
@RequestMapping(“/user”)
public class LoginController {
@Autowired
private LoginService LoginService;
@RequestMapping(“/login”)
public String login(HttpServletRequest request, HttpServletResponse response) {
Login user = LoginService.findByName(request.getParameter(“username”));
if (null == user || “”.equals(user)) {
return “/index”;
} else {
if ((user.getPassword()).equals(request.getParameter(“password”))) {
System.out.println();
Cookie cookie;
try {
cookie = new Cookie(“username”, URLEncoder.encode(
user.getUsername(), “utf-8”));
Cookie cookie1 = new Cookie(“usertype”, String.valueOf(user
.getUsertype()));
response.addCookie(cookie1);
response.addCookie(cookie);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return “/adminList”;
} else {
return “/index”;
}
}
}
@RequestMapping(“/userList”)
public String userList() {
return “redirect:/user/queryAll.do”;
}
@RequestMapping(“/exitAll”)
public String exitAll() {
return “/index”;
}
}
SaledrugController
package com.sjsq.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sjsq.bean.Saledrug;
import com.sjsq.bean.Warehouse;
import com.sjsq.service.SaledrugService;
import com.sjsq.service.WarehouseService;
@Controller
@RequestMapping(“/user”)
public class SaledrugController {
@Autowired
private SaledrugService saledrugService;
@Autowired
private WarehouseService warehouseService;
@RequestMapping(“/querysaledrugAll”)
public String querysaledrugAll(HttpServletRequest request) {
List list = saledrugService.querysaledrugAll();
request.setAttribute(“saledrugList”, list);
return “saledrugList”;
}
@RequestMapping(“/presaledrugadd”)
public String presaledrugadd() {
return “saledrugadd”;
}
@RequestMapping(“/saledrugadd”)
public String saledrugadd(Saledrug Saledrug, Warehouse warehouse,
HttpServletRequest request) {
warehouse.setDrug_id(Saledrug.getDrug_id());
if (warehouseService.queryWarehouseBydrug_id(warehouse) == null) {
request.setAttribute(“errorMessage”, “库存不足”);
return “saledrugadd”;
} else {
if (warehouseService.queryWarehouseBydrug_id(warehouse)
.getStock_number() > Saledrug.getSale_number()) {
saledrugService.saledrugadd(Saledrug);
warehouse.setStock_number(warehouseService
.queryWarehouseBydrug_id(warehouse).getStock_number()
- Saledrug.getSale_number());
warehouseService.updateWarehouseBydrug_id(warehouse);
return “redirect:/user/querysaledrugAll.do”;
} else {
request.setAttribute(“errorMessage”, “库存不足”);
return “saledrugadd”;
}
}
}
@RequestMapping(“/saledrugdelete”)
public String saledrugdelete(Saledrug saledrug, Warehouse warehouse) {
warehouse.setDrug_id(saledrugService
.querysaledrugById(saledrug.getId()).getDrug_id());
warehouse.setStock_number(warehouseService.queryWarehouseBydrug_id(
warehouse).getStock_number()
- saledrugService.querysaledrugById(saledrug.getId())
.getSale_number());
warehouseService.updateWarehouseBydrug_id(warehouse);
saledrugService.saledrugdelete(saledrug.getId());
return “redirect:/user/querysaledrugAll.do”;
}
@RequestMapping(“/querysaledrug”)
public String querysaledrug(Saledrug saledrug, HttpServletRequest request) {
List list = saledrugService.querysaledrug(saledrug);
request.setAttribute(“saledrugList”, list);
return “saledrugList”;
}
@RequestMapping(“/presaledrugupdate”)
public String presaledrugupdate(Saledrug saledrug,
HttpServletRequest request) {
List list = new ArrayList();
list.add(saledrugService.querysaledrugById(saledrug.getId()));
request.setAttribute(“saledrugList”, list);
return “saledrugupdate”;
}
@RequestMapping(“/saledrugupdate”)
public String saledrugupdate(Saledrug saledrug, Warehouse warehouse,
HttpServletRequest request) {
if ((saledrug.getDrug_id()).equals(saledrugService.querysaledrugById(
saledrug.getId()).getDrug_id())) {
warehouse.setDrug_id(saledrug.getDrug_id());
warehouse.setStock_number(warehouseService.queryWarehouseBydrug_id(
warehouse).getStock_number()
- saledrugService.querysaledrugById(saledrug.getId())
.getSale_number() - saledrug.getSale_number());
warehouseService.updateWarehouseBydrug_id(warehouse);
saledrugService.saledrugupdate(saledrug);
} else {
warehouse.setDrug_id(saledrugService.querysaledrugById(
saledrug.getId()).getDrug_id());
warehouse.setStock_number(warehouseService.queryWarehouseBydrug_id(
warehouse).getStock_number()
- saledrugService.querysaledrugById(saledrug.getId())
.getSale_number());
warehouseService.updateWarehouseBydrug_id(warehouse);
warehouse.setDrug_id(saledrug.getDrug_id());
if (warehouseService.queryWarehouseBydrug_id(warehouse) == null) {
request.setAttribute(“errorMessage”, “库存不足”);
return querysaledrugAll(request);
} else {
if (warehouseService.queryWarehouseBydrug_id(warehouse)
.getStock_number() > saledrug.getSale_number()) {
warehouse.setStock_number(warehouseService
.queryWarehouseBydrug_id(warehouse)
.getStock_number()
- saledrug.getSale_number());
warehouseService.updateWarehouseBydrug_id(warehouse);
saledrugService.saledrugupdate(saledrug);
} else {
request.setAttribute(“errorMessage”, “库存不足”);
return querysaledrugAll(request);
}
}
}
return “redirect:/user/querysaledrugAll.do”;
}
public WarehouseService getWarehouseService() {
return warehouseService;
}
public void setWarehouseService(WarehouseService warehouseService) {
this.warehouseService = warehouseService;
}
public SaledrugService getSaledrugService() {
return saledrugService;
}
public void setSaledrugService(SaledrugService saledrugService) {
this.saledrugService = saledrugService;
}
}
StockdrugController
package com.sjsq.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sjsq.bean.Stockdrug;
import com.sjsq.bean.Warehouse;
import com.sjsq.service.StockdrugService;
import com.sjsq.service.WarehouseService;
@Controller
@RequestMapping(“/user”)
public class StockdrugController {
@Autowired
private StockdrugService stockdrugService;
@Autowired
private WarehouseService warehouseService;
@RequestMapping(“/stockdrugList”)
public String stockdrugList(HttpServletRequest request) {
return querystockdrugAll(request);
}
@RequestMapping(“/querystockdrugAll”)
public String querystockdrugAll(HttpServletRequest request) {
List list = stockdrugService.querystockdrugAll();
request.setAttribute(“stokdrugList”, list);
return “stockdrugList”;
}
@RequestMapping(“/prestockdrugadd”)
public String prestockdrugadd() {
return “stockdrugadd”;
}
@RequestMapping(“/stockdrugadd”)
public String stockdrugadd(Stockdrug stockdrug, Warehouse warehouse) {
warehouse.setDrug_id(stockdrug.getDrug_id());
warehouse.setStock_number(stockdrug.getBuy_num());
if (warehouseService.queryWarehouseBydrug_id(warehouse) != null) {
warehouse.setStock_number((warehouse.getStock_number()) + ((warehouseService.queryWarehouseBydrug_id(warehouse)).getStock_number()));
warehouseService.updateWarehouseBydrug_id(warehouse);
stockdrugService.addStockdrugBydrug_id(stockdrug);
} else {
stockdrugService.addStockdrugBydrug_id(stockdrug);
warehouseService.addWarehouseBydrug_id(warehouse);
}
return “redirect:/user/querystockdrugAll.do”;
}
@RequestMapping(“/stockdrugdelete”)
public String stockdrugdelete(Stockdrug stockdrug) {
stockdrugService.stockdrugdelete(stockdrug.getId());
return “redirect:/user/querystockdrugAll.do”;
}
@RequestMapping(“/prestockdrugupdate”)
public String prestockdrugupdate(Stockdrug stockdrug, HttpServletRequest request) {
List list = stockdrugService.stockdrugQueryById(stockdrug.getId());
request.setAttribute(“stokdrugList”, list);
return “stockdrugupdate”;
}
@RequestMapping(“/stockdrugupdate”)
public String stockdrugupdate(Stockdrug stockdrug, Warehouse warehouse) {
String temp = “”;
int te = 0;
List list = stockdrugService.stockdrugQueryById(stockdrug.getId());
for (Stockdrug stockdrug2 : list) {
temp = stockdrug2.getDrug_id();
te = stockdrug2.getBuy_num();
}
if ((stockdrug.getDrug_id()).equals(temp)) {
warehouse.setDrug_id(stockdrug.getDrug_id());
int a = warehouseService.queryWarehouseBydrug_id(warehouse).getStock_number();
a = a - te + stockdrug.getBuy_num();
warehouse.setStock_number(a);
warehouseService.updateWarehouseBydrug_id(warehouse);
} else {
warehouse.setDrug_id(temp);
int a = warehouseService.queryWarehouseBydrug_id(warehouse).getStock_number();
warehouse.setStock_number(a - te);
warehouseService.updateWarehouseBydrug_id(warehouse);
warehouse.setDrug_id(stockdrug.getDrug_id());
if (warehouseService.queryWarehouseBydrug_id(warehouse) != null) {
warehouse.setStock_number(warehouseService.queryWarehouseBydrug_id(warehouse).getStock_number() + stockdrug.getBuy_num());
warehouseService.updateWarehouseBydrug_id(warehouse);
} else {
warehouse.setStock_number(stockdrug.getBuy_num());
warehouseService.addWarehouseBydrug_id(warehouse);
}
}
stockdrugService.stockdrugupdate(stockdrug);
return “redirect:/user/querystockdrugAll.do”;
}
@RequestMapping(“/querystockdrug”)
public String querystockdrug(Stockdrug stockdrug, HttpServletRequest request) {
List list = stockdrugService.querystockdrug(stockdrug);
request.setAttribute(“stokdrugList”, list);
return “stockdrugList”;
}
}
UserController
package com.sjsq.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sjsq.bean.User;
import com.sjsq.service.UserService;
@Controller
@RequestMapping(“/user”)
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(“/queryAll”)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sjsq.bean.User;
import com.sjsq.service.UserService;
@Controller
@RequestMapping(“/user”)
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(“/queryAll”)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-W33ox7jp-1715457600825)]
[外链图片转存中…(img-zoVGK5My-1715457600825)]
[外链图片转存中…(img-htoKYYmE-1715457600826)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!