| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | |
| | | import com.ruoyi.system.export.TCrmClinicAuditExport; |
| | | import com.ruoyi.system.export.TCrmClinicListExport; |
| | | import com.ruoyi.system.mapper.TCrmClinicMapper; |
| | | import com.ruoyi.system.mapper.TCrmClinicPointsMapper; |
| | | import com.ruoyi.system.model.TCrmClinic; |
| | | import com.ruoyi.system.model.TCrmClinicPoints; |
| | | import com.ruoyi.system.model.TErpProcurement; |
| | | import com.ruoyi.system.query.TCrmClinicQuery; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | |
| | | private ISysUserService sysUserService; |
| | | @Autowired |
| | | private TErpProcurementService erpProcurementService; |
| | | @Autowired |
| | | private TCrmClinicPointsMapper crmClinicPointsMapper; |
| | | |
| | | @Override |
| | | public PageInfo<TCrmClinicVO> pageList(TCrmClinicQuery query) { |
| | |
| | | .in(TErpProcurement::getClinicId, clinicIds) |
| | | .in(TErpProcurement::getStatus, Arrays.asList(3,4,5)) |
| | | .likeRight(TErpProcurement::getCreateTime, monthDate)); |
| | | |
| | | List<TCrmClinicPoints> points = crmClinicPointsMapper.selectList(new LambdaQueryWrapper<TCrmClinicPoints>().in(TCrmClinicPoints::getClinicId, clinicIds).ge(TCrmClinicPoints::getExpireTime, new Date()).last(" and points > use_points ORDER BY create_time ASC")); |
| | | |
| | | for (TCrmClinicVO tCrmClinicVO : list) { |
| | | List<TErpProcurement> procurementList = procurements.stream().filter(procurement -> procurement.getClinicId().equals(tCrmClinicVO.getId())).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(procurementList)){ |
| | | tCrmClinicVO.setMonthPurchaseAmount(procurementList.stream().map(TErpProcurement::getPayMoney).reduce(BigDecimal.ZERO, BigDecimal::add)); |
| | | } |
| | | |
| | | if(Objects.nonNull(tCrmClinicVO.getMonthPurchaseAmount()) && tCrmClinicVO.getMonthPurchaseAmount().compareTo(tCrmClinicVO.getLowProcurementMoney())>0){ |
| | | if(Objects.nonNull(tCrmClinicVO.getMonthPurchaseAmount()) && tCrmClinicVO.getMonthPurchaseAmount().compareTo(tCrmClinicVO.getLowProcurementMoney())>-1){ |
| | | tCrmClinicVO.setPerformanceStatus(2); |
| | | } |
| | | // 计算可用积分 |
| | | List<TCrmClinicPoints> pointsList = points.stream().filter(item -> item.getClinicId().equals(tCrmClinicVO.getId())).collect(Collectors.toList()); |
| | | // 可用积分 |
| | | int userPoints = pointsList.stream().mapToInt(item -> item.getPoints() - item.getUsePoints()).sum(); |
| | | tCrmClinicVO.setUserPoints(userPoints); |
| | | |
| | | } |
| | | pageInfo.setRecords(list); |
| | |
| | | .in(TErpProcurement::getClinicId, clinicIds) |
| | | .in(TErpProcurement::getStatus, Arrays.asList(3,4,5)) |
| | | .likeRight(TErpProcurement::getCreateTime, monthDate)); |
| | | |
| | | List<TCrmClinicPoints> points = crmClinicPointsMapper.selectList(new LambdaQueryWrapper<TCrmClinicPoints>().in(TCrmClinicPoints::getClinicId, clinicIds).ge(TCrmClinicPoints::getExpireTime, new Date()).last(" and points > use_points ORDER BY create_time ASC")); |
| | | |
| | | for (TCrmClinicListExport crmClinicListExport : list) { |
| | | List<TErpProcurement> procurementList = procurements.stream().filter(procurement -> procurement.getClinicId().equals(crmClinicListExport.getId())).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(procurementList)){ |
| | |
| | | crmClinicListExport.setPerformanceStatus(2); |
| | | } |
| | | |
| | | // 计算可用积分 |
| | | List<TCrmClinicPoints> pointsList = points.stream().filter(item -> item.getClinicId().equals(crmClinicListExport.getId())).collect(Collectors.toList()); |
| | | // 可用积分 |
| | | int userPoints = pointsList.stream().mapToInt(item -> item.getPoints() - item.getUsePoints()).sum(); |
| | | crmClinicListExport.setUserPoints(userPoints); |
| | | |
| | | } |
| | | return list; |
| | | } |