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/ServiceDonatecompletioninfoServiceImpl.java |  128 +++++++++++++++++++++++++++++++-----------
 1 files changed, 93 insertions(+), 35 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java
index ad32b72..a3f6cb1 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java
@@ -1,86 +1,144 @@
 package com.ruoyi.project.service.impl;
 
-import java.util.List;
-
-import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.project.domain.ServiceDonateorgan;
-import com.ruoyi.project.domain.vo.DonationCompletionVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import java.util.ArrayList;
-import java.util.Map;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.project.mapper.ServiceDonatecompletioninfoMapper;
+import com.ruoyi.project.common.CalculateDateUtils;
+import com.ruoyi.project.domain.ServiceDonatebaseinfo;
 import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
+import com.ruoyi.project.domain.ServiceDonatecomporgan;
+import com.ruoyi.project.domain.vo.DonationCompletionVO;
+import com.ruoyi.project.mapper.ServiceDonatecompletioninfoMapper;
 import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
+import com.ruoyi.project.service.IServiceDonatecomporganService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 鎹愮尞瀹屾垚Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2021-11-19
  */
 @Service
-public class ServiceDonatecompletioninfoServiceImpl extends ServiceImpl<ServiceDonatecompletioninfoMapper, ServiceDonatecompletioninfo> implements IServiceDonatecompletioninfoService 
-{
+public class ServiceDonatecompletioninfoServiceImpl extends ServiceImpl<ServiceDonatecompletioninfoMapper, ServiceDonatecompletioninfo> implements IServiceDonatecompletioninfoService {
 
     @Autowired
     ServiceDonatecompletioninfoMapper serviceDonatecompletioninfoMapper;
 
+    @Autowired
+    IServiceDonatecomporganService serviceDonatecomporganService;
+
     /**
      * 鏌ヨ鎹愮尞瀹屾垚鍒楄〃
-     * 
+     *
      * @param serviceDonatecompletioninfo 鎹愮尞瀹屾垚
      * @return 鎹愮尞瀹屾垚
      */
     @Override
     public List<ServiceDonatecompletioninfo> queryList(ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
         LambdaQueryWrapper<ServiceDonatecompletioninfo> wrappers = Wrappers.lambdaQuery();
-        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getDonorno())){
-            wrappers.eq(ServiceDonatecompletioninfo::getDonorno ,serviceDonatecompletioninfo.getDonorno());
+        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getDonorno())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getDonorno, serviceDonatecompletioninfo.getDonorno());
         }
-        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getIsbodydonation())){
-            wrappers.eq(ServiceDonatecompletioninfo::getIsbodydonation ,serviceDonatecompletioninfo.getIsbodydonation());
+        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getIsbodydonation())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getIsbodydonation, serviceDonatecompletioninfo.getIsbodydonation());
         }
-        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getReceivingunit())){
-            wrappers.eq(ServiceDonatecompletioninfo::getReceivingunit ,serviceDonatecompletioninfo.getReceivingunit());
+        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getReceivingunit())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getReceivingunit, serviceDonatecompletioninfo.getReceivingunit());
         }
-        if (StringUtils.isNotNull(serviceDonatecompletioninfo.getId())){
-            wrappers.eq(ServiceDonatecompletioninfo::getId ,serviceDonatecompletioninfo.getId());
+        if (StringUtils.isNotNull(serviceDonatecompletioninfo.getId())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getId, serviceDonatecompletioninfo.getId());
         }
-        if (StringUtils.isNotNull(serviceDonatecompletioninfo.getInfoid())){
-            wrappers.eq(ServiceDonatecompletioninfo::getInfoid ,serviceDonatecompletioninfo.getInfoid());
+        if (StringUtils.isNotNull(serviceDonatecompletioninfo.getInfoid())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getInfoid, serviceDonatecompletioninfo.getInfoid());
         }
         return this.list(wrappers);
     }
