| | |
| | | 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("这段代码时间"+(l-System.currentTimeMillis())); |
| | | } |
| | | |
| | | @Override |
| | | public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { |
| | | long l = System.currentTimeMillis(); |
| | | |
| | |
| | | @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) { |
| | |
| | | } |
| | | } |
| | | |
| | | 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 |
| | |
| | | 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)); |
| | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | } |