yxh
昨天 8c215c8be0f5076e8c95daf1b2203440ca7dfcad
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,9 +8,13 @@
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.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;
@@ -33,6 +38,8 @@
public class ServiceDonatecomporganController extends BaseController {
    @Autowired
    private IServiceDonatecomporganService serviceDonatecomporganService;
    @Autowired
    private IServiceDonorchargeorganService serviceDonorchargeorganService;
    /**
     * 查询捐献器官移植列表
@@ -79,6 +86,11 @@
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceDonatecomporgan 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);
    }
@@ -91,7 +103,20 @@
    @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);
    }
    /**
@@ -102,7 +127,20 @@
    @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);
    }
    @ApiOperation("新增或修改捐献器官移植")
@@ -118,6 +156,8 @@
            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);
@@ -125,7 +165,20 @@
                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);
        // 回传带主键的列表,便于前端回填 id
        return AjaxResult.success(serviceDonatecomporganList);
    }
}