基于javaweb+mysql的ssm农产品水果店销售管理系统(java+jsp+ssm+javabean+mysql+tomcat)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
农产品店、水果店等管理产品与销售、进货等信息
技术框架
JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL EasyUI JavaScript
基于javaweb+mysql的SSM农产品水果店销售管理系统(java+jsp+ssm+javabean+mysql+tomcat)
/**
* 获取用户列表
* @param page
* @param username
* @param roleId
* @param sex
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(Page page,
@RequestParam(name="username",required=false,defaultValue="") String username,
@RequestParam(name="roleId",required=false) Long roleId,
@RequestParam(name="sex",required=false) Integer sex
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("username", username);
queryMap.put("roleId", roleId);
queryMap.put("sex", sex);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("rows", userService.findList(queryMap));
ret.put("total", userService.getTotal(queryMap));
return ret;
}
/**
* 添加用户
* @param user
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> add(User user){
Map<String, String> ret = new HashMap<String, String>();
if(user == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的用户信息!");
return ret;
}
if(StringUtils.isEmpty(user.getUsername())){
ret.put("type", "error");
ret.put("msg", "请填写用户名!");
return ret;
}
if(StringUtils.isEmpty(user.getPassword())){
/**
* 销售退货单管理控制器
*
*/
@RequestMapping("/admin/sell_reback")
@Controller
public class SellRebackController {
@Autowired
private SellRebackService sellRebackService;
@Autowired
private StockService stockService;
/**
* 销售退货单管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("sell_reback/list");
return model;
}
/**
* 模糊搜索分页获取销售退货单信息
* @return
*/
* 销售单管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("sell/list");
return model;
}
/**
* 模糊搜索分页获取销售单信息
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(name="payType",required=false) Integer payType,
@RequestParam(name="status",required=false) Integer status,
@RequestParam(name="minMoney",required=false) Float minMoney,
@RequestParam(name="maxMoney",required=false) Float maxMoney,
@RequestParam(name="operator",defaultValue="") String operator,Page page
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("operator", operator);
if(payType != null){
queryMap.put("payType", payType);
}
if(status != null){
queryMap.put("status", status);
}
if(minMoney != null){
queryMap.put("minMoney", minMoney);
}
if(maxMoney != null){
queryMap.put("maxMoney", maxMoney);
}
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("total", sellService.getTotal(queryMap));
ret.put("rows", sellService.findList(queryMap));
return ret;
}
/**
* 添加销售单信息
* @param sell
return ret;
}
/**
* 添加日志
* @param user
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> add(Log log){
Map<String, String> ret = new HashMap<String, String>();
if(log == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的日志信息!");
return ret;
}
if(StringUtils.isEmpty(log.getContent())){
ret.put("type", "error");
ret.put("msg", "请填写日志内容!");
return ret;
}
log.setCreateTime(new Date());
if(logService.add(log) <= 0){
ret.put("type", "error");
ret.put("msg", "日志添加失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "日志添加成功!");
return ret;
}
/**
* 批量删除日志
* @param ids
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> delete(String ids){
Map<String, String> ret = new HashMap<String, String>();
if(StringUtils.isEmpty(ids)){
ret.put("type", "error");
ret.put("msg", "选择要删除的数据!");
return ret;
}
if(ids.contains(",")){
ids = ids.substring(0,ids.length()-1);
}
if(logService.delete(ids) <= 0){
CpachaUtil cpachaUtil = new CpachaUtil(vcodeLen, width, height);
String generatorVCode = cpachaUtil.generatorVCode();
request.getSession().setAttribute(cpachaType, generatorVCode);
BufferedImage generatorRotateVCodeImage = cpachaUtil.generatorRotateVCodeImage(generatorVCode, true);
try {
ImageIO.write(generatorRotateVCodeImage, "gif", response.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 用户管理控制器
*
*/
@RequestMapping("/admin/user")
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(name="productNum",required=false) Integer productNum,
@RequestParam(name="supplierId",required=false) Long supplierId,
@RequestParam(name="productName",defaultValue="") String productName,Page page
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("productName", productName);
if(supplierId != null){
queryMap.put("supplierId", supplierId);
}
if(productNum != null){
queryMap.put("productNum", productNum);
}
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("total", stockService.getTotal(queryMap));
ret.put("rows", stockService.findList(queryMap));
return ret;
}
/**
* 编辑商品库存信息
* @param stock
* @return
*/
@RequestMapping(value="edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(Stock stock){
Map<String, String> ret = new HashMap<String, String>();
if(stock == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的商品库存信息!");
return ret;
}
if(stock.getProductNum() < 0){
ret.put("type", "error");
ret.put("msg", "商品库存数量不能小于0!");
*
*/
@RequestMapping("/admin/supplier")
@Controller
public class SupplierController {
@Autowired
private SupplierService supplierService;
/**
* 供应商管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("supplier/list");
return model;
}
/**
* 模糊搜索分页获取供应商信息
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(name="name",defaultValue="") String name,Page page
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("name", name);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("total", supplierService.getTotal(queryMap));
ret.put("rows", supplierService.findList(queryMap));
return ret;
}
/**
* 添加供应商信息
* @param supplier
* @return
*/
@RequestMapping(value="add",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> add(Supplier supplier){
Map<String, String> ret = new HashMap<String, String>();
if(supplier == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的供应商信息!");
return ret;
ret.put("msg", "该角色下存在权限或者用户信息,不能删除!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "角色删除成功!");
return ret;
}
/**
* 获取所有的菜单信息
* @return
*/
@RequestMapping(value="/get_all_menu",method=RequestMethod.POST)
@ResponseBody
public List<Menu> getAllMenu(){
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("offset", 0);
queryMap.put("pageSize", 99999);
return menuService.findList(queryMap);
}
/**
* 添加权限
* @param ids
* @return
*/
@RequestMapping(value="/add_authority",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> addAuthority(
@RequestParam(name="ids",required=true) String ids,
@RequestParam(name="roleId",required=true) Long roleId
){
Map<String,String> ret = new HashMap<String, String>();
if(StringUtils.isEmpty(ids)){
ret.put("type", "error");
ret.put("msg", "请选择相应的权限!");
return ret;
}
if(roleId == null){
ret.put("type", "error");
ret.put("msg", "请选择相应的角色!");
return ret;
/**
* 角色role控制器
*
*/
@RequestMapping("/admin/role")
@Controller
public class RoleController {
@Autowired
private RoleService roleService;
@Autowired
private AuthorityService authorityService;
@Autowired
private MenuService menuService;
/**
* 角色列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("/role/list");
return model;
}
/**
* 销售退货单管理控制器
*
*/
@RequestMapping("/admin/sell_reback")
@Controller
public class SellRebackController {
@Autowired
private SellRebackService sellRebackService;
@Autowired
private StockService stockService;
/**
* 销售退货单管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("sell_reback/list");
return model;
}
/**
* 模糊搜索分页获取销售退货单信息
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(name="payType",required=false) Integer payType,
@RequestParam(name="status",required=false) Integer status,
@RequestParam(name="minMoney",required=false) Float minMoney,
JSONArray productArray = JSONArray.fromObject(productList);
float money = 0;
int num = 0;
List<Stock> stockList = new ArrayList<Stock>();
for(int i = 0; i < productArray.size(); i++){
JSONObject jsonObject = productArray.getJSONObject(i);
OrderInDetail orderInDetail = new OrderInDetail();
orderInDetail.setProductName(jsonObject.getString("name"));
orderInDetail.setProductNum(jsonObject.getInt("productNum"));
orderInDetail.setPrice(Float.valueOf(jsonObject.getString("price")));
orderInDetail.setMoney(orderInDetail.getPrice() * orderInDetail.getProductNum());
orderIn.getOrderInDetailList().add(orderInDetail);
money += orderInDetail.getMoney();
num += orderInDetail.getProductNum();
Stock stock = new Stock();
stock.setProductId(Long.valueOf(jsonObject.getInt("id")+""));
stock.setProductNum(orderInDetail.getProductNum());
stock.setCreateTime(new Date());
stock.setSellNum(0);
stockList.add(stock);
}
orderIn.setMoney(money);
orderIn.setProductNum(num);
User admin = (User)request.getSession().getAttribute("admin");
orderIn.setOperator(admin.getUsername());
orderIn.setCreateTime(new Date());
if(orderInService.add(orderIn) <= 0){
ret.put("type", "error");
ret.put("msg", "添加失败,请联系管理员!");
return ret;
}
//进行入库操作
addStock(stockList);
ret.put("type", "success");
ret.put("msg", "添加成功!");
return ret;
}
/**
* 编辑进货单信息
* @param product
* @return
*/
@RequestMapping(value="edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(OrderIn orderIn){
Map<String, String> ret = new HashMap<String, String>();
if(orderIn == null){
ret.put("type", "error");
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("name", name);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("total", supplierService.getTotal(queryMap));
ret.put("rows", supplierService.findList(queryMap));
return ret;
}
/**
* 添加供应商信息
* @param supplier
* @return
*/
@RequestMapping(value="add",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> add(Supplier supplier){
Map<String, String> ret = new HashMap<String, String>();
if(supplier == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的供应商信息!");
return ret;
}
if(StringUtils.isEmpty(supplier.getName())){
ret.put("type", "error");
ret.put("msg", "请填写供应商名称!");
return ret;
}
if(StringUtils.isEmpty(supplier.getTel())){
ret.put("type", "error");
ret.put("msg", "请填写供应商电话!");
return ret;
}
if(StringUtils.isEmpty(supplier.getContactName())){
ret.put("type", "error");
ret.put("msg", "请填写供应商联系人!");
return ret;
}
if(StringUtils.isEmpty(supplier.getContactPhone())){
ret.put("type", "error");
ret.put("msg", "请填写供应商联系人手机号!");
return ret;
}
if(StringUtils.isEmpty(supplier.getAddress())){
ret.put("type", "error");
ret.put("msg", "请填写供应商地址!");
return ret;
}
if(supplierService.add(supplier) <= 0){
int num = 0;
List<Stock> stockList = new ArrayList<Stock>();
for(int i = 0; i < productArray.size(); i++){
JSONObject jsonObject = productArray.getJSONObject(i);
OrderInRebackDetail orderInRebackDetail = new OrderInRebackDetail();
orderInRebackDetail.setProductName(jsonObject.getString("name"));
orderInRebackDetail.setProductNum(jsonObject.getInt("productNum"));
orderInRebackDetail.setPrice(Float.valueOf(jsonObject.getString("price")));
orderInRebackDetail.setMoney(orderInRebackDetail.getPrice() * orderInRebackDetail.getProductNum());
orderInReback.getOrderInRebackDetailList().add(orderInRebackDetail);
money += orderInRebackDetail.getMoney();
num += orderInRebackDetail.getProductNum();
Stock stock = new Stock();
stock.setProductId(Long.valueOf(jsonObject.getInt("id")+""));
stock.setProductNum(orderInRebackDetail.getProductNum());
stock.setCreateTime(new Date());
stock.setSellNum(0);
stockList.add(stock);
}
orderInReback.setMoney(money);
orderInReback.setProductNum(num);
User admin = (User)request.getSession().getAttribute("admin");
orderInReback.setOperator(admin.getUsername());
orderInReback.setCreateTime(new Date());
if(orderInRebackService.add(orderInReback) <= 0){
ret.put("type", "error");
ret.put("msg", "添加失败,请联系管理员!");
return ret;
}
//更新库存操作
updateStock(stockList);
ret.put("type", "success");
ret.put("msg", "添加成功!");
return ret;
}
/**
* 编辑进货退货单信息
* @param product
* @return
*/
@RequestMapping(value="edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(OrderInReback orderInReback){
Map<String, String> ret = new HashMap<String, String>();
if(orderInReback == null){
ret.put("type", "error");
ret.put("msg", "请选择正确的进货退货单信息!");
return ret;
}
orderInReback.setStatus(1);
if(orderInRebackService.edit(orderInReback) <= 0){
@Controller
public class SupplierController {
@Autowired
private SupplierService supplierService;
/**
* 供应商管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("supplier/list");
return model;
}
/**
* 模糊搜索分页获取供应商信息
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(name="name",defaultValue="") String name,Page page
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("name", name);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("total", supplierService.getTotal(queryMap));
ret.put("rows", supplierService.findList(queryMap));
return ret;
}
/**
* 添加供应商信息
* @param supplier
* @return
*/
@RequestMapping(value="add",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> add(Supplier supplier){
Map<String, String> ret = new HashMap<String, String>();
}
/**
* 销售统计控制器
*
*/
@RequestMapping("/admin/stats")
@Controller
public class StatsController {
@Autowired
private SellService sellService;
@Autowired
private SellRebackService sellRebackService;
/**
* 统计页面
* @param model
* @return
*/
@RequestMapping(value="stats",method=RequestMethod.GET)
public ModelAndView stats(ModelAndView model){
model.setViewName("stats/stats");
return model;
}
/**
* 获取统计数据
* @param type
* @return
*/
* @param orderIn
* @return
*/
@RequestMapping(value="add",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> add(String productList,OrderIn orderIn,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
if(StringUtils.isEmpty(productList)){
ret.put("type", "error");
ret.put("msg", "请至少选择一个商品信息!");
return ret;
}
if(orderIn == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的进货单信息!");
return ret;
}
JSONArray productArray = JSONArray.fromObject(productList);
float money = 0;
int num = 0;
List<Stock> stockList = new ArrayList<Stock>();
for(int i = 0; i < productArray.size(); i++){
JSONObject jsonObject = productArray.getJSONObject(i);
OrderInDetail orderInDetail = new OrderInDetail();
orderInDetail.setProductName(jsonObject.getString("name"));
orderInDetail.setProductNum(jsonObject.getInt("productNum"));
orderInDetail.setPrice(Float.valueOf(jsonObject.getString("price")));
orderInDetail.setMoney(orderInDetail.getPrice() * orderInDetail.getProductNum());
orderIn.getOrderInDetailList().add(orderInDetail);
money += orderInDetail.getMoney();
num += orderInDetail.getProductNum();
Stock stock = new Stock();
stock.setProductId(Long.valueOf(jsonObject.getInt("id")+""));
stock.setProductNum(orderInDetail.getProductNum());
stock.setCreateTime(new Date());
stock.setSellNum(0);
stockList.add(stock);
}
orderIn.setMoney(money);
orderIn.setProductNum(num);
User admin = (User)request.getSession().getAttribute("admin");
orderIn.setOperator(admin.getUsername());
* 销售退货单管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("sell_reback/list");
return model;
}
/**
* 模糊搜索分页获取销售退货单信息
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(name="payType",required=false) Integer payType,
@RequestParam(name="status",required=false) Integer status,
@RequestParam(name="minMoney",required=false) Float minMoney,
@RequestParam(name="maxMoney",required=false) Float maxMoney,
@RequestParam(name="operator",defaultValue="") String operator,Page page
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("operator", operator);
if(payType != null){
queryMap.put("payType", payType);
}
if(status != null){
queryMap.put("status", status);
}
if(minMoney != null){
queryMap.put("minMoney", minMoney);
}
if(maxMoney != null){
queryMap.put("maxMoney", maxMoney);
}
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("total", sellRebackService.getTotal(queryMap));
ret.put("rows", sellRebackService.findList(queryMap));
return ret;
}
/**
* 添加销售退货单信息