From 3165f71939bf0783787fbe19ac77063c23ec22bc Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 12 九月 2025 15:01:55 +0800 Subject: [PATCH] 通过生日算年龄 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java | 48 ++++++++++++++++++++++++++---------------------- 1 files changed, 26 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..525832a 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.*; /** @@ -442,8 +445,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 +731,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