sinake
3 天以前 e0bbd21f56757c35dc067eaa8bc67057b65fead4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
@@ -1,5 +1,6 @@
package com.ruoyi.web.controller.project;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
@@ -7,16 +8,18 @@
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.StringUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
import com.ruoyi.project.domain.ServiceDonatecomporgan;
import com.ruoyi.project.domain.ServiceDonorchargeorgan;
import com.ruoyi.project.service.IServiceDonatecomporganService;
import com.ruoyi.project.service.IServiceDonorchargeorganService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
@@ -35,12 +38,14 @@
public class ServiceDonatecomporganController extends BaseController {
    @Autowired
    private IServiceDonatecomporganService serviceDonatecomporganService;
    @Autowired
    private IServiceDonorchargeorganService serviceDonorchargeorganService;
    /**
     * 查询捐献器官移植列表
     */
    @ApiOperation("查询捐献器官移植列表")
    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:list')")
    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceDonatecomporgan serviceDonatecomporgan) {
        startPage();
@@ -52,7 +57,7 @@
     * 导出捐献器官移植列表
     */
    @ApiOperation("导出捐献器官移植列表")
    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:export')")
    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:export')")
    @Log(title = "捐献器官移植", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceDonatecomporgan serviceDonatecomporgan) {
@@ -65,7 +70,7 @@
     * 获取捐献器官移植详细信息
     */
    @ApiOperation("获取捐献器官移植详细信息")
    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:query')")
    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceDonatecomporganService.getById(id));
@@ -75,54 +80,103 @@
     * 新增捐献器官移植
     */
    @ApiOperation("新增捐献器官移植")
    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:add')")
    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:add')")
    @Log(title = "捐献器官移植", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceDonatecomporgan serviceDonatecomporgan) {
        return toAjax(serviceDonatecomporganService.save(serviceDonatecomporgan));
        boolean save = serviceDonatecomporganService.save(serviceDonatecomporgan);
        if(save){
            ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonatecomporgan, ServiceDonorchargeorgan.class);
            serviceDonorchargeorgan.setReceiveTime(serviceDonatecomporgan.getTransplanttime());
            serviceDonorchargeorganService.save(serviceDonorchargeorgan);
        }
        return AjaxResult.success(serviceDonatecomporgan);
    }
    /**
     * 修改捐献器官移植
     */
    @ApiOperation("修改捐献器官移植")
    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:edit')")
    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:edit')")
    @Log(title = "捐献器官移植", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceDonatecomporgan serviceDonatecomporgan) {
        return toAjax(serviceDonatecomporganService.updateById(serviceDonatecomporgan));
        boolean result=serviceDonatecomporganService.updateById(serviceDonatecomporgan);
        if(result){
            ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonatecomporgan, ServiceDonorchargeorgan.class);
            serviceDonorchargeorgan.setReceiveTime(serviceDonatecomporgan.getTransplanttime());
            QueryWrapper<ServiceDonorchargeorgan> queryWrapper=new QueryWrapper();
            queryWrapper.eq("InfoID",serviceDonorchargeorgan.getInfoid())
                    .eq("OrganNo",serviceDonorchargeorgan.getOrganno());
            List<ServiceDonorchargeorgan> lists= serviceDonorchargeorganService.list(queryWrapper);
            if(lists.size()>0) {
                serviceDonorchargeorgan.setId(lists.get(0).getId());
                serviceDonorchargeorganService.updateById(serviceDonorchargeorgan);
            }
        }
        return toAjax(result);
    }
    /**
     * 删除捐献器官移植
     */
    @ApiOperation("删除捐献器官移植")
    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:remove')")
    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:remove')")
    @Log(title = "捐献器官移植", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceDonatecomporganService.removeByIds(Arrays.asList(ids)));
        List<ServiceDonatecomporgan> donatecomporgans = serviceDonatecomporganService.listByIds(Arrays.asList(ids));
        boolean result=serviceDonatecomporganService.removeByIds(Arrays.asList(ids));
        if(result){
            for (ServiceDonatecomporgan donatecomporgan : donatecomporgans) {
                if (donatecomporgan.getInfoid() == null || StringUtils.isBlank(donatecomporgan.getOrganno())) {
                    continue;
                }
                QueryWrapper<ServiceDonorchargeorgan> queryWrapper = new QueryWrapper<>();
                queryWrapper.eq("InfoID", donatecomporgan.getInfoid())
                        .eq("OrganNo", donatecomporgan.getOrganno());
                serviceDonorchargeorganService.remove(queryWrapper);
            }
        }
        return toAjax(result);
    }
    @RepeatSubmit
    @ApiOperation("新增或修改捐献器官移植")
    @Log(title = "捐献完成", businessType = BusinessType.UPDATE)
    @PostMapping("/saveOrUpdateDonatecomporgan")
    public AjaxResult saveOrUpdateDonatecomporgan(@RequestBody List<ServiceDonatecomporgan> serviceDonatecomporganList) {
        if (CollectionUtils.isNotEmpty(serviceDonatecomporganList)) {
        if (CollectionUtils.isEmpty(serviceDonatecomporganList)) {
            throw new BaseException("请检查需要新增或修改的参数是否完整");
        }
        Boolean i = null;
        for (ServiceDonatecomporgan serviceDonatecompletion : serviceDonatecomporganList) {
            log.info("捐献器官移植id是否为空 : {},基础表的id为 : {}", serviceDonatecompletion.getId(), serviceDonatecompletion.getInfoid());
            if (serviceDonatecompletion.getId() == null) {
            ServiceDonatecomporgan sd = new ServiceDonatecomporgan();
            sd.setInfoid(serviceDonatecompletion.getInfoid());
            sd.setOrganno(serviceDonatecompletion.getOrganno());
            sd.setDel_flag(0);
            ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonatecompletion, ServiceDonorchargeorgan.class);
            serviceDonorchargeorgan.setReceiveTime(serviceDonatecompletion.getTransplanttime());
            List<ServiceDonatecomporgan> serviceDonatecomporgans = serviceDonatecomporganService.queryList(sd);
            if (serviceDonatecompletion.getId() == null && CollectionUtils.isEmpty(serviceDonatecomporgans)) {
                i = serviceDonatecomporganService.save(serviceDonatecompletion);
            } else {
                serviceDonatecompletion.setId(serviceDonatecomporgans.get(0).getId());
                i = serviceDonatecomporganService.updateById(serviceDonatecompletion);
            }
            if (i) {
                QueryWrapper<ServiceDonorchargeorgan> queryWrapper = new QueryWrapper();
                queryWrapper.eq("InfoID", serviceDonorchargeorgan.getInfoid())
                        .eq("OrganNo", serviceDonorchargeorgan.getOrganno());
                List<ServiceDonorchargeorgan> lists = serviceDonorchargeorganService.list(queryWrapper);
                if (lists.size() > 0) {
                    serviceDonorchargeorgan.setId(lists.get(0).getId());
                    serviceDonorchargeorganService.updateById(serviceDonorchargeorgan);
                }else{
                    serviceDonorchargeorganService.save(serviceDonorchargeorgan);
                }
            }
        }
        return toAjax(i);
    }