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