From 1975ada3e42a06d4e3ff1cc36b3613020208ce1b Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 29 Dec 2021 17:54:01 +0800 Subject: [PATCH] fix meidu some req --- zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java | 152 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 135 insertions(+), 17 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java index 00b210a..650f50a 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java @@ -1,6 +1,8 @@ package com.matrix.system.hive.action; +import cn.hutool.core.bean.BeanUtil; 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; @@ -13,20 +15,29 @@ 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.app.dto.IdSubmitDto; +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.dao.SysCompanyDao; import com.matrix.system.common.service.SysUsersService; +import com.matrix.system.common.tools.DataAuthUtil; import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; +import com.matrix.system.hive.dto.ServiceOrderTimeDto; import com.matrix.system.hive.service.*; +import com.matrix.system.hive.vo.ServiceOrderInfoVo; +import io.swagger.annotations.ApiOperation; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -34,7 +45,9 @@ import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** @@ -111,9 +124,28 @@ List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(id); if (CollUtil.isNotEmpty(beauticianStateList)) { for (SysBeauticianState sysBeauticianState : beauticianStateList) { + SysProjUse item = sysBeauticianState.getProjUse(); + + // 若项目/套餐无效,则打印时,不显示余次 + if ("无效".equals(item.getStatus())) { + item.setRemainCount(item.getSurplusCount()); + } else { + item.setRemainCount(null); + } + if (sysBeauticianState.getProjUse().getTaocanId() != null) { SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getProjUse().getTaocanId()); + if ("无效".equals(sysProjUse.getStatus())) { + item.setRemainCount(sysProjUse.getSurplusCount()); + } else { + item.setRemainCount(null); + } + sysBeauticianState.getProjInfo().setName(sysProjUse.getProjName()+"--"+sysBeauticianState.getProjInfo().getName()); + if ("Y".equals(sysProjUse.getIsCourse()) && "Y".equals(sysProjUse.getIsInfinite())) { + int count = projUseService.findTaocanCountForCourseAndInfinite(sysBeauticianState.getProjUse().getTaocanId(), projServices.getVipId()); + item.setRemainCount(count); + } } } } @@ -132,6 +164,20 @@ return result; } + /** + * 根据id查询服务单简单信息 + */ + @RequestMapping(value = "/findServiceOrderInfoVo/{id}") + public @ResponseBody + AjaxResult findServiceOrderInfoVo(@PathVariable Long id) { + // 获取服务单信息 + SysProjServices projServices = sysProjServicesService.findById(id); + + ServiceOrderInfoVo serviceOrderInfoVo= BeanUtil.copyProperties(projServices,ServiceOrderInfoVo.class); + + return AjaxResult.buildSuccessInstance(serviceOrderInfoVo); + } + /** * 分页显示所有的订单服务信息 @@ -146,7 +192,9 @@ if (StringUtils.isBlank(pageVo.getOrder())) { pageVo.setOrder("desc"); } - projService.setShopId(getMe().getShopId()); + if (!DataAuthUtil.hasAllShopAuth()) { + projService.setShopId(getMe().getShopId()); + } List<SysProjServices> dataList = projServicesSerivce.findInPage(projService, pageVo); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService)); return result; @@ -190,7 +238,6 @@ queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM); queryUse.setTaocanId(-1L); queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX); - queryUse.setIsOver(Dictionary.FLAG_NO_N); List<SysProjUse> projList = projUseService.findInPage(queryUse, null); //切换到套餐查询条件 queryUse.setTaocanId(null); @@ -275,6 +322,7 @@ // 显示当前查询的服务订单的项目信息 return "admin/hive/beautySalon/yypb-form"; } + /** * 进入预约排班详情 @@ -379,6 +427,17 @@ } } + @ApiOperation(value = "确认服务", notes = "确认服务") + @PostMapping(value = "/confirmServiceOrder") + public @ResponseBody AjaxResult confirmServiceOrder(Long id) { + int i=sysProjServicesService.confirmServiceOrder(id); + if(i>0){ + return AjaxResult.buildSuccessInstance("确认成功"); + } + return AjaxResult.buildFailInstance("确认失败"); + } + + /** * @author jiangyouyao @@ -403,13 +462,12 @@ */ @RequestMapping(value = "/updateOrderTime") public @ResponseBody - AjaxResult updateOrderTime(SysProjServices serviceQuery) { - SysProjServices services = sysProjServicesDao.selectById(serviceQuery.getId()); - sysProjServicesDao.updateOrderTime(serviceQuery.getConsumeTime(), serviceQuery.getId()); + AjaxResult updateOrderTime(@RequestBody ServiceOrderTimeDto serviceOrderTimeDto) { + sysProjServicesDao.updateOrderTime(serviceOrderTimeDto); // 更新业绩时间 AchieveNew achieveNew = new AchieveNew(); - achieveNew.setServiceOrderId(serviceQuery.getId()); - achieveNew.setDatatime(serviceQuery.getConsumeTime()); + achieveNew.setServiceOrderId(serviceOrderTimeDto.getId()); + achieveNew.setDatatime(serviceOrderTimeDto.getConsumeTime()); achieveNewService.modifyAchieveTime(achieveNew); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } @@ -435,6 +493,25 @@ return new AjaxResult(AjaxResult.STATUS_SUCCESS, "成功"); } + @Autowired + private SysCompanyDao sysCompanyDao; + + /** + * 服务单打印 + */ + @RequestMapping(value = "/printOrder") + public @ResponseBody + ModelAndView printOrder() throws GlobleException { + ModelAndView mv = new ModelAndView("admin/hive/beautySalon/print-service"); + SysUsers user=(SysUsers)WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + String comRegisterCode = sysCompanyDao.selectById(user.getCompanyId()).getComRegisterCode(); + if(StringUtils.isNotBlank(comRegisterCode)){ + mv.addObject("page",comRegisterCode); + }else { + mv.addObject("page","taiyan"); + } + return mv; + } /** * 根据id对服务单进行派单 @@ -451,12 +528,33 @@ } } + @Autowired + BusParameterSettingsDao busParameterSettingsDao; + /** * 根据id取消预约 */ @RequestMapping(value = "/cancelOrder") public @ResponseBody AjaxResult cancelOrder(SysProjServices services) { + + SysProjServices checkProjServices = sysProjServicesDao.selectById(services.getId()); + BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, checkProjServices.getCompanyId()); + if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue()) + && shopManageAbleCancelDfkOrder.getParamValue().equals(Dictionary.FLAG_YES)) { + if (!checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DYY) + && !checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DQR)) { + return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待预约订单"); + } + } + return erpCancelOrder(services); + } + /** + * 根据id取消预约 + */ + @RequestMapping(value = "/erpCancelOrder") + public @ResponseBody + AjaxResult erpCancelOrder(SysProjServices services) { int i = sysProjServicesService.modifyCancelProjServices(services); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "取消预约成功"); @@ -464,7 +562,6 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败"); } } - /** * 设置服务单划扣成功 @@ -489,8 +586,7 @@ @RequestMapping(value = "/addService") public @ResponseBody AjaxResult servicceAdd(@RequestBody SysProjServices sysProjServices) { - SysVipInfo vipInfo = getCurrentVioInfo(); - sysProjServices.setVipId(vipInfo.getId()); + if (CollectionUtils.isEmpty(sysProjServices.getServiceItems())) { return new AjaxResult(AjaxResult.STATUS_FAIL, "没有选中可消耗的项目"); @@ -505,7 +601,9 @@ if (balanceverifyResult.isError()) { return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg()); } - sysProjServices.setState(Dictionary.SERVICE_STATU_DYY); + 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)); @@ -520,8 +618,8 @@ @RequestMapping(value = "/addServiceForForm") public @ResponseBody AjaxResult servicceAddForForm(SysProjServices sysProjServices) { - SysVipInfo vipInfo = getCurrentVioInfo(); - sysProjServices.setVipId(vipInfo.getId()); + + if (CollectionUtils.isEmpty(sysProjServices.getServiceItems())) { return new AjaxResult(AjaxResult.STATUS_FAIL, "没有选中可消耗的项目"); @@ -560,6 +658,26 @@ } + @RequestMapping(value = "/addServiceProj") + @ResponseBody + public AjaxResult addServiceProj(SysProjServices sysProjServices) { + + return AjaxResult.buildSuccessInstance("保存成功"); + } + + /** + * 删除服务单项目/套餐 + * @param id + * @return + */ + @RequestMapping(value = "/delServiceOrderItems") + @ResponseBody + public AjaxResult delServiceOrderItems(Long id) { + sysProjServicesService.deleteProjServiceItemById(id); + return AjaxResult.buildSuccessInstance("删除成功"); + } + + // 准备页面数据 private void pageDate() { // 根据岗位名称查询员工 -- Gitblit v1.9.1