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