liusheng
2025-11-04 b1ffaa0bfbe610b16b64966965fe13b7e2a57d93
处理年龄问题
已修改11个文件
220 ■■■■■ 文件已修改
ruoyi-admin/pom.xml 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-druid.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonationwitnessService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceRelativesconfirmationServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
@@ -1,5 +1,6 @@
package com.ruoyi.web.controller.project;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.config.RuoYiConfig;
@@ -15,8 +16,10 @@
import com.ruoyi.framework.config.ServerConfig;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
import com.ruoyi.project.service.IServiceDonationwitnessService;
import com.ruoyi.project.service.IServiceExternalpersonService;
import com.ruoyi.system.mapper.SysDeptMapper;
import freemarker.template.Configuration;
@@ -26,6 +29,7 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.io.*;
@@ -48,6 +52,9 @@
public class ServiceDonatebaseinfoController extends BaseController {
    @Autowired
    private IServiceDonatebaseinfoService serviceDonatebaseinfoService;
    @Autowired
    private IServiceDonationwitnessService serviceDonationwitnessService;
    @Autowired
    private IServiceExternalpersonService serviceExternalpersonService;
@@ -119,6 +126,30 @@
            serviceDonatebaseinfo.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
            serviceDonatebaseinfo.setAgeunit2(map.get("ageUnit2"));
        }
        serviceDonatebaseinfo.setAgeunit("-");
        serviceDonatebaseinfo.setAge(null);
        serviceDonatebaseinfo.setAge2(null);
        //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
        ServiceDonationwitness sdw = new ServiceDonationwitness();
        sdw.setInfoid(serviceDonatebaseinfo.getId());
        List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessService.selectServiceDonationwitnessList(sdw);
        if (!CollectionUtils.isEmpty(serviceDonationwitnessList) && serviceDonatebaseinfo.getBirthday() != null) {
            Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
            if (ObjectUtils.isNotEmpty(deathtime)) {
                Map<String, String> map = CalculateDateUtils.calculateAge(serviceDonatebaseinfo.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                if (Objects.isNull(map)) {
                    log.error("serviceDonatebaseinfo出生日期:{},serviceDonatebaseinfo死亡日期:{}", serviceDonatebaseinfo.getBirthday(), deathtime);
                }
                serviceDonatebaseinfo.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                serviceDonatebaseinfo.setAgeunit(map.get("ageUnit"));
                serviceDonatebaseinfo.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
                serviceDonatebaseinfo.setAgeunit2(map.get("ageUnit2"));
            }
        }
        return AjaxResult.success(serviceDonatebaseinfo);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java
@@ -3,14 +3,19 @@
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.annotation.NotRepeatCommit;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
import com.ruoyi.project.service.IServiceDonationwitnessService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
@@ -38,12 +43,16 @@
 * @author ruoyi
 * @date 2021-11-19
 */
@Slf4j
@Api("医疗评估管理")
@RestController
@RequestMapping("/project/medicalevaluation")
public class ServiceMedicalevaluationController extends BaseController {
    @Autowired
    private IServiceMedicalevaluationService serviceMedicalevaluationService;
    @Autowired
    private IServiceDonationwitnessService serviceDonationwitnessService;
    /**
     * 查询医学评估列表
@@ -63,14 +72,30 @@
        startPage();
        List<MedicalEvaluationVO> list = serviceMedicalevaluationService.selectVOList(medicalEvaluationVO);
        for (MedicalEvaluationVO medicalEvaluationVO1 : list) {
            if (medicalEvaluationVO1.getBirthday() != null) {
                Map<String, String> map = CalculateDateUtils.calculateAge(medicalEvaluationVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
            //先给个年龄默认值(因为age是数字类型,不能放横杠,所以就所横扛放到单位上)
            medicalEvaluationVO1.setAgeunit("-");
            medicalEvaluationVO1.setAge(null);
            medicalEvaluationVO1.setAge2(null);
            //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
            ServiceDonationwitness sdw = new ServiceDonationwitness();
            sdw.setInfoid(medicalEvaluationVO1.getInfoid());
            List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessService.selectServiceDonationwitnessList(sdw);
            if (!CollectionUtils.isEmpty(serviceDonationwitnessList) && medicalEvaluationVO1.getBirthday() != null) {
                Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
                if (ObjectUtils.isNotEmpty(deathtime)) {
                    Map<String, String> map = CalculateDateUtils.calculateAge(medicalEvaluationVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                    if (ObjectUtils.isEmpty(map)) {
                        log.error("MedicalEvaluationVO出生日期:{},MedicalEvaluationVO死亡日期:{}", medicalEvaluationVO1.getBirthday(), deathtime);
                        continue;
                    }
                medicalEvaluationVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                medicalEvaluationVO1.setAgeunit(map.get("ageUnit"));
                medicalEvaluationVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
                medicalEvaluationVO1.setAgeunit2(map.get("ageUnit2"));
            }
        }
        }
        return getDataTable(list);
    }
ruoyi-admin/src/main/resources/application-druid.yml
@@ -10,7 +10,7 @@
        #        url: jdbc:mysql://116.62.18.175:6002/opo?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
        #        username: opo
        #        password: Smartor.2023
        url: jdbc:mysql://192.168.100.10:3306/opo?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
        url: jdbc:mysql://haiershi.a1.luyouxia.net:23844/opo?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
        username: smartor
        password: Smartor.2023
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonationwitnessService.java
@@ -23,6 +23,8 @@
     * @return 捐献见证集合
     */
    public List<ServiceDonationwitness> queryList(ServiceDonationwitness serviceDonationwitness);
    public List<ServiceDonationwitness> selectServiceDonationwitnessList(ServiceDonationwitness serviceDonationwitness);
    List<DonationWitnessVO> selectVOList(DonationWitnessVO donationWitnessVO);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
@@ -237,8 +237,31 @@
        }
        List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.selectServiceDonatebaseinfoList(serviceDonatebaseinfo);
        for (ServiceDonatebaseinfo serviceDonatebaseinfo1 : serviceDonatebaseinfos) {
            if (serviceDonatebaseinfo1.getBirthday() != null) {
                Map<String, String> map = CalculateDateUtils.calculateAge(serviceDonatebaseinfo1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
            //这里不能再通过当前时间算年龄了,患者可能已经死亡了
//            if (serviceDonatebaseinfo1.getBirthday() != null) {
//                Map<String, String> map = CalculateDateUtils.calculateAge(serviceDonatebaseinfo1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
//                serviceDonatebaseinfo1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
//                serviceDonatebaseinfo1.setAgeunit(map.get("ageUnit"));
//                serviceDonatebaseinfo1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
//                serviceDonatebaseinfo1.setAgeunit2(map.get("ageUnit2"));
//            }
            //先给个年龄默认值(因为age是数字类型,不能放横杠,所以就所横扛放到单位上)
            serviceDonatebaseinfo1.setAgeunit("-");
            serviceDonatebaseinfo1.setAge(null);
            serviceDonatebaseinfo1.setAge2(null);
            //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
            ServiceDonationwitness sdw = new ServiceDonationwitness();
            sdw.setInfoid(serviceDonatebaseinfo1.getId());
            List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessMapper.selectServiceDonationwitnessList(sdw);
            if (!CollectionUtils.isEmpty(serviceDonationwitnessList) && serviceDonatebaseinfo1.getBirthday() != null) {
                Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
                if (ObjectUtils.isNotEmpty(deathtime)) {
                    Map<String, String> map = CalculateDateUtils.calculateAge(serviceDonatebaseinfo1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                    if (Objects.isNull(map)) {
                        log.error("ServiceDonationwitness出生日期:{},ServiceDonationwitness死亡日期:{}", serviceDonatebaseinfo1.getBirthday(), deathtime);
                        continue;
                    }
                serviceDonatebaseinfo1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                serviceDonatebaseinfo1.setAgeunit(map.get("ageUnit"));
                serviceDonatebaseinfo1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
@@ -246,6 +269,8 @@
            }
        }
        }
        return serviceDonatebaseinfos;
    }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysRole;
@@ -11,16 +12,20 @@
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
import com.ruoyi.project.domain.ServiceDonatecomporgan;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.domain.vo.DonationCompletionVO;
import com.ruoyi.project.mapper.ServiceDonatecompletioninfoMapper;
import com.ruoyi.project.mapper.ServiceDonationwitnessMapper;
import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
import com.ruoyi.project.service.IServiceDonatecomporganService;
import lombok.extern.slf4j.Slf4j;
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.Date;
import java.util.List;
import java.util.Map;
@@ -30,6 +35,7 @@
 * @author ruoyi
 * @date 2021-11-19
 */
@Slf4j
@Service
public class ServiceDonatecompletioninfoServiceImpl extends ServiceImpl<ServiceDonatecompletioninfoMapper, ServiceDonatecompletioninfo> implements IServiceDonatecompletioninfoService {
@@ -38,6 +44,9 @@
    @Autowired
    IServiceDonatecomporganService serviceDonatecomporganService;
    @Autowired
    ServiceDonationwitnessMapper serviceDonationwitnessMapper;
    /**
     * 查询捐献完成列表
@@ -124,14 +133,38 @@
        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());
//            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"));
//            }
            //先给个年龄默认值(因为age是数字类型,不能放横杠,所以就所横扛放到单位上)
            donationCompletionVO1.setAgeunit("-");
            donationCompletionVO1.setAge(null);
            donationCompletionVO1.setAge2(null);
            //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
            ServiceDonationwitness sdw = new ServiceDonationwitness();
            sdw.setInfoid(donationCompletionVO1.getInfoid());
            List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessMapper.selectServiceDonationwitnessList(sdw);
            if (!org.springframework.util.CollectionUtils.isEmpty(serviceDonationwitnessList) && donationCompletionVO1.getBirthday() != null) {
                Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
                if (ObjectUtils.isNotEmpty(deathtime)) {
                    Map<String, String> map = CalculateDateUtils.calculateAge(donationCompletionVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                    if (ObjectUtils.isEmpty(map)) {
                        log.error("DonationCompletionVO出生日期:{},DonationCompletionVO死亡日期:{}", donationCompletionVO1.getBirthday(), deathtime);
                        continue;
                    }
                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 donationCompletionVOS;
    }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java
@@ -2,9 +2,10 @@
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
@@ -17,6 +18,7 @@
import com.ruoyi.project.domain.vo.WitnessStatsVO;
import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper;
import com.ruoyi.project.mapper.ServiceDonateorganMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -30,6 +32,7 @@
import com.ruoyi.project.mapper.ServiceDonationwitnessMapper;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.service.IServiceDonationwitnessService;
import org.springframework.util.CollectionUtils;
/**
 * 捐献见证Service业务层处理
@@ -37,6 +40,7 @@
 * @author ruoyi
 * @date 2021-11-17
 */
@Slf4j
@Service
public class ServiceDonationwitnessServiceImpl extends ServiceImpl<ServiceDonationwitnessMapper, ServiceDonationwitness> implements IServiceDonationwitnessService {
@@ -72,6 +76,11 @@
    }
    @Override
    public List<ServiceDonationwitness> selectServiceDonationwitnessList(ServiceDonationwitness serviceDonationwitness) {
        return serviceDonationwitnessMapper.selectServiceDonationwitnessList(serviceDonationwitness);
    }
    @Override
    public List<DonationWitnessVO> selectVOList(DonationWitnessVO donationWitnessVO) {
        SysUser user = SecurityUtils.getLoginUser().getUser();
@@ -87,14 +96,29 @@
        }
        List<DonationWitnessVO> donationWitnessVOS = serviceDonationwitnessMapper.selectVOList(donationWitnessVO);
        for (DonationWitnessVO donationWitnessVO1 : donationWitnessVOS) {
            if (donationWitnessVO1.getBirthday() != null) {
                Map<String, String> map = CalculateDateUtils.calculateAge(donationWitnessVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
            //先给个年龄默认值(因为age是数字类型,不能放横杠,所以就所横扛放到单位上)
            donationWitnessVO1.setAgeunit("-");
            //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
            ServiceDonationwitness sdw = new ServiceDonationwitness();
            sdw.setInfoid(donationWitnessVO1.getInfoid());
            List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessMapper.selectServiceDonationwitnessList(sdw);
            if (!CollectionUtils.isEmpty(serviceDonationwitnessList) && donationWitnessVO1.getBirthday() != null) {
                Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
                if (ObjectUtils.isNotEmpty(deathtime)) {
                    Map<String, String> map = CalculateDateUtils.calculateAge(donationWitnessVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                    if (ObjectUtils.isEmpty(map)) {
                        log.error("DonationWitnessVO出生日期:{},DonationWitnessVO死亡日期:{}", donationWitnessVO1.getBirthday(), deathtime);
                        continue;
                    }
                donationWitnessVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                donationWitnessVO1.setAgeunit(map.get("ageUnit"));
                donationWitnessVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
                donationWitnessVO1.setAgeunit2(map.get("ageUnit2"));
            }
        }
        }
        return donationWitnessVOS;
    }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
@@ -2,15 +2,20 @@
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.domain.vo.EthicalReviewVO;
import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
import com.ruoyi.project.mapper.ServiceDonationwitnessMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -24,6 +29,7 @@
import com.ruoyi.project.mapper.ServiceEthicalreviewopinionsMapper;
import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
import com.ruoyi.project.service.IServiceEthicalreviewopinionsService;
import org.springframework.util.CollectionUtils;
/**
 * 伦理审查专家意见Service业务层处理
@@ -31,12 +37,15 @@
 * @author ruoyi
 * @date 2021-11-23
 */
@Slf4j
@Service
public class ServiceEthicalreviewopinionsServiceImpl extends ServiceImpl<ServiceEthicalreviewopinionsMapper, ServiceEthicalreviewopinions> implements IServiceEthicalreviewopinionsService {
    @Autowired
    ServiceEthicalreviewopinionsMapper serviceEthicalreviewopinionsMapper;
    @Autowired
    ServiceDonationwitnessMapper serviceDonationwitnessMapper;
    /**
     * 查询伦理审查专家意见列表
@@ -91,14 +100,30 @@
        List<EthicalReviewVO> ethicalReviewVOS = serviceEthicalreviewopinionsMapper.selectVOList(ethicalReviewVO);
        for (EthicalReviewVO ethicalReviewVO1 : ethicalReviewVOS) {
            if (ethicalReviewVO1.getBirthday() != null) {
                Map<String, String> map = CalculateDateUtils.calculateAge(ethicalReviewVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
            //先给个年龄默认值(因为age是数字类型,不能放横杠,所以就所横扛放到单位上)
            ethicalReviewVO1.setAgeunit("-");
            ethicalReviewVO1.setAge(null);
            ethicalReviewVO1.setAge2(null);
            //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
            ServiceDonationwitness sdw = new ServiceDonationwitness();
            sdw.setInfoid(ethicalReviewVO1.getId());
            List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessMapper.selectServiceDonationwitnessList(sdw);
            if (!CollectionUtils.isEmpty(serviceDonationwitnessList) && ethicalReviewVO1.getBirthday() != null) {
                Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
                if (ObjectUtils.isNotEmpty(deathtime)) {
                    Map<String, String> map = CalculateDateUtils.calculateAge(ethicalReviewVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                    if (ObjectUtils.isEmpty(map)) {
                        log.error("EthicalReviewVO出生日期:{},EthicalReviewVO死亡日期:{}", ethicalReviewVO1.getBirthday(), deathtime);
                        continue;
                    }
                ethicalReviewVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                ethicalReviewVO1.setAgeunit(map.get("ageUnit"));
                ethicalReviewVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
                ethicalReviewVO1.setAgeunit2(map.get("ageUnit2"));
            }
        }
        }
        return ethicalReviewVOS;
    }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceRelativesconfirmationServiceImpl.java
@@ -2,18 +2,23 @@
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
import com.ruoyi.project.domain.vo.RelativeConfirmationVO;
import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper;
import com.ruoyi.project.mapper.ServiceDonationwitnessMapper;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -27,6 +32,7 @@
import com.ruoyi.project.mapper.ServiceRelativesconfirmationMapper;
import com.ruoyi.project.domain.ServiceRelativesconfirmation;
import com.ruoyi.project.service.IServiceRelativesconfirmationService;
import org.springframework.util.CollectionUtils;
/**
 * 捐献亲属确认Service业务层处理
@@ -34,6 +40,7 @@
 * @author ruoyi
 * @date 2021-11-15
 */
@Slf4j
@Service
public class ServiceRelativesconfirmationServiceImpl extends ServiceImpl<ServiceRelativesconfirmationMapper, ServiceRelativesconfirmation> implements IServiceRelativesconfirmationService {
@@ -45,6 +52,9 @@
    @Autowired
    ServiceDonatebaseinfoMapper serviceDonatebaseinfoMapper;
    @Autowired
    ServiceDonationwitnessMapper serviceDonationwitnessMapper;
    /**
@@ -212,14 +222,30 @@
        }
        List<RelativeConfirmationVO> relativeConfirmationVOS = serviceRelativesconfirmationMapper.selectVOList(relativeConfirmationVO);
        for (RelativeConfirmationVO relativeConfirmationVO1 : relativeConfirmationVOS) {
            if (relativeConfirmationVO1.getBirthday() != null) {
                Map<String, String> map = CalculateDateUtils.calculateAge(relativeConfirmationVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
            //先给个年龄默认值(因为age是数字类型,不能放横杠,所以就所横扛放到单位上)
            relativeConfirmationVO1.setAgeunit("-");
            relativeConfirmationVO1.setAge(null);
            relativeConfirmationVO1.setAge2(null);
            //获取死亡时间,如果获取见证里有死亡时间,则进行计算他的年龄
            ServiceDonationwitness sdw = new ServiceDonationwitness();
            sdw.setInfoid(relativeConfirmationVO1.getInfoid());
            List<ServiceDonationwitness> serviceDonationwitnessList = serviceDonationwitnessMapper.selectServiceDonationwitnessList(sdw);
            if (!CollectionUtils.isEmpty(serviceDonationwitnessList) && relativeConfirmationVO1.getBirthday() != null) {
                Date deathtime = serviceDonationwitnessList.get(0).getDeathtime();
                if (ObjectUtils.isNotEmpty(deathtime)) {
                    Map<String, String> map = CalculateDateUtils.calculateAge(relativeConfirmationVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), deathtime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
                    if (ObjectUtils.isEmpty(map)) {
                        log.error("RelativeConfirmationVO出生日期:{},RelativeConfirmationVO死亡日期:{}", relativeConfirmationVO1.getBirthday(), deathtime);
                        continue;
                    }
                relativeConfirmationVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                relativeConfirmationVO1.setAgeunit(map.get("ageUnit"));
                relativeConfirmationVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
                relativeConfirmationVO1.setAgeunit2(map.get("ageUnit2"));
            }
        }
        }
        return relativeConfirmationVOS;
    }
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -104,6 +104,7 @@
                #{gainhospitalname}, '%')
            </if>
            <if test="operationdoctor != null  and operationdoctor != ''">and OperationDoctor = #{operationdoctor}</if>
            <if test="infoid != null">and InfoID = #{infoid}</if>
        </where>
    </select>