作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
该项目主要分为管理员与普通员工两种角色;
管理员角色包含以下功能:
管理员登录,进货管理,图书信息管理,库存管理,销售管理,客户信息管理,供应商信息管理,员工信息管理等功能。
普通员工角色包含以下功能:
用户登录,进货管理,图书信息管理,库存管理,销售管理,客户信息管理,供应商管理,修改个人资料等功能。
环境需要
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版本;
6.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
技术栈
1. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+bootstrap+jQuery
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中db.properties与spring-mybatis.xml配置文件中的数据库配置改为自己的配置;
注:在spring-mybatis.xml没有将db.properties的数据同步过去的情况下修改;
4. 运行项目,输入localhost:8080/chaoshi 登录 注:tomcat中配置项目路径必须为/chaoshi,前端代码中已写死,否则会报错;
操作员账号/密码: 001/123456
管理员账号/密码:999/admin
运行截图
相关代码
进货管理控制器
package com.hbh.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hbh.entity.Ckin;
import com.hbh.service.imp.CkinServiceImp;
/**
* @Author Binvor
* @Date 2019年3月27日下午3:28:51
* @Des 进货管理
*/
@Controller
@RequestMapping("/staff/flatform/ckin")
public class CkinController {
@Autowired
CkinServiceImp ckinServiceImp;
// 获取所有进货信息
@RequestMapping("getall")
public String getlist(ModelMap model,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 4);
List<Ckin> ckin= ckinServiceImp.getall();
PageInfo<Ckin> pageInfo=new PageInfo<Ckin>(ckin);
model.addAttribute("pageInfo", pageInfo);
return "getall_ckin";
}
// 根据id查询单个信息
@RequestMapping("/getckin")
public String getbyid(String inid,HttpServletRequest request,Model model){
request.setAttribute("ckin", ckinServiceImp.getbyid(inid));
model.addAttribute("ckin",ckinServiceImp.getbyid(inid));
return "getckin";
}
// 根据条件查询
/* @RequestMapping("/getwhere")
public String getwhere(String id,String pname,String type ,HttpServletRequest request,Model model){
request.setAttribute(" duct", ckinServiceImp.getbywhere( id, pname, type));
model.addAttribute(" duct",ckinServiceImp.getbywhere( id, pname, type));
return "getlist";
}*/
@RequestMapping("edit")
public String edit(Ckin ckin,HttpServletRequest request,Model model){
model.addAttribute("ckin", ckinServiceImp.getbyid(ckin.getInid()));
return "editckin";
}
@RequestMapping("update")
public String update(Ckin ckin,HttpServletRequest request,Model model){
if(ckinServiceImp.update(ckin)) {
ckin=ckinServiceImp.getbyid(ckin.getInid());
model.addAttribute("ckin", ckin);
return "redirect:getall";
}
return null;
}
@RequestMapping("/delete")
public String deletete(String inid,HttpServletRequest request,Model model){
ckinServiceImp.delete(inid);
return "redirect:getall";
}
// 跳转到增加页面
@RequestMapping("/toadd")
public String toadd (){
return "addckin";
}
@RequestMapping("/insert")
// 先判断数据库有没有,有就更新,没有就新增
public String insert (Ckin ckin,HttpServletRequest request,Model model){
if(null==ckinServiceImp.getbyid(ckin.getInid())) {
ckinServiceImp.insert(ckin);
}else {
ckinServiceImp.update(ckin);
}
return "redirect:getall";
}
@InitBinder
protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
// 按条件获取所有进货信息
@RequestMapping("getbyparams")
public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
@RequestParam(value="inid",required=false)String inid,@RequestParam(value="pname",required=false)String pname,
@RequestParam(value="indate",required=false)String indate,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 100);
List<Ckin> ckin= ckinServiceImp.getbyparams(proid, inid, pname, indate);
PageInfo<Ckin> pageInfo=new PageInfo<Ckin>(ckin);
model.addAttribute("pageInfo", pageInfo);
return "getckinbyparams";
}
}
退货管理控制器
package com.hbh.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hbh.entity.Ckin;
import com.hbh.entity.Ckretire;
import com.hbh.service.imp.CkinServiceImp;
import com.hbh.service.imp.CkretireServiceImp;
/**
* @Author Binvor
* @Date 2019年3月28日上午9:42:09
* @Des
*/
@Controller
@RequestMapping("/staff/flatform/ckretire")
public class CkretireController {
@Autowired
CkretireServiceImp ckretireServiceImp;
@Autowired
CkinServiceImp ckinServiceImp;
// 获取所有退货信息
@RequestMapping("getall")
public String getlist(ModelMap model,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 4);
List<Ckretire> ckretire= ckretireServiceImp.getall();
PageInfo<Ckretire> pageInfo=new PageInfo<Ckretire>(ckretire);
model.addAttribute("pageInfo", pageInfo);
return "getall_ckretire";
}
// 根据id查询单个信息
@RequestMapping("/getckretire")
public String getbyid(String inid,HttpServletRequest request,Model model){
request.setAttribute("ckretire", ckretireServiceImp.getbyid(inid));
model.addAttribute("ckretire",ckretireServiceImp.getbyid(inid));
return "getckretire";
}
// 根据条件查询
/* @RequestMapping("/getwhere")
public String getwhere(String id,String pname,String type ,HttpServletRequest request,Model model){
request.setAttribute(" duct", ckretireServiceImp.getbywhere( id, pname, type));
model.addAttribute(" duct",ckretireServiceImp.getbywhere( id, pname, type));
return "getlist";
}*/
@RequestMapping("edit")
public String edit(Ckretire ckretire,HttpServletRequest request,Model model){
model.addAttribute("ckretire", ckretireServiceImp.getbyid(ckretire.getInid()));
return "editckretire";
}
@RequestMapping("update")
public String update(Ckretire ckretire,HttpServletRequest request,Model model){
if(ckretireServiceImp.update(ckretire)) {
ckretire=ckretireServiceImp.getbyid(ckretire.getInid());
model.addAttribute("ckretire", ckretire);
return "redirect:getall";
}
return null;
}
@RequestMapping("/delete")
public String deletete(String inid,HttpServletRequest request,Model model){
ckretireServiceImp.delete(inid);
return "redirect:getall";
}
// 跳转到增加页面
@RequestMapping("/toadd")
public String toadd (){
return "addckretire";
}
@RequestMapping("/insert")
// 先判断数据库有没有,有就更新,没有就新增
public String insert (Ckretire ckretire,HttpServletRequest request,Model model){
if(null==ckretireServiceImp.getbyid(ckretire.getInid())) {
ckretireServiceImp.insert(ckretire);
}else {
ckretireServiceImp.update(ckretire);
}
return "redirect:getall";
}
@InitBinder
protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
// 按条件获取所有进货信息
@RequestMapping("getbyparams")
public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
@RequestParam(value="inid",required=false)String inid,@RequestParam(value="pname",required=false)String pname,
@RequestParam(value="retdate",required=false)String retdate,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 100);
List<Ckretire> ckin= ckretireServiceImp.getbyparams(proid, inid, pname, retdate);
PageInfo<Ckretire> pageInfo=new PageInfo<Ckretire>(ckin);
model.addAttribute("pageInfo", pageInfo);
return "getckretirebyparams";
}
// 根据id查询单个信息
@RequestMapping("/getckret")
@ResponseBody
public Ckin ckretire(String inid,HttpServletRequest request,Model model){
Ckin ckretire=new Ckin();
ckretire= ckinServiceImp.getbyid(inid);
return ckretire;
}
}
客户类别控制器
package com.hbh.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.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hbh.entity.Custom;
import com.hbh.entity.Product;
import com.hbh.entity.Type;
import com.hbh.entity.Custom;
import com.hbh.service.imp.CustomServiceImp;
import com.hbh.service.imp.CustomServiceImp;
/**
* @Author Binvor
* @Date 2019年3月25日下午2:30:11
* @Des 客户类别控制器
*/
@Controller
@RequestMapping("/staff/flatform/custom")
public class CustomController {
@Autowired
CustomServiceImp customServiceImp;
// 跳转到增加页面
@RequestMapping("/toadd")
public String toaddCustom(){
return "addcus";
}
// 跳转到修改页面
@RequestMapping("/toupdate")
public String editProduct(Custom custom,HttpServletRequest request,Model model){
model.addAttribute("custom", customServiceImp.getByid(custom.getCusid()));
return "editcus";
}
// 先判断数据库有没有,有就更新,没有就新增
@RequestMapping("/insert")
public String insert(Custom custom,HttpServletRequest request,Model model){
if(null==customServiceImp.getByid(custom.getCusid())) {
customServiceImp.insert(custom);
}else {
customServiceImp.update(custom);
}
return "redirect:getall";
}
// 删除
@RequestMapping("/delete")
public String delete(String cusid) {
customServiceImp.delete(cusid);
return "redirect:getall";
}
// 修改
@RequestMapping("/update")
public String update(Custom custom,HttpServletRequest request,Model model){
if(customServiceImp.update(custom)) {
custom=customServiceImp.getByid(custom.getCusid());
model.addAttribute("custom", custom);
return "redirect:getall";
}
return null;
}
// 查询所有
@RequestMapping("/getall")
public String getall_cus(ModelMap model,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 4);
List<Custom> Customs= customServiceImp.getlist();
PageInfo<Custom> pageInfo=new PageInfo<Custom>(Customs);
model.addAttribute("pageInfo", pageInfo);
return "getall_cus";
}
// 查询单个
@RequestMapping("/getbyid")
public String getbyid(String cusid,HttpServletRequest request,Model model) {
request.setAttribute("custom", customServiceImp.getByid(cusid));
model.addAttribute("custom",customServiceImp.getByid(cusid));
return "getall";
}
//根据条件查询
@RequestMapping("getbyparams")
public String getbyparams(@RequestParam(value="cusid",required=false)String cusid,@RequestParam(value="cusname",required=false)String cusname,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn,HttpServletRequest request,Model model
) {
PageHelper.startPage(pn, 100);
List<Custom> customs= customServiceImp.getbyparams(cusid, cusname);
PageInfo<Custom> pageInfo=new PageInfo<Custom>(customs);
model.addAttribute("pageInfo", pageInfo);
return "getcustombyparams";
}
}
管理员控制器
package com.hbh.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hbh.entity.Kcxx;
import com.hbh.entity.Manager;
import com.hbh.entity.Staff;
import com.hbh.service.imp.KcxxServiceImp;
import com.hbh.service.imp.ManagerServiceImp;
import com.hbh.service.imp.StaffServiceImp;
import com.hbh.tools.Constants;
/**
* @Author Binvor
* @Date 2019年4月16日下午1:56:55
* @Des 管理员控制层
*/
@Controller
@RequestMapping("/manager")
public class ManagerController {
private Logger logger=Logger.getLogger(ManagerController.class);
@Autowired
ManagerServiceImp managerServiceImp;
@Autowired
StaffServiceImp staffServiceImp;
@Autowired
KcxxServiceImp kcxxServiceImp;
@RequestMapping("/login")
public String login() {
logger.debug("LoginController welcome AppInfoSystem develpor==================");
return "manager/managerlogin";
}
@RequestMapping(value="/dologin")
public String dologin(@RequestParam String managerid,@RequestParam String pwd,
HttpSession session,HttpServletRequest request) {
Manager manager=managerServiceImp.getbyid(managerid, pwd);
if(manager!=null) {
session.setAttribute(Constants.Manager_SESSION, manager);
return "redirect:/manager/flatform/main";
}else {
request.setAttribute("error", "账号密码不匹配");
return "manager/managerlogin";
}
}
@RequestMapping(value="/flatform/main")
public String main(HttpSession session,HttpServletRequest request) {
// 验证是否有session信息,防止非法登录,没有就跳转到登录页面
if(session.getAttribute(Constants.Manager_SESSION)==null)
{
return "redirect:/manager/login";
}
List<Kcxx> kcxx=kcxxServiceImp.kcxxWithProdata();
List<Kcxx> kcxx2=kcxxServiceImp.kcxxWithPronum();
if(!kcxx.isEmpty()||!kcxx2.isEmpty()) {
request.setAttribute("msg", "存在预警信息请及时处理");
}else {
request.setAttribute("msg", "");
}
return "manager/main";
}
@RequestMapping(value="/logout")
public String logout(HttpSession session) {
// 退出清除esison
session.removeAttribute(Constants.Staff_SESSION);
session.invalidate();
return "redirect:/manager/login";
}
@RequestMapping("/getbyid")
public String grxx(String managerid,HttpServletRequest request,Model model){
request.setAttribute("manager", managerServiceImp.getmanager(managerid));
model.addAttribute("manager",managerServiceImp.getmanager(managerid));
return "manager/grxx";
}
@RequestMapping("/update")
public String update(Manager manager,HttpServletRequest request,Model model){
if(managerServiceImp.update(manager)) {
manager=managerServiceImp.getmanager(manager.getManagerid());
model.addAttribute("manager", manager);
return "redirect:/manager/login";
}
return null;
}
// 跳转到修改个人信息页面
@RequestMapping("/toupdate")
public String editmanager(Manager manager,HttpServletRequest request,Model model){
model.addAttribute("manager", managerServiceImp.getmanager(manager.getManagerid()));
return "manager/editmanager";
}
// 跳转到增加页面
@RequestMapping("/toadd")
public String toadd(){
return "manager/addstaff";
}
//跳转到修改员工信息页面
@RequestMapping("/toupdatestaff")
public String editstaff(Staff staff,HttpServletRequest request,Model model){
model.addAttribute("staff", staffServiceImp.getbyid(staff.getStaffid()));
return "manager/editstaff";
}
//修改员工信息
@RequestMapping("/updatestaff")
public String updatestaff(Staff staff,HttpServletRequest request,Model model){
if(staffServiceImp.update(staff)) {
staff=staffServiceImp.getbyid(staff.getStaffid());
model.addAttribute("staff", staff);
return "redirect:getall";
}
return null;
}
// 先判断数据库有没有,有就更新,没有就新增
@RequestMapping("/insert")
public String insert(Staff staff,HttpServletRequest request,Model model){
if(null==staffServiceImp.getbyid(staff.getStaffid())) {
staffServiceImp.insert(staff);
}else {
staffServiceImp.update(staff);
}
return "redirect:getall";
}
// 删除
@RequestMapping("/delete")
public String delete(String staffid) {
staffServiceImp.delete(staffid);
return "redirect:getall";
}
// 查询所有
@RequestMapping("/getall")
public String getall_cus(ModelMap model,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 4);
List<Staff> staffs= staffServiceImp.getall();
PageInfo<Staff> pageInfo=new PageInfo<Staff>(staffs);
model.addAttribute("pageInfo", pageInfo);
return "manager/getall_staff";
}
//根据条件查询
@RequestMapping("getbyparams")
public String getbyparams(@RequestParam(value="staffname",required=false)String staffname,@RequestParam(value="staffid",required=false)String staffid,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn,HttpServletRequest request,Model model
) {
PageHelper.startPage(pn, 100);
List<Staff> staffs= staffServiceImp.getbyparams(staffid, staffname);
PageInfo<Staff> pageInfo=new PageInfo<Staff>(staffs);
model.addAttribute("pageInfo", pageInfo);
return "manager/getstaffbyparams";
}
}
销售管理控制器
package com.hbh.controller;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hbh.entity.Sale;
import com.hbh.service.imp.SaleServiceImp;
/**
* @Author Binvor
* @Date 2019年4月19日下午1:58:43
* @Des
*/
@Controller
@RequestMapping("/manager/flatform/sale")
public class MSaleController {
@Autowired
SaleServiceImp saleServiceImp;
// 跳转到增加页面
@RequestMapping("/toadd")
public String toadd(){
return "manager/addsale";
}
// 跳转到修改页面
@RequestMapping("/toupdate")
public String editSale(Sale sale,HttpServletRequest request,Model model){
model.addAttribute("sale", saleServiceImp.getbyid(sale.getSaleid()));
return "manager/editSale";
}
// 先判断数据库有没有,有就更新,没有就新增
@RequestMapping("/insert")
public String insert(Sale sale,HttpServletRequest request,Model model){
if(null==saleServiceImp.getbyid(sale.getSaleid())) {
saleServiceImp.insert(sale);
}else {
saleServiceImp.update(sale);
}
return "redirect:getall";
}
// 删除
@RequestMapping("/delete")
public String delete(String saleid) {
saleServiceImp.delete(saleid);
return "redirect:getall";
}
// 修改
@RequestMapping("/update")
public String update(Sale sale,HttpServletRequest request,Model model){
if(saleServiceImp.update(sale)) {
sale=saleServiceImp.getbyid(sale.getSaleid());
model.addAttribute("sale", sale);
return "redirect:getall";
}
return null;
}
// 查询所有
@RequestMapping("/getall")
public String getall_cus(ModelMap model,
@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 4);
List<Sale> sales= saleServiceImp.getall();
PageInfo<Sale> pageInfo=new PageInfo<Sale>(sales);
model.addAttribute("pageInfo", pageInfo);
return "manager/getall_sale";
}
// 查询单个
@RequestMapping("/getbyid")
public String getbyid(String saleid,HttpServletRequest request,Model model) {
request.setAttribute("sale", saleServiceImp.getbyid(saleid));
model.addAttribute("sale",saleServiceImp.getbyid(saleid));
return "manager/getsale";
}
@RequestMapping("getbyparams")
public String getbyparams(HttpServletRequest request,Model model,@RequestParam(value="proid",required=false)String proid,
@RequestParam(value="cusid",required=false)String cusid,@RequestParam(value="pname",required=false)String pname,
@RequestParam(value="cusname",required=false)String cusname,@RequestParam(defaultValue="1",required=true,value="pn") Integer pn
) {
PageHelper.startPage(pn, 100);
List<Sale> sale= saleServiceImp.getbyparams(proid, cusid, pname, cusname);
PageInfo<Sale> pageInfo=new PageInfo<Sale>(sale);
model.addAttribute("pageInfo", pageInfo);
return "manager/getsalebyparams";
}
@RequestMapping(value="echartsData",method=RequestMethod.POST)
@ResponseBody
public List<Map<String, Object>> initChart(){
return saleServiceImp.pieData();
}
// 跳转到增加页面
@RequestMapping("/toechart")
public String toechart(){
return "manager/echart";
}
}
如果也想学习本系统,下面领取。回复:185ssm