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 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 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 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 pls = usersService.findByRoleName(true, Dictionary.STAFF_POST_PLS); pls.addAll(usersService.findByRoleName(true, Dictionary.STAFF_POST_PLZG)); List 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 res = new ArrayList<>(); ExcelSheetPO orderSheet = new ExcelSheetPO(); String title = "服务订单明细"; orderSheet.setSheetName(title); orderSheet.setTitle(title); String[] header = {"服务单号", "会员手机号", "服务状态", "是否超时(超时分钟)", "床位", "美疗师", "配料师", "健康顾问", "所属门店"}; orderSheet.setHeaders(header); QueryUtil.setQueryLimitCom(projServices); List dataList = projServicesSerivce.findByModel(projServices); List> list = new ArrayList<>(); if (dataList.size() > 0) { for (SysProjServices item : dataList) { List 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); } }