From 59634aeabb04aae0e819bd4c5fe909bb9cdbeb28 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sun, 21 Nov 2021 20:14:31 +0800 Subject: [PATCH] 修改服务单时间 --- zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java | 170 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 140 insertions(+), 30 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 5272b67..f2e5c36 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,5 +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; @@ -12,23 +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.plugin.util.DateUtils; -import com.matrix.system.hive.pojo.TaoCanVo; +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.jsoup.helper.DataUtil; 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; @@ -36,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,6 +122,14 @@ } //补充服务单扩展信息=============== List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(id); + if (CollUtil.isNotEmpty(beauticianStateList)) { + for (SysBeauticianState sysBeauticianState : beauticianStateList) { + if (sysBeauticianState.getProjUse().getTaocanId() != null) { + SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getProjUse().getTaocanId()); + sysBeauticianState.getProjInfo().setName(sysProjUse.getProjName()+"--"+sysBeauticianState.getProjInfo().getName()); + } + } + } projServices.setServiceItems(beauticianStateList); SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getId(), projServices.getBedId()); projServices.setBedState(sysBedState); @@ -124,6 +143,20 @@ result.setStatus(AjaxResult.STATUS_SUCCESS); 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); } @@ -140,7 +173,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; @@ -180,24 +215,17 @@ AjaxResult result = AjaxResult.buildSuccessInstance("查询成功"); SysProjUse queryUse = new SysProjUse(); - if(Objects.nonNull(vipId)){ - queryUse.setVipId(vipId); - }else{ - SysVipInfo vipInfo = getCurrentVioInfo(); - queryUse.setVipId(vipInfo.getId()); - } - + queryUse.setVipId(vipId); 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); queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC); List<SysProjUse> taoCanList = projUseService.findInPage(queryUse, null); taoCanList.forEach(item->{ - item.setTaocanProjUse(projUseService.selectTaocanProjUse(item.getId())); + item.setTaocanProjUse(projUseService.selectTaocanProjUse(item.getId(), queryUse.getStatus())); item.setProjInfo(shoppingGoodsDao.selectById(item.getProjId())); }); result.putInMap("projList", projList); @@ -254,9 +282,9 @@ SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getBedId(), projServices.getId()); if (sysBedState != null && sysBedState.getStartTime() != null) { - dateTime = DateUtils.dateToString(sysBedState.getStartTime(), DateUtils.DATE_FORMAT_DD); + dateTime = DateUtil.dateToString(sysBedState.getStartTime(), DateUtil.DATE_FORMAT_DD); } else { - dateTime = DateUtils.dateToString(projServices.getYyTime(), DateUtils.DATE_FORMAT_DD); + dateTime = DateUtil.dateToString(projServices.getYyTime(), DateUtil.DATE_FORMAT_DD); } } WebUtil.getRequest().setAttribute("dateTime", dateTime); @@ -275,6 +303,7 @@ // 显示当前查询的服务订单的项目信息 return "admin/hive/beautySalon/yypb-form"; } + /** * 进入预约排班详情 @@ -306,6 +335,16 @@ //补充服务单扩展信息=============== 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()); @@ -369,6 +408,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 @@ -393,13 +443,12 @@ */ @RequestMapping(value = "/updateOrderTime") public @ResponseBody - AjaxResult updateOrderTime(SysProjServices serviceQuery) { - SysProjServices services = sysProjServicesDao.selectById(serviceQuery.getId()); - sysProjServicesDao.updateOrderTime(serviceQuery.getCreateTime(), serviceQuery.getId()); + AjaxResult updateOrderTime(@RequestBody ServiceOrderTimeDto serviceOrderTimeDto) { + sysProjServicesDao.updateOrderTime(serviceOrderTimeDto); // 更新业绩时间 AchieveNew achieveNew = new AchieveNew(); - achieveNew.setServiceOrderId(serviceQuery.getId()); - achieveNew.setDatatime(serviceQuery.getCreateTime()); + achieveNew.setServiceOrderId(serviceOrderTimeDto.getId()); + achieveNew.setDatatime(serviceOrderTimeDto.getConsumeTime()); achieveNewService.modifyAchieveTime(achieveNew); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } @@ -413,7 +462,7 @@ // 根据id查到对应的订单信息 SysProjServices sysProjServices = new SysProjServices(); sysProjServices.setState(Dictionary.SERVICE_STATU_FWWC); - sysProjServices.setBeginTime(DateUtils.stringToDate("2019-03-01", DateUtils.DATE_FORMAT_DD)); + sysProjServices.setBeginTime(DateUtil.stringToDate("2019-03-01", DateUtil.DATE_FORMAT_DD)); List<SysProjServices> serviceOrders = sysProjServicesService.findByModel(sysProjServices); System.out.println("共找到服务单" + serviceOrders.size()); for (SysProjServices itemService : serviceOrders) { @@ -425,6 +474,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对服务单进行派单 @@ -441,12 +509,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, "取消预约成功"); @@ -454,7 +543,6 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败"); } } - /** * 设置服务单划扣成功 @@ -479,8 +567,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, "没有选中可消耗的项目"); @@ -494,6 +581,9 @@ 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) { @@ -509,8 +599,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, "没有选中可消耗的项目"); @@ -549,6 +639,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