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