liusheng
2 天以前 3165f71939bf0783787fbe19ac77063c23ec22bc
通过生日算年龄
已添加1个文件
已修改26个文件
404 ■■■■ 文件已修改
ruoyi-admin/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-druid.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/common/CalculateDateUtils.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateAnnexVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateannexMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceRelativesconfirmationServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml
@@ -8,8 +8,8 @@
        <version>3.7.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>war</packaging>
    <!--    <packaging>jar</packaging>-->
    <!--    <packaging>war</packaging>-->
    <packaging>jar</packaging>
    <artifactId>smartor-opo</artifactId>
    <description>
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
@@ -13,6 +13,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.config.ServerConfig;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
@@ -29,6 +30,8 @@
import java.io.*;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
@@ -108,7 +111,15 @@
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        log.info("通过id获得潜在捐献信息:{}", id);
        return AjaxResult.success(serviceDonatebaseinfoService.getById(id));
        ServiceDonatebaseinfo serviceDonatebaseinfo = serviceDonatebaseinfoService.getById(id);
        if (serviceDonatebaseinfo.getBirthday() != null) {
            Map<String, String> map = CalculateDateUtils.calculateAge(serviceDonatebaseinfo.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
            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
@@ -1,9 +1,13 @@
package com.ruoyi.web.controller.project;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.annotation.NotRepeatCommit;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -58,6 +62,15 @@
    public TableDataInfo listnew(MedicalEvaluationVO medicalEvaluationVO) {
        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());
                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/java/com/ruoyi/web/controller/project/ServiceRelativesconfirmationController.java
@@ -233,8 +233,8 @@
        } else if (relativeConfirmation.getSex().equals("2")) {
            dataMap.put("XB", "女");
        }
        dataMap.put("CSRQ", relativeConfirmation.getBirthday() == null ? "" : relativeConfirmation.getBirthday().substring(0, 10));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dataMap.put("CSRQ", relativeConfirmation.getBirthday() == null ? "" : simpleDateFormat.format(relativeConfirmation.getBirthday()).substring(0, 10));
        dataMap.put("MZ", NationalityEnum.getDescByCode(relativeConfirmation.getNation()) == null ? "" : NationalityEnum.getDescByCode(relativeConfirmation.getNation()));
        dataMap.put("XL", Education.getDescByCode(relativeConfirmation.getEducation()) == null ? "" : Education.getDescByCode(relativeConfirmation.getEducation()));
        String occupation = "";
ruoyi-admin/src/main/resources/application-druid.yml
@@ -7,12 +7,12 @@
      # ä¸»åº“数据源
      master:
        # å¼€å‘环境
        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: opo@2022
      #        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://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
        username: smartor
        password: Smartor.2023
      # ä»Žåº“数据源
      slave:
ruoyi-admin/src/main/resources/application.yml
@@ -53,7 +53,7 @@
    # å›½é™…化资源文件路径
    basename: i18n/messages
  profiles:
    active: srm
    active: druid
  # æ–‡ä»¶ä¸Šä¼ 
  servlet:
    multipart:
ruoyi-project/src/main/java/com/ruoyi/project/common/CalculateDateUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.project.common;
import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;
import java.util.HashMap;
import java.util.Map;
public class CalculateDateUtils {
    public static Map<String, String> calculateAge(LocalDate birthdate, LocalDate today) {
        if (birthdate == null || today.isBefore(birthdate)) {
            return null;
        }
        Map<String, String> ageMap = new HashMap<>();
        Period period = Period.between(birthdate, today);
        long totalDays = ChronoUnit.DAYS.between(birthdate, today);
        long totalMonths = ChronoUnit.MONTHS.between(birthdate, today);
        int years = period.getYears();
        int months = period.getMonths();
        int days = period.getDays();
        String ageUnit;
        Integer age;
        String ageUnit2 = null;
        Integer age2 = null;
        if (totalDays < 30) {
            // å°äºŽ 1 ä¸ªæœˆï¼ŒæŒ‰å¤©è®¡ç®—
            ageUnit = "天";
            age = (int) totalDays;
            ageMap.put("age", age != null ? age.toString() : null);
            ageMap.put("ageUnit", ageUnit);
            ageMap.put("age2", null);
            ageMap.put("ageUnit2", null);
        } else if (totalMonths < 12) {
            // å°äºŽ ä¸€å¹´ï¼ŒæŒ‰æœˆ + å¤©è®¡ç®—
            ageUnit = "月";
            age = (int) totalMonths;
            ageUnit2 = "天";
            age2 = days;
            ageMap.put("age", age != null ? age.toString() : null);
            ageMap.put("ageUnit", ageUnit);
            ageMap.put("age2", age2 != null ? age2.toString() : null);
            ageMap.put("ageUnit2", ageUnit2);
        } else {
            // å¤§äºŽç­‰äºŽ ä¸€å¹´ï¼ŒæŒ‰å¹´ + æœˆè®¡ç®—
            ageUnit = "岁";
            age = years;
            ageUnit2 = "月";
            age2 = months;
            ageMap.put("age", age != null ? age.toString() : null);
            ageMap.put("ageUnit", ageUnit);
            ageMap.put("age2", age2 != null ? age2.toString() : null);
            ageMap.put("ageUnit2", ageUnit2);
        }
        return ageMap;
    }
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatebaseinfo.java
@@ -60,14 +60,30 @@
    /**
     * å¹´é¾„
     */
    @TableField(exist = false)
    @ApiModelProperty("年龄")
    private Long age;
    /**
     * å¹´é¾„单位
     */
    @TableField(exist = false)
    @ApiModelProperty("年龄单位")
    private String ageunit;
    /**
     * å¹´é¾„
     */
    @TableField(exist = false)
    @ApiModelProperty("年龄")
    private Long age2;
    /**
     * å¹´
     * é¾„单位
     */
    @TableField(exist = false)
    @ApiModelProperty("年龄单位")
    private String ageunit2;
    /**
     * å‡ºç”Ÿæ—¥æœŸ
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateAnnexVO.java
@@ -16,9 +16,11 @@
    private String sex;
    private Long idcardtype;
    private String idcardno;
    private String age;
    private Long age;
    private String ageunit;
    private String birthday;
    private Long age2;
    private String ageunit2;
    private Date birthday;
    private String phone;
    private String treatmenthospitalno;
    private String treatmenthospitalname;
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonateOrganVO.java
@@ -16,9 +16,11 @@
    private String sex;
    private Long idcardtype;
    private String idcardno;
    private String age;
    private Long age;
    private String ageunit;
    private String birthday;
    private Long age2;
    private String ageunit2;
    private Date birthday;
    private String phone;
    private String nationality;
    private String nativeplace;
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java
@@ -26,7 +26,9 @@
    private String idcardno;
    private Long age;
    private String ageunit;
    private String birthday;
    private Long age2;
    private String ageunit2;
    private Date birthday;
    private String nationality;
    private String nation;
    private String reporterno;
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java
@@ -17,7 +17,10 @@
    private Long idcardtype;
    private String idcardno;
    private Long age;
    private String birthday;
    private String ageunit;
    private String ageunit2;
    private Long age2;
    private Date birthday;
    private String treatmenthospitalno;
    private String treatmenthospitalname;
    private String treatmentdeptname;
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java
@@ -59,6 +59,17 @@
     */
    @ApiModelProperty("年龄单位")
    private String ageunit;
    /**
     * å¹´é¾„2
     */
    @ApiModelProperty("年龄2")
    private Long age2;
    /**
     * å¹´é¾„单位2
     */
    @ApiModelProperty("年龄单位2")
    private String ageunit2;
    /**
     * å‡ºç”Ÿæ—¥æœŸ
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java
@@ -12,7 +12,11 @@
    private String name;
    private String sex;
    private String idcardno;
    private Date Birthday;
    private Long age;
    private String ageunit;
    private Long age2;
    private String ageunit2;
    private String registeraddress;
    private String registerprovince;
    private String registerprovinceName;
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java
@@ -16,8 +16,10 @@
    private Long idcardtype;
    private String idcardno;
    private Long Age;
    private String birthday;
    private Long Age2;
    private Date birthday;
    private String ageunit;
    private String ageunit2;
    private String phone;
    private String nationality;
    private String nativeplace;
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateannexMapper.java
@@ -5,6 +5,7 @@
import java.util.List;
import com.ruoyi.project.domain.ServiceDonateannex;
import com.ruoyi.project.domain.vo.DonateAnnexVO;
import org.apache.ibatis.annotations.Mapper;
/**
 * æçŒ®é™„ä»¶Mapper接口
@@ -12,6 +13,7 @@
 * @author ruoyi
 * @date 2021-11-11
 */
@Mapper
public interface ServiceDonateannexMapper extends BaseMapper<ServiceDonateannex>
{
    /**
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateannexServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.project.service.impl;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysRole;
@@ -7,7 +9,9 @@
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.vo.DonateAnnexVO;
import com.ruoyi.project.domain.vo.EthicalReviewVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -94,7 +98,18 @@
        if (b) {
            donateAnnexVO.setCreate_by(user.getUserName());
        }
        return serviceDonateannexMapper.selectVOList(donateAnnexVO);
        List<DonateAnnexVO> donateAnnexVOS = serviceDonateannexMapper.selectVOList(donateAnnexVO);
        for (DonateAnnexVO donateAnnexVO1 : donateAnnexVOS) {
            if (donateAnnexVO1.getBirthday() != null) {
                Map<String, String> map = CalculateDateUtils.calculateAge(donateAnnexVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
                donateAnnexVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
                donateAnnexVO1.setAgeunit(map.get("ageUnit"));
                donateAnnexVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
                donateAnnexVO1.setAgeunit2(map.get("ageUnit2"));
            }
        }
        return donateAnnexVOS;
    }
    @Override
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
@@ -1,6 +1,10 @@
package com.ruoyi.project.service.impl;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Period;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -9,6 +13,7 @@
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.*;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.domain.vo.countByRecordStateVO;
@@ -230,7 +235,18 @@
        if (b == 2) {
            serviceDonatebaseinfo.setDeptid(user.getDeptId());
        }
        return serviceDonatebaseinfoMapper.selectServiceDonatebaseinfoList(serviceDonatebaseinfo);
        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());
                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"));
            }
        }
        return serviceDonatebaseinfos;
    }
    @Override
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatecompletioninfoServiceImpl.java
@@ -1,29 +1,28 @@
package com.ruoyi.project.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.common.utils.StringUtils;
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.ServiceDonateorgan;
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 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.time.LocalDate;
import java.time.ZoneId;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.mapper.ServiceDonatecompletioninfoMapper;
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
/**
 * æçŒ®å®ŒæˆService业务层处理
@@ -122,8 +121,19 @@
        if (b) {
            donationCompletionVO.setReporterno(user.getUserName());
        }
        List<DonationCompletionVO> donationCompletionVOS = serviceDonatecompletioninfoMapper.selectVOList(donationCompletionVO);
        return 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 donationCompletionVOS;
    }
    @Override
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
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.project.service.impl;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.List;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -7,6 +9,7 @@
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.ServiceDonateorgan;
import com.ruoyi.project.domain.vo.DonationWitnessVO;
@@ -83,6 +86,15 @@
            donationWitnessVO.setReporterno(user.getUserName());
        }
        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());
                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
@@ -1,19 +1,25 @@
package com.ruoyi.project.service.impl;
import java.time.LocalDate;
import java.time.ZoneId;
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.common.CalculateDateUtils;
import com.ruoyi.project.domain.vo.EthicalReviewVO;
import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
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.utils.StringUtils;
import com.ruoyi.project.mapper.ServiceEthicalreviewopinionsMapper;
import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
@@ -26,8 +32,7 @@
 * @date 2021-11-23
 */
@Service
public class ServiceEthicalreviewopinionsServiceImpl extends ServiceImpl<ServiceEthicalreviewopinionsMapper, ServiceEthicalreviewopinions> implements IServiceEthicalreviewopinionsService
{
public class ServiceEthicalreviewopinionsServiceImpl extends ServiceImpl<ServiceEthicalreviewopinionsMapper, ServiceEthicalreviewopinions> implements IServiceEthicalreviewopinionsService {
    @Autowired
    ServiceEthicalreviewopinionsMapper serviceEthicalreviewopinionsMapper;
@@ -83,8 +88,18 @@
        if(b){
            ethicalReviewVO.setReporterno(user.getUserName());
        }
        List<EthicalReviewVO> ethicalReviewVOS = serviceEthicalreviewopinionsMapper.selectVOList(ethicalReviewVO);
        return 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());
                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/ServiceFundServiceImpl.java
@@ -514,7 +514,7 @@
        //053审批通过之后,就需要把“办公室主任”的名字填上
        if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) {
            serviceFund.setOfficedirector("审批人:" + user.getNickName() + " & å®¡æ‰¹æ—¶é—´" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & å®¡æ‰¹ç»“果:通过");
            serviceFund.setOfficedirector(user.getNickName());
            serviceFund.setUploadStates(1);
            //数据发送
            Boolean aBoolean1 = null;
@@ -528,8 +528,6 @@
            }
        }
        System.out.println("serviceFund的值是--------:" + serviceFund);
        log.info("开始更新的的值是--------");
        Boolean aBoolean1 = updateById(serviceFund);
        log.info("integer更新的的值是-------- :{}", aBoolean1);
        ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
@@ -747,6 +745,11 @@
    private Map<String, Object> getformmain_0831(ServiceFund serviceFund) {
        ServiceFundflow serviceFundflow = new ServiceFundflow();
        serviceFundflow.setFundid(serviceFund.getId());
        serviceFundflow.setFundtype(2);
        List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow);
        Map<String, Object> formmain_0831 = new HashMap<>();
        formmain_0831.put("捐献者姓名", serviceFund.getDonorname());
        formmain_0831.put("报销人员", serviceFund.getUsername());
@@ -757,14 +760,14 @@
        formmain_0831.put("上传附件", null);
        formmain_0831.put("备注", null);
        formmain_0831.put("财务审批", null);
        formmain_0831.put("财务部负责人审批", serviceFund.getFinancedirector());
        formmain_0831.put("办公室主任审批", serviceFund.getOfficedirector());
        formmain_0831.put("财务部负责人审批", getLastApprovalInfo(serviceFundflows, serviceFund.getFinancedirector()));
        formmain_0831.put("办公室主任审批", getLastApprovalInfo(serviceFundflows, serviceFund.getOfficedirector()));
        formmain_0831.put("业务副院长审批", serviceFund.getBusvicepresident());
        formmain_0831.put("财务副院长审批", serviceFund.getFinvicepresident());
        formmain_0831.put("中心负责人审批", serviceFund.getOpochecker());
        formmain_0831.put("支付方式", serviceFund.getZffs());
        formmain_0831.put("组长", serviceFund.getManagername());
        formmain_0831.put("审批人员", serviceFund.getFinancechecher());
        formmain_0831.put("组长", getLastApprovalInfo(serviceFundflows, serviceFund.getManagername()));
        formmain_0831.put("审批人员", getLastApprovalInfo(serviceFundflows, serviceFund.getFinancechecher()));
        formmain_0831.put("支付日期", serviceFund.getRiqi());
        formmain_0831.put("识别人-作废", null);
        formmain_0831.put("财务审批签字", serviceFund.getFinancedirector());
@@ -790,6 +793,31 @@
        return formmain_0831;
    }
    public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) {
        if (StringUtils.isEmpty(managerName)) return "";
        if (CollectionUtils.isEmpty(serviceFundflows)) {
            //如果是最后一个人审批,这个时候可能flow里还没有生成进去
            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return "审批人:" + managerName + " & å®¡æ‰¹æ—¶é—´ï¼š" + sd.format(new Date()) + " & å®¡æ‰¹ç»“果:通过";
        }
        Optional<ServiceFundflow> lastApproval = serviceFundflows.stream().filter(flow -> flow.getCheckusername().contains(managerName)).max(Comparator.comparing(ServiceFundflow::getCheckTime));
        if (lastApproval.isPresent()) {
            ServiceFundflow flow = lastApproval.get();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            if (flow.getCheckTime() == null) {
                flow.setCheckTime(new Date());
            }
            String formattedTime = sdf.format(flow.getCheckTime());
            return "审批人:" + managerName + " & å®¡æ‰¹æ—¶é—´ï¼š" + formattedTime + " & å®¡æ‰¹ç»“果:通过";
        }
        return "";
    }
    @Override
    public Long getFundId(Long infoid) {
        return serviceFundMapper.getFundId(infoid);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -465,7 +465,7 @@
            }
            //053审批通过之后,就需要把“办公室主任”的名字填上
            if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) {
                serviceReimbursement.setOfficedirector("审批人:" + user.getNickName() + " & å®¡æ‰¹æ—¶é—´" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & å®¡æ‰¹ç»“果:通过");
                serviceReimbursement.setOfficedirector(user.getNickName());
                serviceReimbursement.setUploadStates(1);
                Boolean aBoolean1 = null;
@@ -477,7 +477,9 @@
                    }
                }
            }
