| | |
| | | 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; |
| | |
| | | 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 = "*") |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 显示所有服务单列表 |
| | |
| | | AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService)); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 进入预约排班详情 |
| | | * |
| | | * @author 姜友瑶 |
| | | */ |
| | | @ApiOperation(value = "进入预约排班详情", notes = "进入预约排班详情") |
| | | @PostMapping(value = "/serviceInfo") |
| | |
| | | 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取消预约 |
| | | */ |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 开始配料 |
| | | */ |
| | | @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"; |
| | | } |
| | | |
| | | |
| | | } |