首页>代码>基于SSM实现的仓库管理系统>/源代码/TradeManage/src/com/trade/controller/ProductController.java
package com.trade.controller;


import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.google.gson.Gson;
import com.trade.model.Custom;
import com.trade.model.Employee;
import com.trade.model.Product;
import com.trade.model.Page;
import com.trade.model.Sales;
import com.trade.service.CustomService;
import com.trade.service.ProductService;
import com.trade.service.SalesService;
import com.trade.util.HighChartJson;
import com.trade.util.PageUtils;

@Controller
public class ProductController {
	@Autowired
	private ProductService productService;
	@Autowired
	private CustomService customService;
	@Autowired
	private SalesService salesService;
	
	@RequestMapping("queryProductBypage.do")
	public String queryProductBypage(Product product,Page page,ModelMap model){
		page.setMaxRows(5);
		List<Product> list = productService.queryByProduct(product);
		page.setStart(PageUtils.getPage(page.getPageNumber(), page.getTotalPage(), list.size(), page.getMaxRows()));
		page.setTotalPage(PageUtils.getTotalPage(page.getPageNumber(), page.getTotalPage(), list.size(), page.getMaxRows()));
		List<Product> productList = productService.queryByList(page, product);
		model.put("page", page);
		model.put("productList", productList);
		model.put("product", product);
		List<Custom> customList = customService.queryByCustom(new Custom());
		model.put("customList", customList);
		return "/productList";
	}
	
	@RequestMapping("queryProductBypage1.do")
	public String queryProductBypage1(Page page,ModelMap model){
		Product product = new Product();
		page.setMaxRows(5);
		List<Product> list = productService.queryByProduct(product);
		page.setStart(PageUtils.getPage(page.getPageNumber(), page.getTotalPage(), list.size(), page.getMaxRows()));
		page.setTotalPage(PageUtils.getTotalPage(page.getPageNumber(), page.getTotalPage(), list.size(), page.getMaxRows()));
		List<Product> productList = productService.queryByList(page, product);
		model.put("page", page);
		model.put("productList", productList);
		model.put("product", product);
		List<Custom> customList = customService.queryByCustom(new Custom());
		model.put("customList", customList);
		return "/productList";
	}
	
	@RequestMapping("checkAll.do")
	@ResponseBody
	public String checkAll(ModelMap model){
		List<Product> list = productService.queryByProduct(new Product());
		List<String> categories = new ArrayList<String>();
		List<Integer> data = new ArrayList<Integer>();
		for(Product p : list){
			categories.add(p.getProductname());
			data.add(p.getProductnum());
		}
		HighChartJson json = new HighChartJson(categories, data);
		Gson gson = new Gson();
		gson.toJson(json);
		return gson.toJson(json).toString();
	}
	
	@RequestMapping("statistical.do")
	@ResponseBody
	public String statistical(ModelMap model){
		List<Product> list = productService.queryByProduct(new Product());
		List<String> categories = new ArrayList<String>();
		List<Integer> data = new ArrayList<Integer>();
		for(Product p : list){
			categories.add(p.getProductname());
			data.add(p.getProductsnum());
		}
		HighChartJson json = new HighChartJson(categories, data);
		Gson gson = new Gson();
		gson.toJson(json);
		return gson.toJson(json).toString();
	}
	
	@RequestMapping("addProduct.do")
	public String addProduct(Product product,HttpServletRequest request){
		productService.save(product);
		return "redirect:/queryProductBypage.do";
	}
	
	
	@RequestMapping("updateProduct.do")
	public String updateProduct(Product product,HttpServletRequest request){
		productService.update(product);
		return "redirect:/queryProductBypage.do";
	}
	
	@RequestMapping("deleteProductByid.do")
	public String deleteProductByid(Product product, ModelMap model){
		Sales sales = new Sales();
		sales.setProductid(product.getProductid());
		List<Sales> salesList = salesService.queryBySales(sales);
		if(salesList.size() != 0){
			model.put("resultMessage", "商品有关联销售订单,不能删除");
		}else{
			model.put("resultMessage", "删除成功");
			productService.deleteById(product.getProductid());
		}
		return "forward:/queryProductBypage1.do";
	}
	
	@RequestMapping("sale.do")
	public String sale(Sales sales,HttpSession session,ModelMap model){
		Employee emp = (Employee) session.getAttribute("emp");
		if(emp == null){
			model.put("resultMessage", "请登陆后再执行此操作");
			return "redirect:/queryProductBypage.do";
		}
		Product product = productService.queryById(sales.getProductid());
		if(product.getProductnum() < sales.getSalesnum()){
			model.put("resultMessage", "库存不足,添加销售单失败");
			return "redirect:/queryProductBypage.do";
		}
		
		product.setProductnum(product.getProductnum() - sales.getSalesnum());
		product.setProductsnum(product.getProductsnum() + sales.getSalesnum());
		productService.update(product);
		sales.setEmployeeid(emp.getEmployeeid());
		sales.setSalesstatus("待审核");
		sales.setSalesdate(new Date());
		salesService.save(sales);
		model.put("resultMessage", "操作成功,请到销售管理查看详情");
		return "forward:/queryProductBypage1.do";
	}
}
最近下载更多
WanLiuYun  LV12 11月11日
zouzou123  LV3 10月10日
月灬兆离  LV1 9月9日
aholian  LV2 7月1日
血羽如风  LV6 6月17日
sweetlove  LV20 6月13日
wubinbin  LV11 5月22日
不一样的心情  LV5 5月21日
sdfddd  LV4 5月20日
最近浏览更多
szjxtech 11月18日
暂无贡献等级
WanLiuYun  LV12 11月11日
shunlun8855  LV1 10月28日
bluerstar  LV1 10月27日
hyxhyxhyx  LV1 10月24日
张泽帅  LV6 10月23日
java小书童  LV18 10月22日
lz88888  LV12 10月17日
半夏bx  LV14 10月12日
angaochong  LV5 10月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友