From 80e1c1725db2ba16a126269bd30f150e3017e31e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 24 十月 2025 18:28:05 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java
index 75cc3da..77d64bd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java
@@ -1,5 +1,6 @@
 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;
@@ -11,7 +12,9 @@
 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;
@@ -47,6 +50,8 @@
     private ISysUserService sysUserService;
     @Autowired
     private TErpProcurementService erpProcurementService;
+    @Autowired
+    private TCrmClinicPointsMapper crmClinicPointsMapper;
 
     @Override
     public PageInfo<TCrmClinicVO> pageList(TCrmClinicQuery query) {
@@ -63,6 +68,9 @@
                 .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)){
@@ -72,6 +80,11 @@
             if(Objects.nonNull(tCrmClinicVO.getMonthPurchaseAmount()) && tCrmClinicVO.getMonthPurchaseAmount().compareTo(tCrmClinicVO.getLowProcurementMoney())>0){
                 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);
@@ -152,6 +165,9 @@
                 .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)){
@@ -162,6 +178,12 @@
                 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;
     }

--
Gitblit v1.7.1