From 06f0fb09a61e16df895dc9feebea8ddd24d14db5 Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Tue, 20 Apr 2021 13:44:36 +0800 Subject: [PATCH] 修复微商城订单bug --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 39 insertions(+), 13 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java index 201fd5c..e57a138 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java @@ -145,10 +145,13 @@ } - sysProjServices.setCreateTime(new Date()); - sysProjServices.setServiceNo(codeService.getServiceOrderCode()); + if (sysProjServices.getId() == null) { + sysProjServices.setCreateTime(new Date()); + sysProjServices.setServiceNo(codeService.getServiceOrderCode()); + int i = sysProjServicesDao.insert(sysProjServices); + } + Double hkPrice = 0.0; - int i = sysProjServicesDao.insert(sysProjServices); // 计算项目总时长 int totalTime = 0; //处理订单明细 @@ -230,7 +233,7 @@ sysBeauticianState.setProjId(sysProjInfo.getId()); sysBeauticianState.setServicesId(sysProjServices.getId()); sysBeauticianState.setShopId(sysProjServices.getShopId()); - sysBeauticianState.setState(Dictionary.BEATUI_STATE_DYY); + sysBeauticianState.setState(sysProjServices.getState()); beauticianStateDao.insert(sysBeauticianState); } // 设置项目总时长 @@ -359,8 +362,8 @@ /** 验证数据是否正确 */ SysProjServices checkProjServices = sysProjServicesDao.selectById(projServices.getId()); // 验证服务单是否存在或者取消 - if (!checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DYY) - && !checkProjServices.getState().equals(Dictionary.SERVICE_STATU_YYCG)) { + if (checkProjServices.getState().equals(Dictionary.SERVICE_STATU_YYQX) + || checkProjServices.getState().equals(Dictionary.SERVICE_STATU_FFJS)) { throw new GlobleException("该服务单已被取消或者不存在!"); } // 验证是否选择床位 @@ -387,7 +390,7 @@ } // 判断是否是编辑,还是新增,编辑则需要先释放资源 - if (checkProjServices.getState().equals(Dictionary.SERVICE_STATU_YYCG)) { + if (!checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DYY)) { // 释放床位资源 bedStateDao.deleteByServiceId(checkProjServices.getId()); } @@ -415,8 +418,10 @@ } - // 设置成功状态 - projServices.setState(Dictionary.SERVICE_STATU_XPL); + if (Dictionary.SERVICE_STATU_DYY.equals(projServices.getState())) { + // 设置成功状态 + projServices.setState(Dictionary.SERVICE_STATU_XPL); + } // 判断当前门店是否有历史美疗师 LastestWorkBeatuistaff lastWorkStaff = new LastestWorkBeatuistaff(); lastWorkStaff.setShopId(checkProjServices.getShopId()); @@ -513,12 +518,20 @@ private void backProjCount(SysProjServices projServices) { List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(projServices.getId()); + backProjCountItems(beauticianStateList, 1); + } + + private void backProjCountItems(List<SysBeauticianState> beauticianStateList, int type) { Map<Long, List<SysProjUse>> taocanMap = new HashMap<>(); // 回退项目余额 for (SysBeauticianState beauticianState : beauticianStateList) { - // 该修改为 有效日期判断更新所有 - beauticianState.setState(Dictionary.BEATUI_STATE_YYQX); - beauticianStateDao.update(beauticianState); + if (type == 1) { + // 该修改为 有效日期判断更新所有 + beauticianState.setState(Dictionary.BEATUI_STATE_YYQX); + beauticianStateDao.update(beauticianState); + } else { + beauticianStateDao.deleteById(beauticianState.getId()); + } SysProjUse sysProjUse = sysProjUseDao.selectById(beauticianState.getPuseId()); if (sysProjUse != null && sysProjUse.getId() != null) { @@ -584,6 +597,16 @@ } } } + } + + @Override + public int deleteProjServiceItemById(Long id) { + SysBeauticianState sysBeauticianState = beauticianStateDao.selectById(id); + List<SysBeauticianState> list = new ArrayList<>(); + list.add(sysBeauticianState); + + backProjCountItems(list, 2); + return 1; } // 划扣 jyy @@ -856,6 +879,8 @@ if (skipServiceOrderStep(Dictionary.SERVICE_OVER_BEGIN_END)) { projServices.setStartTime(new Date()); projServices.setState(Dictionary.SERVICE_STATU_FWWC); + } else { + projServices.setState(Dictionary.SERVICE_STATU_PLWC); } // 释放床位资源 // SysBedState checkBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getBedId(), projServices.getId()); @@ -998,7 +1023,8 @@ /** * 跳过服务单某步骤 */ - private boolean skipServiceOrderStep(String step) { + @Override + public boolean skipServiceOrderStep(String step) { SysUsers users = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); ParameterSettings ps = new ParameterSettings(); ps.setCompanyId(users.getCompanyId()); -- Gitblit v1.9.1