| 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<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(id); | 
|         order.setItems(sysOrderItems); | 
|   | 
|         WebUtil.getRequest().setAttribute("order", order); | 
|         // 根据会员Id查到会员有效的会员卡 | 
|         // 根据订单号查找订单条目 | 
|         SysOrderItem orderItem = new SysOrderItem(); | 
|         orderItem.setOrderId(id); | 
|         List<SysOrderItem> orderItems = orderItemService.findByModel(orderItem); | 
|         WebUtil.getRequest().setAttribute("orderItems", orderItems); | 
|   | 
|         MoneyCardUse moneyCardUse = new MoneyCardUse(); | 
|         moneyCardUse.setVipId(order.getVipId()); | 
|         List<MoneyCardUse> 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<ExcelSheetPO> 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<SysOrder> dataList = orderService.findInPage(sysOrder, null); | 
|         List<List<Object>> list = new ArrayList<>(); | 
|         if (dataList.size() > 0) { | 
|             for (SysOrder item : dataList) { | 
|                 List<Object> 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); | 
|   | 
|     } | 
|   | 
|   | 
|   | 
| } |