liusheng
2024-02-01 a8b458570fea9039e464150da723b9415b95a64c
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
@@ -1,37 +1,32 @@
package com.ruoyi.web.controller.project;
import java.util.Arrays;
import java.util.List;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.DonateOrganVO;
import com.ruoyi.project.domain.vo.NumberOfOrgans;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.mapper.BaseOrganizationMapper;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
import com.ruoyi.project.service.IServiceOrganallocationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.NotRepeatCommit;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.project.service.IServiceDonateorganService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.ServiceDonatecomporgan;
import com.ruoyi.project.domain.ServiceDonateorgan;
import com.ruoyi.project.domain.ServiceDonateorganVO;
import com.ruoyi.project.domain.ServiceOrganallocation;
import com.ruoyi.project.domain.vo.DonateOrganVO;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.service.IServiceDonateorganService;
import com.ruoyi.project.service.IServiceOrganallocationService;
import io.swagger.annotations.Api;
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.util.Arrays;
import java.util.List;
/**
 * 捐献器官管理Controller
@@ -39,6 +34,7 @@
 * @author ruoyi
 * @date 2021-11-10
 */
@Slf4j
@Api("捐献器官管理")
@RestController
@RequestMapping("/project/donateorgan")
@@ -61,12 +57,12 @@
        List<ServiceDonateorgan> list = serviceDonateorganService.queryList(serviceDonateorgan);
        if (!CollectionUtils.isEmpty(list)) {
            List<ServiceDonateorganVO> serviceDonateorganVOS = DtoConversionUtils.sourceToTarget(list, ServiceDonateorganVO.class);
            for (ServiceDonateorganVO serviceDonateorganVO : serviceDonateorganVOS) {
                ServiceOrganallocation serviceOrganallocation = new ServiceOrganallocation();
                serviceOrganallocation.setOrganid(serviceDonateorganVO.getId());
                List<ServiceOrganallocation> serviceOrganallocations = serviceOrganallocationService.selectServiceOrganallocationList(serviceOrganallocation);
                serviceDonateorganVO.setServiceOrganallocations(serviceOrganallocations);
            }
//            for (ServiceDonateorganVO serviceDonateorganVO : serviceDonateorganVOS) {
//                ServiceOrganallocation serviceOrganallocation = new ServiceOrganallocation();
//                serviceOrganallocation.setOrganid(serviceDonateorganVO.getId());
//                List<ServiceOrganallocation> serviceOrganallocations = serviceOrganallocationService.selectServiceOrganallocationList(serviceOrganallocation);
//                serviceDonateorganVO.setServiceOrganallocations(serviceOrganallocations);
//            }
            return getDataTable(serviceDonateorganVOS);
        }
@@ -140,6 +136,19 @@
    public TableDataInfo addData(@RequestBody List<ServiceDonateorgan> serviceDonateorgans) {
        List<ServiceDonateorgan> serviceDonateorgans1 = serviceDonateorganService.saveData(serviceDonateorgans);
        return saveDataTable(serviceDonateorgans1);
    }
    /**
     * 修改器官分配
     */
    @ApiOperation("修改器官分配信息")
    //@PreAuthorize("@ss.hasPermi('project:organallocation:edit')")
    @Log(title = "器官分配", businessType = BusinessType.UPDATE)
    @PostMapping("/editarraydata")
    @RepeatSubmit
    public AjaxResult editArrayData(@RequestBody List<ServiceDonateorgan> serviceDonateorgans) {
        return AjaxResult.success(serviceDonateorganService.editArrayData(serviceDonateorgans));
    }
    /**
@@ -275,5 +284,24 @@
        return AjaxResult.success(serviceDonateorganService.getOrganCount(timeVO));
    }
    @RepeatSubmit
    @ApiOperation("新增或修改捐献器官管理")
    @Log(title = "捐献完成", businessType = BusinessType.UPDATE)
    @PostMapping("/saveOrUpdateDonateorgan")
    public AjaxResult saveOrUpdateDonateorgan(@RequestBody List<ServiceDonateorgan> serviceDonateorganList) {
        if (CollectionUtils.isEmpty(serviceDonateorganList)) {
            throw new BaseException("请检查需要新增或修改的捐献器官管理参数是否完整");
        }
        Boolean i = null;
        for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganList) {
            log.info("捐献器官移植id是否为空 : {},基础表的id为 : {}", serviceDonateorgan.getId(), serviceDonateorgan.getInfoid());
            if (serviceDonateorgan.getId() == null) {
                i = serviceDonateorganService.save(serviceDonateorgan);
            } else {
                i = serviceDonateorganService.updateById(serviceDonateorgan);
            }
        }
        return toAjax(i);
    }
}