package com.matrix.system.padApi.action;
|
|
import cn.hutool.core.collection.CollUtil;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.system.common.bean.BusParameterSettings;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.constance.AppConstance;
|
import com.matrix.system.common.dao.BusParameterSettingsDao;
|
import com.matrix.system.common.service.SysUsersService;
|
import com.matrix.system.common.tools.DataAuthUtil;
|
import com.matrix.system.constance.Dictionary;
|
import com.matrix.system.enums.BooleanEnum;
|
import com.matrix.system.hive.action.BaseController;
|
import com.matrix.system.hive.action.util.QueryUtil;
|
import com.matrix.system.hive.bean.*;
|
import com.matrix.system.hive.dao.*;
|
import com.matrix.system.hive.service.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
@CrossOrigin(origins = "*")
|
@Api(value = "PadServiceAction", tags = "pad端服务单请求")
|
@RestController
|
@RequestMapping(value = "/api/pad/service")
|
public class PadServiceAction extends BaseController {
|
|
@Resource
|
private SysProjServicesService projServicesSerivce;
|
@Resource
|
private SysProjUseService projUseService;
|
@Resource
|
private SysBedInfoService bedInfoService;
|
@Autowired
|
SysProjGoodsDao sysProjGoodsDao;
|
@Resource
|
private SysProjServicesService sysProjServicesService;
|
@Resource
|
private SysVipInfoService sysVipInfoService;
|
@Autowired
|
private SysBeauticianStateDao beauticianStateDao;
|
@Autowired
|
AchieveNewService achieveNewService;
|
@Autowired
|
private SysBedStateDao sysBedStateDao;
|
@Autowired
|
ShoppingGoodsAssembleDao goodsAssembleDao;
|
@Autowired
|
SysShopInfoDao shopInfoDao;
|
@Resource
|
private SysUsersService usersService;
|
@Autowired
|
private SysProjServicesDao sysProjServicesDao;
|
@Autowired
|
BusParameterSettingsDao busParameterSettingsDao;
|
|
/**
|
* 显示所有服务单列表
|
*/
|
@ApiOperation(value = "显示所有服务单列表", notes = "显示所有服务单列表")
|
@PostMapping(value = "/showList")
|
public AjaxResult showList(@RequestBody SysProjServices projService, PaginationVO pageVo) {
|
|
//默认排序
|
if (StringUtils.isBlank(pageVo.getSort())) {
|
pageVo.setSort("create_time");
|
}
|
if (StringUtils.isBlank(pageVo.getOrder())) {
|
pageVo.setOrder("desc");
|
}
|
if (!DataAuthUtil.hasAllShopAuth()) {
|
projService.setShopId(getMe().getShopId());
|
}
|
QueryUtil.setQueryLimitCom(projService);
|
List<SysProjServices> dataList = projServicesSerivce.findInPage(projService, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService));
|
return result;
|
}
|
/**
|
* 进入预约排班详情
|
*
|
* @author 姜友瑶
|
*/
|
@ApiOperation(value = "进入预约排班详情", notes = "进入预约排班详情")
|
@PostMapping(value = "/serviceInfo")
|
public AjaxResult findPbxq(@RequestBody SysProjServices projServicesVo) {
|
QueryUtil.setQueryLimitCom(projServicesVo);
|
// 获取服务单信息
|
SysProjServices projServices = null;
|
if(projServicesVo.getId()!=null){
|
projServices= sysProjServicesService.findById(projServicesVo.getId());
|
}else if(StringUtils.isNotBlank(projServicesVo.getServiceNo())) {
|
List<SysProjServices> byModel = sysProjServicesService.findByModel(projServicesVo);
|
if (byModel.size() == 1) {
|
projServices= sysProjServicesService.findById( byModel.get(0).getId());
|
}
|
}
|
if(projServices==null){
|
throw new GlobleException("未查询到单据信息");
|
}
|
// 获取服务单所有信息
|
// 设置会员信息
|
projServices.setVipInfo(sysVipInfoService.findById(projServices.getVipId()));
|
//补充服务单扩展信息===============
|
List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(projServices.getId());
|
if (CollUtil.isNotEmpty(beauticianStateList)) {
|
for (SysBeauticianState sysBeauticianState : beauticianStateList) {
|
if (sysBeauticianState.getProjUse().getTaocanId() != null) {
|
SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getProjUse().getTaocanId());
|
if(sysProjUse != null) {
|
sysBeauticianState.getProjInfo().setName(sysProjUse.getProjName() + "--" + sysBeauticianState.getProjInfo().getName());
|
}
|
}
|
}
|
}
|
projServices.setServiceItems(beauticianStateList);
|
|
SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getId(), projServices.getBedId());
|
projServices.setBedState(sysBedState);
|
//补充服务单扩展信息===============END
|
|
// 根据岗位名称查询员工
|
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);
|
|
SysBedInfo bedInfo = new SysBedInfo();
|
bedInfo.setShopId(getMe().getShopId());
|
// 显示当前查询的服务订单的项目信息
|
AjaxResult result = AjaxResult.buildSuccessInstance("");
|
result.putInMap("obj", projServices);
|
result.putInMap("serviceId", projServicesVo.getId());
|
result.putInMap("pageFlae", projServicesVo.getPageFlae());
|
result.putInMap("cw", bedInfoService.findByModel(bedInfo));
|
result.putInMap("pls", pls);
|
result.putInMap("mls", mls);
|
return result;
|
}
|
/**
|
* 根据id取消预约
|
*/
|
@ApiOperation(value = "根据id取消预约", notes = "根据id取消预约")
|
@GetMapping(value = "/cancelOrder/{id}")
|
public AjaxResult cancelOrder(@PathVariable("id")Long id) {
|
|
SysProjServices checkProjServices = sysProjServicesDao.selectById(id);
|
QueryUtil.setQueryLimitCom(checkProjServices);
|
BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, checkProjServices.getCompanyId());
|
if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
|
&& BooleanEnum.TRUE.getValue() == shopManageAbleCancelDfkOrder.getIntParamValue()) {
|
|
if (!checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DYY)
|
&& !checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DQR)) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待预约订单");
|
}
|
}else{
|
if (checkProjServices.getState().equals(Dictionary.SERVICE_STATU_FWWC)
|
|| checkProjServices.getState().equals(Dictionary.SERVICE_STATU_FFJS)) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "当前状态无法取消订单");
|
}
|
}
|
|
int i = sysProjServicesService.modifyCancelProjServices(checkProjServices);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "取消预约成功");
|
} else {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败");
|
}
|
}
|
|
|
}
|