基于javaweb+mysql的ssm药品进货销售仓储信息管理系统(java+ssm+js+html+jsp+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM药品进货销售仓储信息管理系统(java+ssm+js+html+jsp+mysql)
项目介绍
管理员角色包含以下功能: 管理员登录,用户信息管理,个人信息管理,药品信息管理,药品类别信息管理,选购药品管理,订单管理,订单记录管理,库存信息管理,进货记录管理等功能。
操作员角色包含以下功能: 操作员登录,药品管理,类别管理,销售订单管理,进货管理等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
* @param username 用户名
* @param password 密码
* @return Map 返回相关状态
* @throws Exception 异常
*/
@RequestMapping(value = "login")
public @ResponseBody
Map<String, String> login(HttpServletRequest request, @RequestParam(value = "username", defaultValue = "") String username,
@RequestParam(value = "password", defaultValue = "") String password) throws Exception {
System.out.println("username: " + username + ", password: " + password);
User user = userService.loginCheck(username, password);
Map<String, String> resultMap =new HashMap<String, String>();
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "addAdmin")
public @ResponseBody
Map<String, Object> addAdmin(@RequestBody Admin admin) throws Exception {
int addCount = adminService.addAdmin(admin);
Map<String, Object> result = new HashMap<String, Object>();
if (addCount > 0) {
result.put("state", "success");
result.put("result", addCount);
} else {
result.put("state", "fail");
AdminService adminService;
/**
* 登录Controller
* @param request HttpServletRequest 对象
* @param username 用户名
* @param password 密码
* @return Map 返回相关状态
* @throws Exception 异常
*/
@RequestMapping(value = "login")
public @ResponseBody
Map<String, String> login(HttpServletRequest request, @RequestParam(value = "username", defaultValue = "") String username,
@RequestParam(value = "password", defaultValue = "") String password) throws Exception {
Admin admin = adminService.loginCheck(username, password);
/**
* 根据过滤条件过滤查询药品总数
* @param medicine 药品过滤信息
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "getFilteredMedicineCount")
public @ResponseBody
Map<String, Object> getFilteredMedicineCount(@RequestBody Medicine medicine) throws Exception {
System.out.println("getFilteredMedicineCount --- medicine: " + medicine);
Map<String, Object> result = new HashMap<String, Object>();
int count = medicineService.getFilteredCount(medicine);
if (admin != null) {
request.getSession().setAttribute("userid", admin.getUid());
request.getSession().setAttribute("username", admin.getUsername());
request.getSession().setAttribute("identity", "admin");
resultMap.put("state", "success");
} else {
resultMap.put("state", "fail");
resultMap.put("reason", ErrorInfoUtil.getErrorInfo("user.login.check.null"));
return resultMap;
/**
* 获取管理员总量
@RequestMapping(value = "getAdminCount")
public @ResponseBody
Map<String, Object> getAdminCount() throws Exception {
int count = adminService.count();
Map<String, Object> result = new HashMap<String, Object>();
if (count > 0) {
result.put("state", "success");
result.put("result", count);
} else {
result.put("state", "fail");
result.put("reason", 0);
return result;
/**
*/
@RequestMapping(value = "updateUserPasswdById")
public @ResponseBody
Map<String, Object> updateUserPasswdById(@RequestParam(value = "uid", defaultValue = "") String uid,
@RequestParam(value = "originalPasswd", defaultValue = "") String originalPasswd,
@RequestParam(value = "newPasswd", defaultValue = "") String newPasswd) throws Exception {
int updateCount = userService.updatePasswdById(uid, originalPasswd, newPasswd);
Map<String, Object> result = new HashMap<String, Object>();
if (updateCount > 0) {
result.put("state", "success");
result.put("result", updateCount);
} else {
* 根据用户ID数组删除一些用户信息
* @param userIds 用户ID数组
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "deleteSomeUser")
public @ResponseBody
Map<String, Object> deleteSomeUser(@RequestParam(value = "userIds[]") String[] userIds) throws Exception {
int deleteNum = userService.deleteSomeUser(userIds);
Map<String, Object> result = new HashMap<String, Object>();
if (deleteNum > 0) {
result.put("state", "success");
result.put("result", deleteNum);
} else {
* @param medicine 新的药品信息
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "updateMedicineById")
public @ResponseBody
Map<String, Object> updateMedicineById(@RequestBody Medicine medicine) throws Exception {
int updateCount = medicineService.updateById(medicine);
Map<String, Object> result = new HashMap<String, Object>();
if (updateCount > 0) {
result.put("state", "success");
result.put("result", updateCount);
} else {
if (updateCount > 0) {
result.put("state", "success");
result.put("result", updateCount);
} else {
result.put("state", "fail");
result.put("reason", 0);
return result;
/**
* 根据药品ID数组删除一些药品信息
* @param medicineIds 药品ID数组
* @return Map 返回相关状态及信息
* @throws Exception 异常
result.put("state", "success");
result.put("result", user);
} else {
result.put("state", "fail");
result.put("reason", null);
return result;
后台管理员管理控制层:
@Controller
@RequestMapping(value = "user/admin", method = {RequestMethod.POST})
public class AdminController {
@Autowired
* @param offset 偏移量
* @param limit 限制返回条数
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "getLimitAdmin")
public @ResponseBody
Map<String, Object> getLimitAdmin(@RequestParam(value = "offset") int offset,
@RequestParam(value = "limit") int limit) throws Exception {
List<Admin> adminList = adminService.getLimitAdmin(offset, limit);
Map<String, Object> result = new HashMap<String, Object>();
if (adminList.size() > 0) {
result.put("state", "success");
@RequestMapping(value = "addMedicine")
public @ResponseBody
Map<String, Object> addMedicine(@RequestBody Medicine medicine) throws Exception {
int addCount = medicineService.addMedicine(medicine);
Map<String, Object> result = new HashMap<String, Object>();
if (addCount > 0) {
result.put("state", "success");
result.put("result", addCount);
} else {
result.put("state", "fail");
result.put("reason", 0);
return result;
/**
request.getSession().setAttribute("identity", "user");
resultMap.put("state", "success");
} else {
resultMap.put("state", "fail");
resultMap.put("reason", ErrorInfoUtil.getErrorInfo("user.login.check.null"));
return resultMap;
/**
* 获取指定用户ID的用户信息
* @param userIds 用户ID数组
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "getSomeUser")
request.getSession().setAttribute("username", user.getUsername());
request.getSession().setAttribute("identity", "user");
resultMap.put("state", "success");
} else {
resultMap.put("state", "fail");
resultMap.put("reason", ErrorInfoUtil.getErrorInfo("user.login.check.null"));
return resultMap;
/**
* 获取指定用户ID的用户信息
* @param userIds 用户ID数组
* @return Map 返回相关状态及信息
* @throws Exception 异常
*/
@RequestMapping(value = "updateAdminById")
public @ResponseBody
Map<String, Object> updateAdminById(@RequestBody Admin admin) throws Exception {
int updateCount = adminService.updateById(admin);
Map<String, Object> result = new HashMap<String, Object>();
if (updateCount > 0) {
result.put("state", "success");
result.put("result", updateCount);
} else {
result.put("state", "fail");
String imgPath = medicineService.uploadFile(request, medicinePic);
System.out.println("upload img path: " + imgPath);
if (imgPath != null) {
result.put("state", "success");
result.put("result", imgPath);
} else {
result.put("state", "fail");
result.put("reason", null);
return result;
/**
* 根据过滤条件过滤查询药品总数
* @param medicine 药品过滤信息
* @return Map 返回相关状态及信息