package com.matrix.system.hiveErp.action; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.WebUtil; import com.matrix.core.tools.excl.ExcelSheetPO; import com.matrix.core.tools.excl.ExcelVersion; import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.action.BaseController; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.MoneyCardAssemble; import com.matrix.system.hive.bean.ShoppingGoods; import com.matrix.system.hive.bean.ShoppingGoodsAssemble; import com.matrix.system.hive.dao.ShoppingGoodsAssembleDao; import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.hive.service.MoneyCardAssembleService; import com.matrix.system.hive.service.ShoppingGoodsService; 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 javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; /** * 商品 * * @author jiangyouyao * @date 2016-8-22 */ @Controller @RequestMapping(value = "admin/erpShoppinggoods") public class ErpShoppingGoodsController extends BaseController { @Resource private ShoppingGoodsService shoppingGoodsService; @Resource private MoneyCardAssembleService cardAssembleService; @Autowired private ShoppingGoodsAssembleDao shoppingGoodsAssembleDao; //记录编辑前的值Before_Edit_Value public static final String BEV = "shoppinggoods_BEV"; @Autowired private ShoppingGoodsDao shoppingGoodsDao; /** * 列表显示 */ @RequestMapping(value = "/showList") public @ResponseBody AjaxResult showList(ShoppingGoods shoppingGoods, PaginationVO pageVo) { pageVo.setOrder("desc"); pageVo.setSort("createTime"); QueryUtil.setQueryLimitCom(shoppingGoods); shoppingGoods.setIsDel(ShoppingGoods.NORMAL); List dataList = shoppingGoodsService.findInPage(shoppingGoods, pageVo); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, shoppingGoodsService.findTotal(shoppingGoods)); return result; } /** * 进入线下产品修改界面 */ @RequestMapping(value = "/editFormUderline") public String editFormUderline(Long id) { ShoppingGoods shoppingGoods; if (id != null) { WebUtil.getRequest().setAttribute("isUpdate", shoppingGoodsService.checkIsUpdate(id)); shoppingGoods = shoppingGoodsService.findById(id); //查询的绑定关系 if (Dictionary.SHOPPING_GOODS_TYPE_JJCP.equals(shoppingGoods.getGoodType())) { List assembleList = shoppingGoodsAssembleDao.selectGoodsByShoppingGoodsId(shoppingGoods.getId()); shoppingGoods.setAssembleGoods(assembleList); } else if (Dictionary.SHOPPING_GOODS_TYPE_XM.equals(shoppingGoods.getGoodType())) { List assembleList = shoppingGoodsAssembleDao.selectProjByShoppingGoodsId(shoppingGoods.getId()); shoppingGoods.setAssembleProj(assembleList); } else if (Dictionary.SHOPPING_GOODS_TYPE_TC.equals(shoppingGoods.getGoodType())) { List assembleListGoods = shoppingGoodsAssembleDao.selectGoodsByShoppingGoodsId(shoppingGoods.getId()); shoppingGoods.setAssembleGoods(assembleListGoods); List assembleListProj = shoppingGoodsAssembleDao.selectProjByShoppingGoodsId(shoppingGoods.getId()); shoppingGoods.setAssembleProj(assembleListProj); } else if (Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(shoppingGoods.getGoodType())) { List assembleList = shoppingGoodsAssembleDao.selectAssembleShoppingGoodsByShoppingGoodsId(shoppingGoods.getId()); shoppingGoods.setZongheCarGoods(assembleList); } // 如果是充值卡 if (shoppingGoods.getGoodType().equals(Dictionary.SHOPPING_GOODS_TYPE_CZK)) { MoneyCardAssemble moneyCardAssembleQuery = new MoneyCardAssemble(); moneyCardAssembleQuery.setCardId(shoppingGoods.getId()); // 查询充值卡中的分类 moneyCardAssembleQuery.setType(Dictionary.CZK_ASSEMBLE_FL); List cateIdList = cardAssembleService.findByModel(moneyCardAssembleQuery); String cates = ","; for (MoneyCardAssemble moneyCardAssemble : cateIdList) { cates += moneyCardAssemble.getCateId() + ","; } WebUtil.getRequest().setAttribute("cates", cates); // 查询充值卡中的产品 moneyCardAssembleQuery.setType(Dictionary.CZK_ASSEMBLE_SP); List goodsIdList = cardAssembleService.findByModel(moneyCardAssembleQuery); List goodsList = new ArrayList<>(); String goodsIds = ""; for (MoneyCardAssemble moneyCardAssemble : goodsIdList) { goodsList.add(shoppingGoodsService.findById(moneyCardAssemble.getGoodsId())); goodsIds += moneyCardAssemble.getGoodsId() + ","; } WebUtil.getRequest().setAttribute("goodsIds", goodsIds); // 返回充值卡编辑界面 WebUtil.getRequest().setAttribute("obj", shoppingGoods); return "admin/hive-erp/products/money-card-form"; } else if (shoppingGoods.getGoodType().equals(Dictionary.SHOPPING_GOODS_TYPE_ZHK)) { WebUtil.getRequest().setAttribute("obj", shoppingGoods); return "admin/hive-erp/products/zonghe-card-form"; } WebUtil.getRequest().setAttribute("obj", shoppingGoods); } else { WebUtil.getRequest().setAttribute("isUpdate", true); } // 返回非充值卡页面 return "admin/hive-erp/products/goods-form"; } /** * 删除 */ @RequestMapping(value = "/del") public @ResponseBody AjaxResult del(String keys) { return remove(shoppingGoodsService, keys); } @RequestMapping(value = "/exportShoppinggoods") public void exportShoppinggoods(ModelMap model, HttpServletRequest request, HttpServletResponse response, ShoppingGoods shoppingGoods) throws IOException { if (shoppingGoods.getGoodType() != null && !"".equals(shoppingGoods.getGoodType())) { shoppingGoods.setGoodType(new String(shoppingGoods.getGoodType().getBytes("iso-8859-1"), "UTF-8")); } List res = new ArrayList<>(); ExcelSheetPO orderSheet = new ExcelSheetPO(); String title = "商品资料"; orderSheet.setSheetName(title); orderSheet.setTitle(title); String[] header = {"商品名称", "售价/(本金)", "参考价/(赠送金额)", "真实销量", "状态", "是否赠送", "类型", "分类", "套餐卡"}; orderSheet.setHeaders(header); QueryUtil.setQueryLimitCom(shoppingGoods); List dataList = shoppingGoodsService.findAll(shoppingGoods); List> list = new ArrayList<>(); if (dataList.size() > 0) { for (ShoppingGoods item : dataList) { List temp = new ArrayList<>(); temp.add(item.getName()); temp.add(item.getSealPice()); temp.add(item.getReferencePice()); temp.add(item.getRealSealCount()); temp.add(item.getStaus()); temp.add(item.getIsPresent()); temp.add(item.getGoodType()); temp.add(item.getCateName()); temp.add(item.getIsCourse()); list.add(temp); } } orderSheet.setDataList(list); res.add(orderSheet); response = ResponseHeadUtil.setExcelHead(response); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8")); OutputStream os = response.getOutputStream(); com.matrix.core.tools.excl.ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true); } }