|
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.StringUtils;
|
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) {
|
if(StringUtils.isBlank(pageVo.getSort())){
|
pageVo.setOrder("desc");
|
pageVo.setSort("createTime");
|
}
|
QueryUtil.setQueryLimitCom(shoppingGoods);
|
shoppingGoods.setIsDel(ShoppingGoods.NORMAL);
|
List<ShoppingGoods> 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<ShoppingGoodsAssemble> assembleList = shoppingGoodsAssembleDao.selectGoodsByShoppingGoodsId(shoppingGoods.getId());
|
shoppingGoods.setAssembleGoods(assembleList);
|
} else if (Dictionary.SHOPPING_GOODS_TYPE_XM.equals(shoppingGoods.getGoodType())) {
|
List<ShoppingGoodsAssemble> assembleList = shoppingGoodsAssembleDao.selectProjByShoppingGoodsId(shoppingGoods.getId());
|
shoppingGoods.setAssembleProj(assembleList);
|
} else if (Dictionary.SHOPPING_GOODS_TYPE_TC.equals(shoppingGoods.getGoodType())) {
|
|
List<ShoppingGoodsAssemble> assembleListGoods = shoppingGoodsAssembleDao.selectGoodsByShoppingGoodsId(shoppingGoods.getId());
|
shoppingGoods.setAssembleGoods(assembleListGoods);
|
List<ShoppingGoodsAssemble> assembleListProj = shoppingGoodsAssembleDao.selectProjByShoppingGoodsId(shoppingGoods.getId());
|
shoppingGoods.setAssembleProj(assembleListProj);
|
} else if (Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(shoppingGoods.getGoodType())) {
|
List<ShoppingGoodsAssemble> 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<MoneyCardAssemble> 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<MoneyCardAssemble> goodsIdList = cardAssembleService.findByModel(moneyCardAssembleQuery);
|
List<ShoppingGoods> 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<ExcelSheetPO> res = new ArrayList<>();
|
ExcelSheetPO orderSheet = new ExcelSheetPO();
|
String title = "商品资料";
|
orderSheet.setSheetName(title);
|
orderSheet.setTitle(title);
|
String[] header = {"商品名称", "售价/(本金)", "参考价/(赠送金额)", "真实销量", "状态", "是否赠送", "类型", "分类", "套餐卡"};
|
orderSheet.setHeaders(header);
|
QueryUtil.setQueryLimitCom(shoppingGoods);
|
List<ShoppingGoods> dataList = shoppingGoodsService.findAll(shoppingGoods);
|
List<List<Object>> list = new ArrayList<>();
|
if (dataList.size() > 0) {
|
for (ShoppingGoods item : dataList) {
|
List<Object> 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);
|
}
|
|
}
|