源码获取:博客首页 "资源" 里下载!

功能介绍

医药进销存系统,主要功能包括:

公告管理:发布公告、公告列表;
生产管理:订单列表、增加生产、订单日志;
分店采购:分店审核、采购;
总店仓库:出库管理、仓库列表、入库管理;
分店管理:分店库存、分店列表、分店财务;
商品管理:原材料、药效、商品列表、药品类型;
总店采购:采购列表、采购审核;
合同管理:合同类型管理、合同列表;
会员管理:会员列表;
质检:质检;
权限管理:人员管理、模块管理、部门管理、角色管理;
审核管理:财务审核、生产审核、采购审核;
分店销售:销售统计图、订单批发审核、订单列表、分店销售;
该项目共有49张表,功能比较复杂;

其他管理:供货商管理,新增、搜索、编辑、删除;

环境需要

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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;

技术栈

1. 后端:Spring SpringMVC MyBatis
2. 前端:JSP+Layui+jQuery

运行说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
3. 将项目中db.properties和spring.xml配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入http://localhost:8080/medicine/page/login.jsp 登录

 

 

 

 

 

 

用户登录管理控制层:

@RestController
@RequestMapping("/user")
@CrossOrigin
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/login")
    public AjaxInfo login(@RequestBody User user, HttpSession session) {

        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println(session.getId());
        User user1 = userService.findUser(user);
        if (user1 != null) {
            ajaxInfo.setCode(user1.getUserRight());
            ajaxInfo.setMsg("登陆成功!");
            ajaxInfo.setData(user1.getUserName());
            session.setAttribute("userName", user1.getUserName());
            System.out.println(session.getAttribute("userName"));
        } else {
            ajaxInfo.setCode(-1);
            ajaxInfo.setMsg("账号或密码错误!");
        }
        return ajaxInfo;
    }

    @RequestMapping("/logout")
    public String login(HttpSession session) {

        System.out.println(session.getId());
        System.out.println(session.getAttribute("userName"));
        session.removeAttribute("userName");
        return "success";
    }

    @RequestMapping("/registUser")
    public AjaxInfo regist(@RequestBody User user, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();

        User userByAcc = userService.getUserByAcc(user.getUserAcc());
        if (session.getAttribute("userName") != null) {
            if (userByAcc == null) {
                userService.registUser(user);
                ajaxInfo.setMsg("注册成功!");
            } else {
                ajaxInfo.setMsg("账号已存在!请重新输入~");
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/queryUser")
    public AjaxInfo queryUser(@RequestBody User user, HttpSession session) {
        System.out.println(user);
        AjaxInfo ajaxInfo = new AjaxInfo();

        if (session.getAttribute("userName") != null) {
            User userByAcc = userService.getUserByAcc(user.getUserAcc());
            if (userByAcc == null||userByAcc.getUserRight()!=2) {
                ajaxInfo.setMsg("该取药员不存在,请重新输入!");
                ajaxInfo.setCode(-1);
            } else {
                ajaxInfo.setMsg("查询成功!");
                ajaxInfo.setCode(0);
                ajaxInfo.setData(userByAcc);
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/deleteUser")
    public AjaxInfo deleteUser(@RequestBody User user, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();

        if (session.getAttribute("userName") != null) {
            userService.deleteUser(user.getUserAcc());
            ajaxInfo.setMsg("删除成功!");
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/registBuyer")
    public AjaxInfo registBuyer(@RequestBody Buyer buyer, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println("======"+buyer);
        Buyer buyerByUserId = userService.getBuyerById(buyer.getBuyerId());
        if (session.getAttribute("userName") != null) {
            if (buyerByUserId == null) {
                userService.registBuyer(buyer);
                ajaxInfo.setMsg("注册成功!");
            } else {
                ajaxInfo.setMsg("ID已存在!");
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/queryBuyer")
    public AjaxInfo queryBuyer(@RequestBody Buyer buyer, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println(buyer);

        if (session.getAttribute("userName") != null) {
            Buyer buyer1 = userService.getBuyerById(buyer.getBuyerId());
            if (buyer1 == null) {
                ajaxInfo.setMsg("该采购员不存在,请重新输入!");
                ajaxInfo.setCode(-1);
            } else {
                ajaxInfo.setMsg("查询成功!");
                ajaxInfo.setData(buyer1);
                ajaxInfo.setCode(0);
            }

        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        System.out.println("================="+ajaxInfo.getCode());
        return ajaxInfo;
    }

    @RequestMapping("/deleteBuyer")
    public AjaxInfo deleteBuyer(@RequestBody Buyer buyer, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            userService.deleteBuyer(buyer.getBuyerId());
            ajaxInfo.setMsg("删除成功!");
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/updateBuyer")
    public AjaxInfo updateBuyer(@RequestBody Buyer buyer, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            userService.updateBuyer(buyer);
            ajaxInfo.setMsg("更新成功!");
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

}

后台管理控制层:

@RestController
@CrossOrigin
@RequestMapping("/admin")
public class AdminController {
    @Autowired
    private AdminService adminService;

    @RequestMapping("/insertStorage")
    public AjaxInfo insertStroage(@RequestBody Instorage instorage, HttpSession session) {
        System.out.println(instorage);
        AjaxInfo ajaxInfo = new AjaxInfo();
        Instorage in = new Instorage();
        if (session.getAttribute("userName") != null) {
            Medicine med = adminService.getMedicineBymedId(instorage.getMedId());
            SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            Date date = new Date();
            in.setMedId(instorage.getMedId());
            in.setBuyerId(instorage.getBuyerId());
            in.setInDate(time.format(date));
            in.setInStorageNum(instorage.getInStorageNum());
            if (med == null) {
                ajaxInfo.setCode(-1);
                ajaxInfo.setMsg("入库失败,该药品不存在!");
            } else {
                adminService.insertInstorage(in);
                adminService.updateMedStorage(instorage.getMedId(), instorage.getInStorageNum()+med.getMedStorage());
                ajaxInfo.setMsg("入库成功~");
                ajaxInfo.setCode(0);
            }

            return ajaxInfo;

        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;

    }

    @RequestMapping("/insertMedicine")
    public AjaxInfo insertMedicine(@RequestBody Medicine medicine, HttpSession session) {
        System.out.println(medicine);
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            Medicine med = adminService.getMedicineBymedId(medicine.getMedId());
            if (med == null) {
                adminService.insertMedicine(medicine);
                ajaxInfo.setMsg("插入信息成功~");
                ajaxInfo.setCode(0);
            } else {
                ajaxInfo.setMsg("该药品已存在~");
                ajaxInfo.setCode(-1);
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/queryMedicine")
    public AjaxInfo queryMedicine(@RequestBody Medicine medicine, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            Medicine med = adminService.getMedicineBymedId(medicine.getMedId());
            if (med == null) {
                ajaxInfo.setMsg("该药品不存在,请重新输入!");
                ajaxInfo.setCode(-1);
            } else {
                ajaxInfo.setMsg("查询成功!");
                ajaxInfo.setData(med);
                ajaxInfo.setCode(0);
                System.out.println(med);
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
            ajaxInfo.setCode(-2);
        }

        return ajaxInfo;
    }

    @RequestMapping("/updateMedicine")
    public AjaxInfo updateMedicine(@RequestBody Medicine medicine, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            adminService.updateMedicine(medicine);
            ajaxInfo.setMsg("更新成功!");
            ajaxInfo.setCode(0);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/deleteMedicine")
    public AjaxInfo deleteMedicine(@RequestBody Medicine medicine, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            adminService.deleteMedicine(medicine.getMedId());
            ajaxInfo.setMsg("删除成功!");
            ajaxInfo.setCode(0);
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
    @RequestMapping("/insertFactory")
    public AjaxInfo insertFactory(@RequestBody Factory factory, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            Factory fId = adminService.getFactoryByfactoryId(factory.getFactoryId());
            if (fId == null) {
                adminService.insertFactory(factory);
                ajaxInfo.setMsg("插入信息成功~");
                ajaxInfo.setCode(0);
            } else {
                ajaxInfo.setMsg("该药厂已存在~");
                ajaxInfo.setCode(-1);
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
    @RequestMapping("/queryFactory")
    public AjaxInfo queryFactory(@RequestBody Factory factory, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            Factory fId = adminService.getFactoryByfactoryId(factory.getFactoryId());
            if (fId == null) {
                ajaxInfo.setMsg("该药厂不存在,请重新输入!");
                ajaxInfo.setCode(-1);
            } else {
                ajaxInfo.setMsg("查询成功!");
                ajaxInfo.setData(fId);
                ajaxInfo.setCode(0);
                System.out.println(fId);
            }
            return ajaxInfo;
        } else {
            ajaxInfo.setMsg("权限不足!请先登录~");
            ajaxInfo.setCode(-2);
        }
        return ajaxInfo;
    }
    @RequestMapping("/updateFactory")
    public AjaxInfo updateFactory(@RequestBody Factory factory, HttpSession session) {
        System.out.println(factory);
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            adminService.updateFactory(factory);
            ajaxInfo.setMsg("更新成功!");
            ajaxInfo.setCode(0);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/deleteFactory")
    public AjaxInfo deleteFactory(@RequestBody Factory factory, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            adminService.deleteFactory(factory.getFactoryId());
            ajaxInfo.setMsg("删除成功!");
            ajaxInfo.setCode(0);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
}

查询管理控制层:

@RestController
@CrossOrigin
@RequestMapping("/query")
public class QueryController {

    @Autowired
    private QueryService queryService;

    @RequestMapping("/queryMedicine")
    public AjaxInfo queryMedicine(HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            List<Medicine> medicines = queryService.queryMedicine();
            ajaxInfo.setCode(0);
            ajaxInfo.setMsg("查询成功");
            ajaxInfo.setData(medicines);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/queryFactory")
    public AjaxInfo queryFactory(HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            List<Factory> factories = queryService.queryFactory();
            ajaxInfo.setCode(0);
            ajaxInfo.setData(factories);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/queryBuyer")
    public AjaxInfo queryBuyer1(HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            List<Buyer> buyers = queryService.queryBuyer();
            ajaxInfo.setCode(0);
            ajaxInfo.setData(buyers);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/showInRecord")
    public AjaxInfo showInRecord(MedicineTable medicineTable,HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            int page=(medicineTable.getPage()-1)*medicineTable.getLimit();
            medicineTable.setPage(page);
            List<ShowInRecord> inRecord = queryService.getInRecord(medicineTable);
            ajaxInfo.setCount(queryService.getInRecordCount(medicineTable));
            ajaxInfo.setCode(0);
            ajaxInfo.setData(inRecord);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

    @RequestMapping("/showOutRecord")
    public AjaxInfo queryBuyer(MedicineTable medicineTable,HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        if (session.getAttribute("userName") != null) {
            int page=(medicineTable.getPage()-1)*medicineTable.getLimit();
            medicineTable.setPage(page);
            List<ShowOutRecord> outRecord = queryService.getOutRecord(medicineTable);
            ajaxInfo.setCount(queryService.getOutRecordCount(medicineTable));
            ajaxInfo.setCode(0);
            ajaxInfo.setData(outRecord);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
    @RequestMapping("/queryMedicineByName")
    public AjaxInfo queryMedicineByName(MedicineTable medicineTable, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println(medicineTable);
        if (session.getAttribute("userName") != null) {
            int page=(medicineTable.getPage()-1)*medicineTable.getLimit();
            medicineTable.setPage(page);
            List<Medicine> medicines = queryService.queryMedicineByName(medicineTable);
            ajaxInfo.setMsg("查询成功");
            ajaxInfo.setCount(queryService.queryMedicineByNameCount(medicineTable));
            ajaxInfo.setCode(0);
            ajaxInfo.setData(medicines);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
    @RequestMapping("/queryFactoryByName")
    public AjaxInfo queryFactoryByName(MedicineTable medicineTable, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println(medicineTable);
        if (session.getAttribute("userName") != null) {
            int page=(medicineTable.getPage()-1)*medicineTable.getLimit();
            medicineTable.setPage(page);
            List<Factory> factories = queryService.queryFactoryByName(medicineTable);
            ajaxInfo.setMsg("查询成功");
            ajaxInfo.setCount(queryService.queryFactoryByNameCount(medicineTable));
            ajaxInfo.setCode(0);
            ajaxInfo.setData(factories);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
    @RequestMapping("/queryBuyerByName")
    public AjaxInfo queryBuyerByName(MedicineTable medicineTable, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println(medicineTable);
        if (session.getAttribute("userName") != null) {
            int page=(medicineTable.getPage()-1)*medicineTable.getLimit();
            medicineTable.setPage(page);
            List<Buyer> buyers = queryService.queryBuyerByName(medicineTable);
            ajaxInfo.setMsg("查询成功");
            ajaxInfo.setCount(queryService.queryBuyerByNameCount(medicineTable));
            ajaxInfo.setCode(0);
            ajaxInfo.setData(buyers);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }
    @RequestMapping("/queryUserByName")
    public AjaxInfo queryUserByName(MedicineTable medicineTable, HttpSession session) {
        AjaxInfo ajaxInfo = new AjaxInfo();
        System.out.println(medicineTable);
        if (session.getAttribute("userName") != null) {
            int page=(medicineTable.getPage()-1)*medicineTable.getLimit();
            medicineTable.setPage(page);
            List<User> users = queryService.queryUserByName(medicineTable);
            ajaxInfo.setMsg("查询成功");
            ajaxInfo.setCount(queryService.queryUserByNameCount(medicineTable));
            ajaxInfo.setCode(0);
            ajaxInfo.setData(users);
        } else {
            ajaxInfo.setCode(-2);
            ajaxInfo.setMsg("权限不足!请先登录~");
        }
        return ajaxInfo;
    }

}

源码获取:博客首页 "资源" 里下载! 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