From 8e3a02c1facca35c5a90ce9b49505f373ae658f5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 13 三月 2026 10:31:48 +0800
Subject: [PATCH] 代码提交
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java | 53 +++++++++++++++++++++++++++++++----------------------
1 files changed, 31 insertions(+), 22 deletions(-)
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
index ba76377..17c560f 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
@@ -10,6 +10,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
+import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.*;
import com.ruoyi.project.mapper.*;
@@ -21,6 +22,8 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.ZoneId;
import java.util.*;
/**
@@ -124,6 +127,11 @@
if (serviceDonateorgan.getEstimatedtime() != null) {
wrappers.eq(ServiceDonateorgan::getEstimatedtime, serviceDonateorgan.getEstimatedtime());
}
+ if (serviceDonateorgan.getSort() != null) {
+ wrappers.eq(ServiceDonateorgan::getSort, serviceDonateorgan.getSort());
+ }
+ // 鎸塻ort瀛楁鎺掑簭锛宯ull鍊兼斁鏈�鍚�
+ wrappers.last("ORDER BY CASE WHEN sort IS NULL THEN 1 ELSE 0 END, sort ASC");
return this.list(wrappers);
}
@@ -442,8 +450,17 @@
@Override
public List<DonateOrganVO> selectVOList(DonateOrganVO donateOrganVO) {
-
- return serviceDonateorganMapper.selectVOList(donateOrganVO);
+ List<DonateOrganVO> donateOrganVOS = serviceDonateorganMapper.selectVOList(donateOrganVO);
+ for (DonateOrganVO donateOrganVO1:donateOrganVOS) {
+ if (donateOrganVO1.getBirthday() != null) {
+ Map<String, String> map = CalculateDateUtils.calculateAge(donateOrganVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+ donateOrganVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+ donateOrganVO1.setAgeunit(map.get("ageUnit"));
+ donateOrganVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+ donateOrganVO1.setAgeunit2(map.get("ageUnit2"));
+ }
+ }
+ return donateOrganVOS;
}
@Override
@@ -719,41 +736,33 @@
}
@Override
- public List<OrganInfoVO> getOrganCount(TimeVO timeVO) {
- List<OrganInfoVO> l = new ArrayList<>();
-
- //List<ServiceDonateorgan> serviceDonateorgans = serviceDonateorganMapper.selectAll(timeVO);
- Map<String, Integer> map_organs = new HashMap<String, Integer>();
- //List<String> organNo = new ArrayList<>();
+ public Map<String, Object> getOrganCount(TimeVO timeVO) {
+ Map<String, Object> map = new HashMap<>();
+ List<OrganInfoVO> organInfoVOList = new ArrayList<>();
+ Integer countSum = 0;
+ Integer abandonCountSum = 0;
List<SysDictData> data = dictDataMapper.selectDictDataByType("sys_Organ");
if (StringUtils.isNull(data)) {
data = new ArrayList<SysDictData>();
}
-
for (SysDictData sysDictData : data) {
if (!sysDictData.getDictValue().equals("C00")) {
DistinctOrgansCount distinctOrgansCount = serviceDonateorganMapper.getDistinctOrgansCount(sysDictData.getDictValue(), timeVO.getStarttime(), timeVO.getEndtime(), timeVO.getCity(), timeVO.getReporterno());
-// map_organs.put(sysDictData.getDictValue(), distinctOrgansCount.getGainsum());
-// map_organs.put("abandonCount", distinctOrgansCount.getAbandonCount());
OrganInfoVO organ = new OrganInfoVO();
organ.setOrganNo(sysDictData.getDictValue());
organ.setCount(distinctOrgansCount.getGainsum());
organ.setAbandonCount(distinctOrgansCount.getAbandonCount());
- l.add(organ);
+ countSum = countSum + distinctOrgansCount.getGainsum();
+ abandonCountSum = abandonCountSum + distinctOrgansCount.getAbandonCount();
+ organInfoVOList.add(organ);
}
}
-// for (Map.Entry<String, Integer> entry : map_organs.entrySet()) {
-// OrganInfoVO organ = new OrganInfoVO();
-// organ.setOrganNo(entry.getKey());
-// //organ.setOrganName(serviceDonateorganMapper.getOrganNameByNo(entry.getKey()));
-// organ.setCount(entry.getValue());
-// organ.setAbandonCount();
-// l.add(organ);
-// }
-
- return l;
+ map.put("countSum", countSum);
+ map.put("abandonCountSum", abandonCountSum);
+ map.put("organInfoVOList", organInfoVOList);
+ return map;
}
@Override
--
Gitblit v1.9.3