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("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); 
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
} 
 |