//            if (StringUtils.isNotEmpty(serviceReimbursement.getManagername()) && serviceReimbursement.getManagername().equals(loginUser.getUser().getNickName())) {
//                serviceReimbursement.setManagername("审批人:" + serviceReimbursement.getManagername() + " & å®¡æ‰¹æ—¶é—´" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & å®¡æ‰¹ç»“果:通过");
//            }
            updateById(serviceReimbursement);
            ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
@@ -515,6 +517,32 @@
        return allMap;
    }
    public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) {
        if (StringUtils.isEmpty(managerName)) return null;
        if (org.springframework.util.CollectionUtils.isEmpty(serviceFundflows)) {
            //如果是最后一个人审批,这个时候可能flow里还没有生成进去
            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return "审批人:" + managerName + " & å®¡æ‰¹æ—¶é—´ï¼š" + sd.format(new Date()) + " & å®¡æ‰¹ç»“果:通过";
        }
        Optional<ServiceFundflow> lastApproval = serviceFundflows.stream()
                .filter(flow -> flow.getCheckusername().contains(managerName))
                .max(Comparator.comparing(ServiceFundflow::getCheckTime));
        if (lastApproval.isPresent()) {
            ServiceFundflow flow = lastApproval.get();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            if(flow.getCheckTime()==null){
                flow.setCheckTime(new Date());
            }
            String formattedTime = sdf.format(flow.getCheckTime());
            return "审批人:" + managerName + " & å®¡æ‰¹æ—¶é—´ï¼š" + formattedTime + " & å®¡æ‰¹ç»“果:通过";
        }
        return "未找到审批记录";
    }
    public Boolean sendData(ServiceReimbursement serviceReimbursement) {
        // fund和funddetail的数据获取
@@ -711,12 +739,18 @@
    }
    private Map<String, Object> formmain_1209(ServiceReimbursementShared serviceReimbursementShared) {
        ServiceFundflow serviceFundflow = new ServiceFundflow();
        serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
        serviceFundflow.setFundtype(1);
        List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow);
        Map<String, Object> formmain_1209 = new HashMap<>();
        formmain_1209.put("报销日期", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceReimbursementShared.getApplyTime()));
        formmain_1209.put("出差人-作废", "");
        formmain_1209.put("报销人", serviceReimbursementShared.getUsername());
        formmain_1209.put("区域组长", serviceReimbursementShared.getManagername());
        formmain_1209.put("区域组长", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getManagername()));
        formmain_1209.put("出差事由", serviceReimbursementShared.getReason());
        formmain_1209.put("天数合计", 0.00);
        formmain_1209.put("交通费合计", serviceReimbursementShared.getTotalamount());
