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.ExcelUtil; 
 | 
import com.matrix.core.tools.excl.ExcelVersion; 
 | 
import com.matrix.system.common.bean.SysUsers; 
 | 
import com.matrix.system.common.service.SysUsersService; 
 | 
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.SysBeauticianState; 
 | 
import com.matrix.system.hive.bean.SysBedInfo; 
 | 
import com.matrix.system.hive.bean.SysBedState; 
 | 
import com.matrix.system.hive.bean.SysProjServices; 
 | 
import com.matrix.system.hive.dao.*; 
 | 
import com.matrix.system.hive.service.*; 
 | 
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.OutputStream; 
 | 
import java.net.URLEncoder; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
  
 | 
/** 
 | 
 * @description 订单服务信息管理 
 | 
 */ 
 | 
@Controller 
 | 
@RequestMapping(value = "admin/erpProjService") 
 | 
public class ErpProjServiceController extends BaseController { 
 | 
    @Resource 
 | 
    private SysProjServicesService projServicesSerivce; 
 | 
  
 | 
    @Resource 
 | 
    private SysBedInfoService bedInfoService; 
 | 
  
 | 
  
 | 
    @Autowired 
 | 
    SysProjGoodsDao sysProjGoodsDao; 
 | 
  
 | 
  
 | 
    @Resource 
 | 
    private SysProjServicesService sysProjServicesService; 
 | 
  
 | 
    @Resource 
 | 
    private SysUsersService usersService; 
 | 
  
 | 
    @Resource 
 | 
    private SysVipInfoService sysVipInfoService; 
 | 
  
 | 
  
 | 
    @Autowired 
 | 
    private SysBeauticianStateDao beauticianStateDao; 
 | 
  
 | 
    @Autowired 
 | 
    AchieveNewService achieveNewService; 
 | 
  
 | 
  
 | 
    @Autowired 
 | 
    private SysBedStateDao sysBedStateDao; 
 | 
  
 | 
    /** 
 | 
     * 根据id查询服务单信息 
 | 
     */ 
 | 
    @RequestMapping(value = "/findProjServiceInfo") 
 | 
    public @ResponseBody 
 | 
    AjaxResult findProjServiceInfo(Long id) { 
 | 
        // 获取服务单信息 
 | 
        SysProjServices projServices = sysProjServicesService.findById(id); 
 | 
        if (projServices != null) { 
 | 
            // 获取会员信息 
 | 
            projServices.setVipInfo(sysVipInfoService.findById(projServices.getVipId())); 
 | 
        } 
 | 
        //补充服务单扩展信息=============== 
 | 
        List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(id); 
 | 
        projServices.setServiceItems(beauticianStateList); 
 | 
        SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getId(), projServices.getBedId()); 
 | 
        projServices.setBedState(sysBedState); 
 | 
        //补充服务单扩展信息===============END 
 | 
  
 | 
        AjaxResult result = new AjaxResult(); 
 | 
        result.putInMap("projService", projServices); 
 | 
  
