From ee089a8ac4a9d99ef0a0491bbf1d80a2d4fbc393 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 10 十一月 2026 09:15:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java
index e456d46..d88abef 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java
@@ -6,13 +6,18 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.domain.ServiceDonorchargeorgan;
 import com.ruoyi.project.domain.SpStatChange;
+import com.ruoyi.project.domain.SpStatChangeDetail;
+import com.ruoyi.project.domain.SpStatChangeDetailReq;
 import com.ruoyi.project.domain.SpStatChangeReq;
 import com.ruoyi.project.mapper.ServiceDonorchargeorganMapper;
 import com.ruoyi.project.service.IServiceDonorchargeorganService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鎹愮尞鍣ㄥ畼Service涓氬姟灞傚鐞�
@@ -104,9 +109,40 @@
     }
 
     @Override
+    public int removeByIds(Long[] ids) {
+        if (ids == null || ids.length == 0) {
+            return 0;
+        }
+        return serviceDonorchargeorganMapper.removeByIds(ids);
+    }
+
+    @Override
     public List<ServiceDonorchargeorgan> queryListBypaymentidIsNull(ServiceDonorchargeorgan serviceDonorchargeorgan) {
         List<ServiceDonorchargeorgan> serviceDonorchargeorgans = serviceDonorchargeorganMapper.queryListBypaymentidIsNull(serviceDonorchargeorgan);
         return serviceDonorchargeorgans;
+    }
+
+    @Override
+    public Map<String, Object> organfeeSummary(ServiceDonorchargeorgan serviceDonorchargeorgan) {
+        List<ServiceDonorchargeorgan> list = Boolean.TRUE.equals(serviceDonorchargeorgan.getPaymentidIsNotNull())
+                ? queryList(serviceDonorchargeorgan)
+                : queryListBypaymentidIsNull(serviceDonorchargeorgan);
+        BigDecimal organchargeTotal = BigDecimal.ZERO;
+        BigDecimal amountTotal = BigDecimal.ZERO;
+        for (ServiceDonorchargeorgan item : list) {
+            if (item.getOrgancharge() != null) {
+                organchargeTotal = organchargeTotal.add(item.getOrgancharge());
+            }
+            if (item.getAmount() != null) {
+                amountTotal = amountTotal.add(item.getAmount());
+            }
+        }
+        Map<String, Object> summary = new HashMap<>(4);
+        summary.put("organchargeTotal", organchargeTotal);
+        summary.put("amountTotal", amountTotal);
+        summary.put("unreceivedTotal", organchargeTotal.subtract(amountTotal));
+        summary.put("rowCount", list.size());
+        return summary;
     }
 
     @Override
@@ -117,4 +153,13 @@
                 spStatChangeReq.getPahospitalname());
     }
 
+    @Override
+    public List<SpStatChangeDetail> getSpStatChangeDetail(SpStatChangeDetailReq req) {
+        return serviceDonorchargeorganMapper.getSpStatChangeDetail(
+                req.getPabegtime(),
+                req.getPaendtime(),
+                req.getPahospitalname(),
+                req.getPachargestate());
+    }
+
 }

--
Gitblit v1.9.3