@@ -729,8 +763,8 @@
        formmain_1209.put("领款金额大写", serviceReimbursementShared.getBigstrmoney());
        formmain_1209.put("领款金额", serviceReimbursementShared.getAmountrequested());
        formmain_1209.put("财务审批", "");
        formmain_1209.put("财务部负责人审批", serviceReimbursementShared.getFinancedirector());
        formmain_1209.put("办公室主任审批", serviceReimbursementShared.getOfficedirector());
        formmain_1209.put("财务部负责人审批", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getFinancedirector()));
        formmain_1209.put("办公室主任审批", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getOfficedirector()));
        formmain_1209.put("备注", serviceReimbursementShared.getRemark());
        formmain_1209.put("业务副院长审批", serviceReimbursementShared.getBusvicepresident());
        formmain_1209.put("财务副院长审批", serviceReimbursementShared.getFinvicepresident());
@@ -739,14 +773,14 @@
        formmain_1209.put("卡号-作废", "");
        formmain_1209.put("支付方式", serviceReimbursementShared.getZffs());
        formmain_1209.put("组长", serviceReimbursementShared.getManagername());
        formmain_1209.put("审批人员", serviceReimbursementShared.getFinancechecher());
        formmain_1209.put("审批人员", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getFinancechecher()));
        formmain_1209.put("支付日期", serviceReimbursementShared.getRiqi());
        formmain_1209.put("上传附件", "");
        formmain_1209.put("打款合计", 0.00);
        formmain_1209.put("发票识别-作废", "");
        formmain_1209.put("识别人-作废", "");
        formmain_1209.put("财务审批签字", "");
        formmain_1209.put("财务部负责人审批签字", serviceReimbursementShared.getFinancedirector());
        formmain_1209.put("财务部负责人审批签字", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getFinancedirector()));
        formmain_1209.put("表单编号1", "");
        formmain_1209.put("CIF账套配置1", "");
        formmain_1209.put("院区", "");
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceRelativesconfirmationServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.project.service.impl;
import java.time.LocalDate;
import java.time.ZoneId;
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.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
import com.ruoyi.project.domain.vo.RelativeConfirmationVO;
import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
@@ -15,8 +19,10 @@
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.utils.StringUtils;
import com.ruoyi.project.mapper.ServiceRelativesconfirmationMapper;
import com.ruoyi.project.domain.ServiceRelativesconfirmation;
@@ -29,8 +35,7 @@
 * @date 2021-11-15
 */