 | 
        result.setStatus(AjaxResult.STATUS_SUCCESS); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 分页显示所有的订单服务信息 
 | 
     */ 
 | 
    @RequestMapping(value = "/showList") 
 | 
    public @ResponseBody 
 | 
    AjaxResult showList(SysProjServices projService, PaginationVO pageVo) { 
 | 
        QueryUtil.setQueryLimitCom(projService); 
 | 
        //默认排序 
 | 
        if (StringUtils.isBlank(pageVo.getSort())) { 
 | 
            pageVo.setSort("create_time"); 
 | 
        } 
 | 
        if (StringUtils.isBlank(pageVo.getOrder())) { 
 | 
            pageVo.setOrder("desc"); 
 | 
        } 
 | 
        List<SysProjServices> dataList = projServicesSerivce.findInPage(projService, pageVo); 
 | 
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService)); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 进入预约排班详情 
 | 
     * 
 | 
     * @author 姜友瑶 
 | 
     */ 
 | 
    @RequestMapping(value = "/serviceInfo") 
 | 
    public String findPbxq(Long id, String pageFlae) { 
 | 
  
 | 
        // 获取服务单信息 
 | 
        SysProjServices projServices = sysProjServicesService.findById(id); 
 | 
        // 获取服务单所有信息 
 | 
  
 | 
        // 设置会员信息 
 | 
        projServices.setVipInfo(sysVipInfoService.findById(projServices.getVipId())); 
 | 
  
 | 
        //补充服务单扩展信息=============== 
 | 
        List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(id); 
 | 
        projServices.setServiceItems(beauticianStateList); 
 | 
  
 | 
        SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getId(), projServices.getBedId()); 
 | 
        projServices.setBedState(sysBedState); 
 | 
        //补充服务单扩展信息===============END 
 | 
  
 | 
        WebUtil.getRequest().setAttribute("obj", projServices); 
 | 
        WebUtil.getRequest().setAttribute("serviceId", id); 
 | 
        WebUtil.getRequest().setAttribute("pageFlae", pageFlae); 
 | 
        pageDate(); 
 | 
  
 | 
        SysBedInfo bedInfo = new SysBedInfo(); 
 | 
        bedInfo.setShopId(getMe().getShopId()); 
 | 
        WebUtil.getRequest().setAttribute("cw", bedInfoService.findByModel(bedInfo)); 
 | 
        // 显示当前查询的服务订单的项目信息 
 | 
  
 | 
        return "admin/hive-erp/order/serviceOrderDetail"; 
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    // 准备页面数据 
 | 
    private void pageDate() { 
 | 
        // 根据岗位名称查询员工 
 | 
        List<SysUsers> pls = usersService.findByRoleName(true, Dictionary.STAFF_POST_PLS); 
 | 
        pls.addAll(usersService.findByRoleName(true, Dictionary.STAFF_POST_PLZG)); 
 | 
        List<SysUsers> mls = usersService.findByRoleName(true, Dictionary.STAFF_POST_MLS); 
 | 
        WebUtil.getRequest().setAttribute("pls", pls); 
 | 
        WebUtil.getRequest().setAttribute("mls", mls); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 服务单导出 
 | 
     */ 
 | 
    @RequestMapping(value = "/exportExcel") 
 | 
    public void report(ModelMap model, HttpServletRequest request, HttpServletResponse response, SysProjServices projServices) throws Exception { 
 | 
  
 | 
  
 | 
        List<ExcelSheetPO> res = new ArrayList<>(); 
 | 
        ExcelSheetPO orderSheet = new ExcelSheetPO(); 
 | 
        String title = "服务订单明细"; 
 | 
        orderSheet.setSheetName(title); 
 | 
        orderSheet.setTitle(title); 
 | 
        String[] header = {"服务单号", "会员手机号", "服务状态", "是否超时(超时分钟)", "床位", "美疗师", "配料师", "健康顾问", "所属门店"}; 
 | 
        orderSheet.setHeaders(header); 
 | 
        QueryUtil.setQueryLimitCom(projServices); 
 | 
        List<SysProjServices> dataList = projServicesSerivce.findByModel(projServices); 
 | 
        List<List<Object>> list = new ArrayList<>(); 
 | 
        if (dataList.size() > 0) { 
 | 
            for (SysProjServices item : dataList) { 
 | 
                List<Object> temp = new ArrayList<>(); 
 | 
                temp.add(item.getServiceNo()); 
 | 
                temp.add(item.getVipInfo().getPhone()); 
 | 
                temp.add(item.getState()); 
 | 
                temp.add(item.getIsOverTime()); 
 | 
                temp.add(item.getBedName()); 
 | 
                temp.add(item.getBeautiName()); 
 | 
                temp.add(item.getPlsName()); 
 | 
                temp.add(item.getCreateStaffName()); 
 | 
                temp.add(item.getShopName()); 
 | 
                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); 
 | 
    } 
 | 
} 
 |