From e9191e6d4485d94c75f76762b4926439503c20c6 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 14 九月 2023 14:29:10 +0800 Subject: [PATCH] zjh 2023/09/14---1 --- ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java | 295 ++++++++++++++-------------------------------------------- 1 files changed, 73 insertions(+), 222 deletions(-) diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java index 71727b9..d1e678d 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java @@ -76,123 +76,6 @@ private ITjGroupingProService groupingProService; @Override - @Async("async") - public void extracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { - - long l = System.currentTimeMillis(); - - LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>(); - wq.eq(TjAskMedicalHistory::getCusId,tjCustomer.getCusId()); - wq.isNull(TjAskMedicalHistory::getTjNum); - TjAskMedicalHistory history = tjAskMedicalHistoryService.getOne(wq); - if(null !=history){ - history.setTjNum(tjOrder.getTjNumber()); - tjAskMedicalHistoryService.updateById(history); - } - - List<TbTransition> tbTransitionList =null; - if (redisCache.hasKey(tjCustomer.getCusIdcard())) { - tbTransitionList = redisCache.getCacheList(tjCustomer.getCusIdcard()); - redisCache.deleteObject(tjCustomer.getCusIdcard()); - }else { - LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TbTransition::getCusId, tjCustomer.getCusIdcard()); - tbTransitionList = transitionService.list(wqq); - } - if (redisCache.hasKey(tjCustomer.getCusIdcard() + "cusId")) - redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId"); - if (null != tbTransitionList && tbTransitionList.size() > 0) { - //鎵�鏈夊瓙椤� - for (TbTransition transition : tbTransitionList) { - TjOrderDetail detail = new TjOrderDetail(); - detail.setOrderId(tjOrder.getOrderId()); - detail.setProId(transition.getProId()); - detail.setTjStatus(0L); - detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); - detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); - detail.setCreateId(String.valueOf(sysUser.getUserId())); - detail.setUpdateId(String.valueOf(sysUser.getUserId())); - //鑾峰彇璇ラ」鐩殑榛樿鍊艰祴鍊肩粰缁撴灉 - TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId()); - if(null !=tjProject){ - if(null !=tjProject.getProDefault()){ - detail.setProResult(tjProject.getProDefault()); - }else { - detail.setProResult(null); - } - detail.setIsSampling(String.valueOf(tjProject.getIsSampling())); - } - if (null != transition.getPacId()) { - detail.setProType(String.valueOf(transition.getPacId())); - } - tjOrderDetailService.save(detail); - transition.setOrdPrice(transition.getNowPrice()); - transition.setNowPrice(transition.getNowPrice().multiply(discount)); - transitionService.updateById(transition); - - } - //鐖堕」 - ArrayList<TbTransition> collect = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new)); - for (TbTransition transition : collect) { - TjOrderDetail detail = new TjOrderDetail(); - if (null != transition.getPacId()) { - detail.setProType(String.valueOf(transition.getPacId())); - } - TjProject tjProject = projectService.selectTjProjectByProId(transition.getParentProId()); - detail.setIsSampling(String.valueOf(tjProject.getIsSampling())); - detail.setOrderId(tjOrder.getOrderId()); - detail.setProId(transition.getParentProId()); - detail.setTjStatus(0L); - detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); - detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); - detail.setCreateId(String.valueOf(sysUser.getUserId())); - detail.setUpdateId(String.valueOf(sysUser.getUserId())); - tjOrderDetailService.save(detail); - } - } - LambdaQueryWrapper<TjOrderDetail> wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); - List<TjOrderDetail> list = tjOrderDetailService.list(wrapper1); - if (list != null && list.size()>0) { - for (TjOrderDetail tjOrderDetail : list) { - TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); - if(tjProject==null){ - continue; - } - tjOrderDetail.setProject(tjProject); - if (tjProject.getProParentId() == 0) { - TjOrderRemark tjOrderRemark = new TjOrderRemark(); - tjOrderRemark.setProId(tjProject.getProId()); - tjOrderRemark.setProName(tjProject.getProName()); - tjOrderRemark.setDeptId(tjProject.getDeptId()); - tjOrderRemark.setTjNumber(tjOrder.getTjNumber()); - tjOrderRemark.setCreateBy(sysUser.getNickName()); - tjOrderRemark.setCreateTime(new Date()); - tjOrderRemark.setUpdateBy(sysUser.getNickName()); - tjOrderRemark.setUpdateTime(new Date()); - tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); - tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); - orderRemarkService.save(tjOrderRemark); - } - if ("1".equals(tjOrder.getTjType())) { - if (null != tjReservation && tjReservation.getPayType() == 1) { - tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); - } - } - if(tjFlowingWater.getPayStasus()==1){ - tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); - } - tjOrderDetailService.updateById(tjOrderDetail); - } - } - System.out.println("杩欐浠g爜鏃堕棿"+(l-System.currentTimeMillis())); - } - - @Override public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { long l = System.currentTimeMillis(); @@ -268,76 +151,11 @@ @Override @Async("async") public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer,SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { - LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>(); - wq.eq(TjAskMedicalHistory::getCusId,tjCustomer.getCusId()); - wq.isNull(TjAskMedicalHistory::getTjNum); - TjAskMedicalHistory history = tjAskMedicalHistoryService.getOne(wq); - if(null !=history){ - history.setTjNum(tjOrder.getTjNumber()); - tjAskMedicalHistoryService.updateById(history); - } - List<TbTransition> tbTransitionList =null; - if (redisCache.hasKey(tjCustomer.getCusIdcard())) { - tbTransitionList = redisCache.getCacheList(tjCustomer.getCusIdcard()); - redisCache.deleteObject(tjCustomer.getCusIdcard()); - }else { - LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TbTransition::getCusId, tjCustomer.getCusIdcard()); - tbTransitionList = transitionService.list(wqq); - } - if (redisCache.hasKey(tjCustomer.getCusIdcard() + "cusId")) - redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId"); - if (null != tbTransitionList && tbTransitionList.size() > 0) { - //鎵�鏈夊瓙椤� - for (TbTransition transition : tbTransitionList) { - TjOrderDetail detail = new TjOrderDetail(); - detail.setOrderId(tjOrder.getOrderId()); - detail.setProId(transition.getProId()); - detail.setTjStatus(0L); - detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); - detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); - detail.setCreateId(String.valueOf(sysUser.getUserId())); - detail.setUpdateId(String.valueOf(sysUser.getUserId())); - //鑾峰彇璇ラ」鐩殑榛樿鍊艰祴鍊肩粰缁撴灉 - TjProject tjProject = projectService.getById(transition.getProId()); - if(null !=tjProject){ - if(null !=tjProject.getProDefault()){ - detail.setProResult(tjProject.getProDefault()); - }else { - detail.setProResult(null); - } - detail.setIsSampling(String.valueOf(tjProject.getIsSampling())); - } - if (null != transition.getPacId()) { - detail.setProType(String.valueOf(transition.getPacId())); - } - tjOrderDetailService.save(detail); - } - //鐖堕」 - ArrayList<TbTransition> collect = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> - new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new)); - for (TbTransition transition : collect) { - TjOrderDetail detail = new TjOrderDetail(); - if (null != transition.getPacId()) { - detail.setProType(String.valueOf(transition.getPacId())); - } - TjProject tjProject = projectService.selectTjProjectByProId(transition.getParentProId()); - detail.setIsSampling(String.valueOf(tjProject.getIsSampling())); - detail.setOrderId(tjOrder.getOrderId()); - detail.setProId(transition.getParentProId()); - detail.setTjStatus(0L); - detail.setCreateBy(sysUser.getNickName()); - detail.setCreateTime(new Date()); - detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); - detail.setCreateId(String.valueOf(sysUser.getUserId())); - detail.setUpdateId(String.valueOf(sysUser.getUserId())); - tjOrderDetailService.save(detail); - } - }else { + tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(),sysUser.getNickName(),String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); + + boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + if (!b){ List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId,tjOrder.getGroupId())); if(null !=proList && proList.size()>0){ for (TjGroupingPro groupingPro : proList) { @@ -384,39 +202,54 @@ } } - List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId())); - if (list != null) { - for (TjOrderDetail tjOrderDetail : list) { - TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); - if(tjProject==null){ - continue; - } - tjOrderDetail.setProject(tjProject); - if (tjProject.getProParentId() == 0) { - TjOrderRemark tjOrderRemark = new TjOrderRemark(); - tjOrderRemark.setProId(tjProject.getProId()); - tjOrderRemark.setProName(tjProject.getProName()); - tjOrderRemark.setDeptId(tjProject.getDeptId()); - tjOrderRemark.setTjNumber(tjOrder.getTjNumber()); - tjOrderRemark.setCreateBy(sysUser.getNickName()); - tjOrderRemark.setCreateTime(new Date()); - tjOrderRemark.setUpdateBy(sysUser.getNickName()); - tjOrderRemark.setUpdateTime(new Date()); - tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); - tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); - orderRemarkService.save(tjOrderRemark); - } - if ("1".equals(tjOrder.getTjType())) { - if (null != tjReservation && tjReservation.getPayType() == 1) { - tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); - } - } - if(tjFlowingWater.getPayStasus()==1){ - tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); - } - tjOrderDetailService.updateById(tjOrderDetail); + //娣诲姞remark琛ㄦ暟鎹� + orderRemarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(),sysUser.getNickName(),String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); + + //鍒ゆ柇鏄惁浜ら挶 + if ("1".equals(tjOrder.getTjType())) { + if (null != tjReservation && tjReservation.getPayType() == 1) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber())); } } + if (tjFlowingWater.getPayStasus() == 1) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber())); + } + +// List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId())); +// if (list != null) { +// for (TjOrderDetail tjOrderDetail : list) { +// TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); +// if(tjProject==null){ +// continue; +// } +// tjOrderDetail.setProject(tjProject); +// if (tjProject.getProParentId() == 0) { +// TjOrderRemark tjOrderRemark = new TjOrderRemark(); +// tjOrderRemark.setProId(tjProject.getProId()); +// tjOrderRemark.setProName(tjProject.getProName()); +// tjOrderRemark.setDeptId(tjProject.getDeptId()); +// tjOrderRemark.setTjNumber(tjOrder.getTjNumber()); +// tjOrderRemark.setCreateBy(sysUser.getNickName()); +// tjOrderRemark.setCreateTime(new Date()); +// tjOrderRemark.setUpdateBy(sysUser.getNickName()); +// tjOrderRemark.setUpdateTime(new Date()); +// tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); +// tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); +// orderRemarkService.save(tjOrderRemark); +// } +// if ("1".equals(tjOrder.getTjType())) { +// if (null != tjReservation && tjReservation.getPayType() == 1) { +// tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// } +// } +// if(tjFlowingWater.getPayStasus()==1){ +// tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// } +// tjOrderDetailService.updateById(tjOrderDetail); +// } +// } } @Override @@ -898,11 +731,7 @@ TbTransition tbTransition = new TbTransition(); tbTransition.setCusId(cusId); tbTransition.setPacId(pacId); -// if (null != tjProject.getProPrice()) { -// tbTransition.setOrdPrice(tjProject.getProPrice()); -// } else { -// tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); -// } + if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) { tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2,RoundingMode.HALF_DOWN)); tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2,RoundingMode.HALF_DOWN)); @@ -923,6 +752,17 @@ } } + } + } + + @Override + @Async("async") + public void saveRedisTransitionByPacId(String cusId, Long pacId,List<Long> proIds) { + if(null != pacId){ + transitionService.saveRedisTransitionByPacId(cusId,pacId); + } + if(null != proIds && proIds.size() > 0){ + saveRedisTransitionByProId(cusId,proIds); } } @@ -1454,4 +1294,15 @@ } return cusName; } + + + //涓存椂琛ㄦ坊鍔犲崟椤� + public void saveRedisTransitionByProId(String cusId, List<Long> proIds) { + for (Long proId : proIds) { + if (null != transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)) && transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)).size() > 0) { + continue; + } + transitionService.saveRedisTransitionByProId(cusId,proId); + } + } } -- Gitblit v1.8.0