package com.matrix.system.hiveErp.action; import com.matrix.core.constance.MatrixConstance; 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.ExcelUtil; import com.matrix.core.tools.excl.ExcelVersion; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.hive.action.BaseController; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.MoneyCardUse; import com.matrix.system.hive.bean.SysOrder; import com.matrix.system.hive.bean.SysOrderItem; import com.matrix.system.hive.dao.SysOrderDao; import com.matrix.system.hive.dao.SysOrderItemDao; import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.service.AchieveNewService; import com.matrix.system.hive.service.MoneyCardUseService; import com.matrix.system.hive.service.SysOrderItemService; import com.matrix.system.hive.service.SysOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; 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.OutputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; /** * 线下订单 * * @author jiangyouyao * @date 2016-09-08 */ @Controller @RequestMapping(value = "admin/erpOrder") public class ErpOrderController extends BaseController { @Resource private SysOrderService orderService; @Autowired private SysOrderItemDao orderItemDao; @Resource private MoneyCardUseService cardUseService; @Autowired private SysOrderItemService orderItemService; @Autowired private SysOrderDao sysOrderDao; @Autowired private AchieveNewService achieveNewService; /** * 列表显示 */ @RequestMapping(value = "/showList") public @ResponseBody AjaxResult showList(SysOrder sysOrder, PaginationVO pageVo) { //默认排序 QueryUtil.setQueryLimitCom(sysOrder); if(StringUtils.isBlank(pageVo.getSort())){pageVo.setSort("order_time");} if(StringUtils.isBlank(pageVo.getOrder())){pageVo.setOrder("desc");} return new AjaxResult(AjaxResult.STATUS_SUCCESS, orderService.findInPage(sysOrder, pageVo), orderService.findTotal(sysOrder)); } //=======================================页面转发================================== /** * 跳转 消费流水详情页面 * * @author jyy */ @RequestMapping(value = "/orderItem") public String orderItem(Long id, HttpServletRequest request) { // 根据id查到对应的订单信息 SysOrder order = orderService.findById(id); List sysOrderItems = orderItemDao.selectByOrderId(id); order.setItems(sysOrderItems); WebUtil.getRequest().setAttribute("order", order); // 根据会员Id查到会员有效的会员卡 // 根据订单号查找订单条目 SysOrderItem orderItem = new SysOrderItem(); orderItem.setOrderId(id); List orderItems = orderItemService.findByModel(orderItem); WebUtil.getRequest().setAttribute("orderItems", orderItems); MoneyCardUse moneyCardUse = new MoneyCardUse(); moneyCardUse.setVipId(order.getVipId()); List cards = cardUseService.findByModel(moneyCardUse); WebUtil.getRequest().setAttribute("orderParam", id); WebUtil.getRequest().setAttribute("cards", cards); return "admin/hive-erp/order/orderXq-form"; } /** * 取消订单 */ @Transactional(rollbackFor = Exception.class) @RequestMapping(value = "/cancelOrder") public @ResponseBody AjaxResult cancelOrder(Long id, HttpServletRequest request) { AjaxResult result = new AjaxResult(); SysOrder order = orderService.findById(id); if (order == null) { return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!"); } orderService.cancelOrder(id); result.setStatus(AjaxResult.STATUS_SUCCESS); result.setInfo("取消成功!"); return result; } @RequestMapping(value = "/exportExcel") public void report(ModelMap model, HttpServletRequest request, HttpServletResponse response, SysOrder sysOrder) throws Exception { List res = new ArrayList<>(); ExcelSheetPO orderSheet = new ExcelSheetPO(); String title = "订单记录"; orderSheet.setSheetName(title); orderSheet.setTitle(title); String[] header = {"订单号", "客户姓名", "客户手机", "下单时间", "订单总价", "折后价", "现金付款", "卡付款", "顾问姓名", "所属门店", "订单状态"}; orderSheet.setHeaders(header); SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); sysOrder.setShopId(users.getShopId()); List dataList = orderService.findInPage(sysOrder, null); List> list = new ArrayList<>(); if (dataList.size() > 0) { for (SysOrder item : dataList) { List temp = new ArrayList<>(); temp.add(item.getOrderNo()); temp.add(item.getVipName()); temp.add(item.getVipPhone()); temp.add(DateUtil.dateToString(item.getOrderTime(), DateUtil.DATE_FORMAT_MM)); temp.add(item.getTotal()); temp.add(item.getZkTotal()); temp.add(item.getCashPay()); temp.add(item.getCardPay()); temp.add(item.getStaffName()); temp.add(item.getShopName()); temp.add(item.getStatu()); 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(); ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true); } }