+
+    /**
+     * 鏆傛椂鍏堜笉鐢ㄤ簡
+     *
+     * @param serviceDonatecompletioninfo
+     * @return
+     */
+    @Override
+    public List<ServiceDonatecompletioninfo> queryListDetail(ServiceDonatecompletioninfo serviceDonatecompletioninfo) {
+        LambdaQueryWrapper<ServiceDonatecompletioninfo> wrappers = Wrappers.lambdaQuery();
+        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getDonorno())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getDonorno, serviceDonatecompletioninfo.getDonorno());
+        }
+        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getIsbodydonation())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getIsbodydonation, serviceDonatecompletioninfo.getIsbodydonation());
+        }
+        if (StringUtils.isNotBlank(serviceDonatecompletioninfo.getReceivingunit())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getReceivingunit, serviceDonatecompletioninfo.getReceivingunit());
+        }
+        if (StringUtils.isNotNull(serviceDonatecompletioninfo.getId())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getId, serviceDonatecompletioninfo.getId());
+        }
+        if (StringUtils.isNotNull(serviceDonatecompletioninfo.getInfoid())) {
+            wrappers.eq(ServiceDonatecompletioninfo::getInfoid, serviceDonatecompletioninfo.getInfoid());
+        }
+        List<ServiceDonatecompletioninfo> serviceDonatecompletioninfoList = this.list(wrappers);
+        if (CollectionUtils.isNotEmpty(serviceDonatecompletioninfoList)) {
+            for (ServiceDonatecompletioninfo serviceDonatecompletioninfo1 : serviceDonatecompletioninfoList) {
+                if (serviceDonatecompletioninfo1.getInfoid() != null) {
+                    ServiceDonatecomporgan serviceDonatecomporgan = new ServiceDonatecomporgan();
+                    serviceDonatecomporgan.setInfoid(serviceDonatecompletioninfo1.getInfoid());
+                    List<ServiceDonatecomporgan> serviceDonatecomporgans = serviceDonatecomporganService.queryList(serviceDonatecomporgan);
+                    serviceDonatecompletioninfo1.setServiceDonatecomporganList(serviceDonatecomporgans);
+                }
+
+            }
+        }
+
+        return this.list(wrappers);
+    }
+
 
     @Override
     public List<DonationCompletionVO> selectVOList(DonationCompletionVO donationCompletionVO) {
 
         SysUser user = SecurityUtils.getLoginUser().getUser();
-        List <SysRole> l = user.getRoles();
+        List<SysRole> l = user.getRoles();
         Boolean b = false;
-        for(SysRole r : l){
-            if(r.getRoleId().longValue() == 3){
+        for (SysRole r : l) {
+            if (r.getRoleId().longValue() == 3) {
                 b = true;
             }
         }
-        if(b){
-            donationCompletionVO.setBasecreateby(user.getUserName());
+        if (b) {
+            donationCompletionVO.setReporterno(user.getUserName());
+        }
+        List<DonationCompletionVO> donationCompletionVOS = serviceDonatecompletioninfoMapper.selectVOList(donationCompletionVO);
+
+        for (DonationCompletionVO donationCompletionVO1 : donationCompletionVOS) {
+            if (donationCompletionVO1.getBirthday() != null) {
+                Map<String, String> map = CalculateDateUtils.calculateAge(donationCompletionVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+                donationCompletionVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+                donationCompletionVO1.setAgeunit(map.get("ageUnit"));
+                donationCompletionVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+                donationCompletionVO1.setAgeunit2(map.get("ageUnit2"));
+            }
         }
 
-        return serviceDonatecompletioninfoMapper.selectVOList(donationCompletionVO);
+        return donationCompletionVOS;
     }
 
     @Override
-    public void delDuplicateDonateCompletioninfo(long infoid,String createby) {
-        serviceDonatecompletioninfoMapper.delDuplicateDonateCompletioninfo(infoid,createby);
+    public void delDuplicateDonateCompletioninfo(long infoid, String createby) {
+        serviceDonatecompletioninfoMapper.delDuplicateDonateCompletioninfo(infoid, createby);
     }
 
 }

--
Gitblit v1.9.3