liusheng
15 小时以前 b1ffaa0bfbe610b16b64966965fe13b7e2a57d93
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
@@ -1,7 +1,7 @@
package com.ruoyi.web.controller.project;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.NotRepeatCommit;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.HttpStatus;
@@ -14,9 +14,12 @@
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.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,13 +29,14 @@
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.*;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
//import javafx.scene.input.DataFormat;
/**
@@ -48,6 +52,9 @@
public class ServiceDonatebaseinfoController extends BaseController {
    @Autowired
    private IServiceDonatebaseinfoService serviceDonatebaseinfoService;
    @Autowired
    private IServiceDonationwitnessService serviceDonationwitnessService;
    @Autowired
    private IServiceExternalpersonService serviceExternalpersonService;
@@ -70,7 +77,7 @@
     * 查询捐献基础列表
     */
    @ApiOperation("潜在捐献信息列表")
    //@PreAuthorize("@ss.hasPermi('project:donatebaseinfo:list')")
    //// @PreAuthorize("@ss.hasPermi('project:donatebaseinfo:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceDonatebaseinfo serviceDonatebaseinfo) {
        log.info("潜在捐献信息列表:{}", serviceDonatebaseinfo);
@@ -89,12 +96,11 @@
        return getDataTable(list);
    }
    /**
     * 导出捐献基础列表
     */
    @ApiOperation("导出潜在捐献信息列表")
    //@PreAuthorize("@ss.hasPermi('project:donatebaseinfo:export')")
    //// @PreAuthorize("@ss.hasPermi('project:donatebaseinfo:export')")
    @Log(title = "捐献基础", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceDonatebaseinfo serviceDonatebaseinfo) {
@@ -108,18 +114,50 @@
     * 获取捐献基础详细信息
     */
    @ApiOperation("通过id获得潜在捐献信息")
    //@PreAuthorize("@ss.hasPermi('project:donatebaseinfo:query')")
    //// @PreAuthorize("@ss.hasPermi('project:donatebaseinfo:query')")
    @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"));
        }
        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);
    }
    /**
     * 新增捐献基础
     */
    @ApiOperation("新增潜在捐献信息")
    //@PreAuthorize("@ss.hasPermi('project:donatebaseinfo:add')")
    //// @PreAuthorize("@ss.hasPermi('project:donatebaseinfo:add')")
    @Log(title = "捐献基础", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @RepeatSubmit
@@ -161,7 +199,7 @@
     * 修改捐献基础
     */
    @ApiOperation("修改潜在捐献信息")
    //@PreAuthorize("@ss.hasPermi('project:donatebaseinfo:edit')")
    //// @PreAuthorize("@ss.hasPermi('project:donatebaseinfo:edit')")
    @Log(title = "捐献基础", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @RepeatSubmit
@@ -174,7 +212,7 @@
     * 删除捐献基础
     */
    @ApiOperation("删除潜在捐献信息")
    //@PreAuthorize("@ss.hasPermi('project:donatebaseinfo:remove')")
    //// @PreAuthorize("@ss.hasPermi('project:donatebaseinfo:remove')")
    @Log(title = "捐献基础", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {