From efc2df0c349c95bcb3c017aa8cb2f19e559a87e9 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 26 Apr 2022 14:12:38 +0800 Subject: [PATCH] 20220426 --- zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 267 insertions(+), 2 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java index 0332323..6c38816 100644 --- a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java +++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java @@ -1,9 +1,14 @@ package com.matrix.system.padApi.action; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.matrix.core.anotations.RemoveRequestToken; +import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; +import com.matrix.core.pojo.VerifyResult; +import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.BusParameterSettings; @@ -21,10 +26,13 @@ import com.matrix.system.hive.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections.CollectionUtils; +import org.assertj.core.util.Arrays; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @CrossOrigin(origins = "*") @@ -61,6 +69,16 @@ private SysProjServicesDao sysProjServicesDao; @Autowired BusParameterSettingsDao busParameterSettingsDao; + @Resource + private SysUsersService sysUsersService; + @Resource + private SysWorktimeService sysWorkTimeService; + @Autowired + private SysBeauticianStateDao sysBeauticianStateDao; + @Autowired + private ShoppingGoodsDao shoppingGoodsDao; + @Resource + private SysStoreInfoDao sysStoreInfoDao; /** * 显示所有服务单列表 @@ -84,10 +102,9 @@ AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService)); return result; } + /** * 进入预约排班详情 - * - * @author 姜友瑶 */ @ApiOperation(value = "进入预约排班详情", notes = "进入预约排班详情") @PostMapping(value = "/serviceInfo") @@ -146,6 +163,94 @@ result.putInMap("mls", mls); return result; } + + /** + * 获取空闲床位 + */ + @ApiOperation(value = "获取空闲床位", notes = "获取空闲床位") + @PostMapping(value = "/showFreedBed") + public AjaxResult showFreedBed(@RequestBody SysProjServices sysProjServices) { + sysProjServices.setShopId(getMe().getShopId()); + List<SysBedInfo> beds = bedInfoService.findFreeBed(sysProjServices); + return new AjaxResult(AjaxResult.STATUS_SUCCESS, beds, 0); + } + + /** + * 获取美疗师 + */ + @ApiOperation(value = "获取美疗师", notes = "获取美疗师") + @PostMapping(value = "/getPaiBanBeauticianList") + public AjaxResult getPaiBanBeauticianList(@RequestBody SysBeauticianState sysBeauticianState) { + // 根据时间获取一段排班码 + String panBanCodes = DateUtil.dateToString(sysBeauticianState.getBeginTime(),DateUtil.DATE_FORMAT_NO_SPLITE_DD); + // 获取登陆的用户 + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + List<SysUsers> staffs=new ArrayList<>(); + if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){ + staffs= sysUsersService.findByCodeBeaStateShop(user.getShopId(), + sysBeauticianState, panBanCodes); + } + return new AjaxResult(AjaxResult.STATUS_SUCCESS, staffs, 0); + } + + + /** + * 新增项目 + */ + @ApiOperation(value = "新增项目", notes = "新增项目") + @PostMapping(value = "/addService") + public AjaxResult servicceAdd(@RequestBody SysProjServices sysProjServices) { + if (CollectionUtils.isEmpty(sysProjServices.getServiceItems())) { + return new AjaxResult(AjaxResult.STATUS_FAIL, "没有选中可消耗的项目"); + } + //检测欠款 + VerifyResult arrearsVerifyResult = sysProjServicesService.checkArrears(sysProjServices); + if (arrearsVerifyResult.isError()) { + return new AjaxResult(AjaxResult.STATUS_FAIL, arrearsVerifyResult.getMsg()); + } + //检测余次 + VerifyResult balanceverifyResult = sysProjServicesService.checkBalance(sysProjServices); + if (balanceverifyResult.isError()) { + return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg()); + } + if (StrUtil.isEmpty(sysProjServices.getState())) { + sysProjServices.setState(Dictionary.SERVICE_STATU_DYY); + } + SysProjServices newSysProjServices = sysProjServicesService.addSysProjServices(sysProjServices); + if (newSysProjServices != null) { + return AjaxResult.buildSuccessInstance(Arrays.asList(newSysProjServices)); + } else { + return new AjaxResult(AjaxResult.STATUS_FAIL, "下单失败!"); + } + } + + /** + * 删除服务单项目/套餐 + * @param id + * @return + */ + @ApiOperation(value = "删除服务单项目/套餐", notes = "删除服务单项目/套餐") + @GetMapping(value = "/delServiceOrderItems/{id}") + public AjaxResult delServiceOrderItems(@PathVariable("id")Long id) { + sysProjServicesService.deleteProjServiceItemById(id); + return AjaxResult.buildSuccessInstance("删除成功"); + } + + + /** + * 排班 + */ + @ApiOperation(value = "排班", notes = "排班") + @PostMapping(value = "/servicePaiBan") + public AjaxResult servicePaiBan(@RequestBody SysProjServices projServices, String dataTime) throws GlobleException { + int i = sysProjServicesService.paiban(projServices, dataTime); + if (i > 0) { + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "排班成功"); + } else { + return new AjaxResult(AjaxResult.STATUS_FAIL, "排班失败"); + } + } + /** * 根据id取消预约 */ @@ -178,5 +283,165 @@ } } + /** + * 开始配料 + */ + @ApiOperation(value = "开始配料", notes = "开始配料") + @GetMapping(value = "/startpl/{id}") + public AjaxResult startpl(@PathVariable("id")Long id) { + // 将服务状态为待配料的更新为配料中 + SysProjServices sysProjServices = projServicesSerivce.findById(id); + List<SysBeauticianState> beauticianStateList = sysBeauticianStateDao.selectBySerIds(sysProjServices.getId()); + List<ShoppingGoods> projInfoList = new ArrayList<>(); + for (SysBeauticianState beauticianState : beauticianStateList) { + ShoppingGoods sysProjInfo = shoppingGoodsDao.selectById(beauticianState.getProjId()); + sysProjInfo.setAssembleGoods(goodsAssembleDao.selectGoodsByShoppingGoodsIdAndType(sysProjInfo.getId(), ShoppingGoods.SHOPPING_GOODS_TYPE_JJCP)); + projInfoList.add(sysProjInfo); + } + AjaxResult result = AjaxResult.buildSuccessInstance(""); + result.putInMap("serviceId", id); + result.putInMap("projInfoList", projInfoList); + return result; + } + + /** + * 按产品批次显示选择配料 + */ + @ApiOperation(value = "按产品批次显示选择配料", notes = "按产品批次显示选择配料") + @PostMapping(value = "/showCountList") + public AjaxResult showCountList(@RequestBody SysStoreInfo sysStoreInfo, PaginationVO pageVo) { + SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + sysStoreInfo.setShopId(users.getShopId()); + sysStoreInfo.setCompanyId(users.getCompanyId()); + + List<SysStoreInfo> dataList = sysStoreInfoDao.selectCountInPage(sysStoreInfo, pageVo); + AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, sysStoreInfoDao.selectCountTotalRecord(sysStoreInfo)); + return result; + } + + /** + * 配料完成 + */ + @ApiOperation(value = "配料完成", notes = "配料完成") + @PostMapping(value = "/endPl") + @RemoveRequestToken + public AjaxResult endPl(@RequestBody SysProjServices projServices) { + projServicesSerivce.modifyPLProjServices(projServices); + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "配料成功!"); + } + + /** + * 进入划扣页面 + */ + @ApiOperation(value = "进入划扣页面", notes = "进入划扣页面") + @GetMapping(value = "/serviceHkPage/{id}") + public AjaxResult serviceHkPage(@PathVariable("id")Long id) { + // 获取服务单信息 + 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); + + // 准备页面数据 + // 根据岗位名称查询员工 + 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()); + WebUtil.getRequest().setAttribute("cw", bedInfoService.findByModel(bedInfo)); + + + AjaxResult result = AjaxResult.buildSuccessInstance(""); + result.putInMap("obj", projServices); + result.putInMap("serviceId", id); + result.putInMap("cw", bedInfoService.findByModel(bedInfo)); + result.putInMap("pls", pls); + result.putInMap("mls", mls); + return result; + } + + /** + * 设置服务单划扣成功 + */ + @ApiOperation(value = "设置服务单划扣成功", notes = "设置服务单划扣成功") + @GetMapping(value = "/hkService/{id}") + public AjaxResult hkService(@PathVariable("id")Long id) { + SysProjServices services = new SysProjServices(); + services.setId(id); + int i = sysProjServicesService.modifyHKProjServices(services); + if (i > 0) { + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "划扣成功"); + } else { + return new AjaxResult(AjaxResult.STATUS_FAIL, "划扣失败"); + } + } + + /** + * 编辑排班详情 + */ + @ApiOperation(value = "编辑排班详情", notes = "编辑排班详情") + @GetMapping(value = "/yypb/{id}") + public AjaxResult findProject(@PathVariable("id")Long id) { + // 获取服务单信息 + SysProjServices projServices = sysProjServicesService.findById(id); + // 获取操作的用户 + projServices.setVipInfo(sysVipInfoService.findById(projServices.getVipId())); + + // 设置排班的默认日期 + String dateTime = null; + if (dateTime == null || dateTime.equals("")) { + + SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getBedId(), projServices.getId()); + + if (sysBedState != null && sysBedState.getStartTime() != null) { + dateTime = DateUtil.dateToString(sysBedState.getStartTime(), DateUtil.DATE_FORMAT_DD); + } else { + dateTime = DateUtil.dateToString(projServices.getYyTime(), DateUtil.DATE_FORMAT_DD); + } + } + WebUtil.getRequest().setAttribute("dateTime", dateTime); + // 获取服务单所有信息 + WebUtil.getRequest().setAttribute("obj", projServices); + + // 获取服务单对一下的项目信息 + // 准备页面数据 + // 根据岗位名称查询员工 + 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()); + // 床位 + WebUtil.getRequest().setAttribute("cw", bedInfoService.findByModel(bedInfo)); + + + AjaxResult result = AjaxResult.buildSuccessInstance(""); + result.putInMap("dateTime", dateTime); + result.putInMap("obj", projServices); + result.putInMap("cw", bedInfoService.findByModel(bedInfo)); + result.putInMap("pls", pls); + result.putInMap("mls", mls); + return result; + // 显示当前查询的服务订单的项目信息 +// return "admin/hive/beautySalon/yypb-form"; + } + } -- Gitblit v1.9.1