作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
ssm超市进销存管理系统
项目介绍
超市进销存管理系统,主要分为管理员与员工两种角色:
管理员主要功能模块有:
进货管理:进货信息、退货信息;
商品信息管理:商品信息、商品类别;
库存管理:库存信息、库存预警、临期产品;
销售管理:销售信息、销售统计、顾客退货办理;
客户信息管理:客户信息;
供应商信息管理:供应商信息;
员工信息管理:员工信息;
员工主要功能有:
进货管理:进货信息、退货信息;
商品信息管理:商品信息、商品类别;
库存管理:库存信息、库存预警、临期产品;
销售管理:销售信息、顾客退货办理;
客户信息管理:客户信息;
供应商信息管理:供应商信息;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA。注:该项目暂不支持Eclipse或者MyEclipse;
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+bootstrap+jQuery
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中db.properties与spring-mybatis.xml配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,在浏览器中输入localhost:8080/chaoshi 登录
注意事项
项目路径必须为localhost:8080/chaoshi,前端代码中已写死,否则会报错;
运行截图
相关代码
进货管理
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";
}
}
CkretireController
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;
}
}
CustomController
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";
}
}
如果也想学习本系统,下面领取。关注并回复:009ssm