@Service
public class ServiceRelativesconfirmationServiceImpl extends ServiceImpl<ServiceRelativesconfirmationMapper, ServiceRelativesconfirmation> implements IServiceRelativesconfirmationService
{
public class ServiceRelativesconfirmationServiceImpl extends ServiceImpl<ServiceRelativesconfirmationMapper, ServiceRelativesconfirmation> implements IServiceRelativesconfirmationService {
    @Autowired
    IServiceDonatebaseinfoService serviceDonatebaseinfoService;
@@ -181,8 +186,7 @@
        if(first == -1){
            return oldDonateNumber;
        }
        else {
        } else {
            StringBuilder newDonateNumber = new StringBuilder(oldDonateNumber);
            newDonateNumber.replace(first, first + 2, adjustcoordinateUserId);
            String updateNumber = newDonateNumber.toString();
@@ -206,8 +210,17 @@
        if(b){
            relativeConfirmationVO.setReporterno(user.getUserName());
        }
        return serviceRelativesconfirmationMapper.selectVOList(relativeConfirmationVO);
        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());
                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/ServiceEthicalreviewopinionsMapper.xml
@@ -63,7 +63,7 @@
        service_donatebaseinfo.Sex as sex,
        service_donatebaseinfo.Age as age,
        service_donatebaseinfo.AgeUnit as ageUnit,
        service_donatebaseinfo.Birthday as irthday,
        service_donatebaseinfo.Birthday as birthday,
        service_donatebaseinfo.Phone as phone,
        service_donatebaseinfo.Nationality as nationality,
        service_donatebaseinfo.NativePlace as nativePlace,
ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
@@ -49,7 +49,7 @@
        `service_donatebaseinfo`.`Name` AS `Name`,
        `service_donatebaseinfo`.`Sex` AS `Sex`,
        `service_donatebaseinfo`.`IDCardNo` AS `IDCardNo`,
        `service_donatebaseinfo`.`Age` AS `Age`,
        `service_donatebaseinfo`.`Birthday` AS `Birthday`,
        `service_donatebaseinfo`.`RegisterAddress` AS `RegisterAddress`,
        `service_donatebaseinfo`.`RegisterProvince` AS `RegisterProvince`,
        `service_donatebaseinfo`.`RegisterProvinceName` AS `RegisterProvinceName`,