liusheng
2025-11-04 b1ffaa0bfbe610b16b64966965fe13b7e2a57d93
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java
@@ -1,13 +1,24 @@
package com.ruoyi.web.controller.project;
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;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@@ -28,26 +39,28 @@
/**
 * 医学评估Controller
 *
 *
 * @author ruoyi
 * @date 2021-11-19
 */
@Slf4j
@Api("医疗评估管理")
@RestController
@RequestMapping("/project/medicalevaluation")
public class ServiceMedicalevaluationController extends BaseController
{
public class ServiceMedicalevaluationController extends BaseController {
    @Autowired
    private IServiceMedicalevaluationService serviceMedicalevaluationService;
    @Autowired
    private IServiceDonationwitnessService serviceDonationwitnessService;
    /**
     * 查询医学评估列表
     */
    @ApiOperation("获取医疗评估列表")
    //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:list')")
    //// @PreAuthorize("@ss.hasPermi('project:medicalevaluation:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceMedicalevaluation serviceMedicalevaluation)
    {
    public TableDataInfo list(ServiceMedicalevaluation serviceMedicalevaluation) {
        startPage();
        List<ServiceMedicalevaluation> list = serviceMedicalevaluationService.queryList(serviceMedicalevaluation);
        return getDataTable(list);
@@ -55,9 +68,34 @@
    @ApiOperation("获取医疗评估列表新")
    @GetMapping("/listnew")
    public TableDataInfo listnew(MedicalEvaluationVO medicalEvaluationVO){
    public TableDataInfo listnew(MedicalEvaluationVO medicalEvaluationVO) {
        startPage();
        List<MedicalEvaluationVO> list = serviceMedicalevaluationService.selectVOList(medicalEvaluationVO);
        for (MedicalEvaluationVO medicalEvaluationVO1 : list) {
            //先给个年龄默认值(因为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);
    }
@@ -65,11 +103,10 @@
     * 导出医学评估列表
     */
    @ApiOperation("导出医疗评估列表")
    //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:export')")
    //// @PreAuthorize("@ss.hasPermi('project:medicalevaluation:export')")
    @Log(title = "医学评估", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceMedicalevaluation serviceMedicalevaluation)
    {
    public AjaxResult export(ServiceMedicalevaluation serviceMedicalevaluation) {
        List<ServiceMedicalevaluation> list = serviceMedicalevaluationService.queryList(serviceMedicalevaluation);
        ExcelUtil<ServiceMedicalevaluation> util = new ExcelUtil<ServiceMedicalevaluation>(ServiceMedicalevaluation.class);
        return util.exportExcel(list, "医学评估数据");
@@ -79,10 +116,9 @@
     * 获取医学评估详细信息
     */
    @ApiOperation("通过id获取医疗评估信息")
    //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:query')")
    //// @PreAuthorize("@ss.hasPermi('project:medicalevaluation:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceMedicalevaluationService.getById(id));
    }
@@ -90,25 +126,29 @@
     * 新增医学评估
     */
    @ApiOperation("新增医学评估")
    //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:add')")
    //// @PreAuthorize("@ss.hasPermi('project:medicalevaluation:add')")
    @Log(title = "医学评估", businessType = BusinessType.INSERT)
    @PostMapping
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceMedicalevaluation serviceMedicalevaluation)
    {
        return toAjax(serviceMedicalevaluationService.save(serviceMedicalevaluation));
    @PostMapping("/add")
//    @NotRepeatCommit(key = "param:arg[1]", value = 30000)
    public AjaxResult add(@RequestBody ServiceMedicalevaluation serviceMedicalevaluation) {
        boolean save = serviceMedicalevaluationService.save(serviceMedicalevaluation);
        return AjaxResult.success(serviceMedicalevaluation);
    }
    /**
     * 修改医学评估
     */
    @ApiOperation("修改医学评估")
    //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:edit')")
    //// @PreAuthorize("@ss.hasPermi('project:medicalevaluation:edit')")
    @Log(title = "医学评估", businessType = BusinessType.UPDATE)
    @PutMapping
    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceMedicalevaluation serviceMedicalevaluation)
    {
    @PostMapping("/edit")
//    @NotRepeatCommit(key = "param:arg[1]", value = 30000)
    public AjaxResult edit(@RequestBody ServiceMedicalevaluation serviceMedicalevaluation) {
        List<ServiceMedicalevaluation> list = serviceMedicalevaluationService.queryList(serviceMedicalevaluation);
        if (CollectionUtils.isEmpty(list)) {
            return error("医学评估数据不存在,请检查后再次修改");
        }
        serviceMedicalevaluation.setId(list.get(0).getId());
        return toAjax(serviceMedicalevaluationService.updateById(serviceMedicalevaluation));
    }
@@ -116,11 +156,10 @@
     * 删除医学评估
     */
    @ApiOperation("删除医学评估")
    //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:remove')")
    //// @PreAuthorize("@ss.hasPermi('project:medicalevaluation:remove')")
    @Log(title = "医学评估", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceMedicalevaluationService.removeByIds(Arrays.asList(ids)));
    }
}