sinake
昨天 e64ef739c4cf4484c19f8da31773dd0e4611428a
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.project.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.ServiceDonateorgan;
import com.ruoyi.project.domain.vo.ServiceDonateorganBaseVO;
import com.ruoyi.project.domain.dto.DonateorganBaseInfoDTO;
import com.ruoyi.project.domain.vo.DonateorganBaseInfoVO;
import com.ruoyi.project.mapper.ServiceDonateorganMapper;
@@ -13,9 +19,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.ArrayList;
import java.util.Map;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.mapper.ServiceDonateorganBaseMapper;
@@ -127,4 +130,53 @@
        return this.list(wrappers);
    }
    @Override
    public long add(ServiceDonateorganBaseVO serviceDonateorganBaseVO) {
        ServiceDonateorganBase serviceDonateorganBase = DtoConversionUtils.sourceToTarget(serviceDonateorganBaseVO, ServiceDonateorganBase.class);
        boolean save = false;
        if (ObjectUtils.isNotEmpty(serviceDonateorganBase)) {
            save = save(serviceDonateorganBase);
            if (save == true && CollectionUtils.isNotEmpty(serviceDonateorganBaseVO.getServiceDonateorganList())) {
                for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganBaseVO.getServiceDonateorganList()) {
                    serviceDonateorgan.setBaseId(serviceDonateorganBase.getId());
                    serviceDonateorganMapper.insert(serviceDonateorgan);
                }
            }
        }
        return serviceDonateorganBase.getId();
    }
    @Override
    public Boolean updateByParam(ServiceDonateorganBaseVO serviceDonateorganBaseVO) {
        ServiceDonateorganBase serviceDonateorganBase = DtoConversionUtils.sourceToTarget(serviceDonateorganBaseVO, ServiceDonateorganBase.class);
        boolean b = false;
        if (ObjectUtils.isNotEmpty(serviceDonateorganBase)) {
            b = updateById(serviceDonateorganBase);
            if (b == true && CollectionUtils.isNotEmpty(serviceDonateorganBaseVO.getServiceDonateorganList())) {
                Map<String,Object> query=new HashMap<>();
                query.put("InfoID",serviceDonateorganBaseVO.getInfoid());
                List<ServiceDonateorgan> lists= serviceDonateorganMapper.selectByMap(query);
                for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganBaseVO.getServiceDonateorganList()) {
                    List<ServiceDonateorgan> temps=lists.stream().filter(row->row.getOrganno()==serviceDonateorgan.getOrganno())
                            .collect(Collectors.toList());
                    if(temps.size()>0&&ObjectUtils.isEmpty(serviceDonateorgan.getId())){
                        serviceDonateorgan.setId(temps.get(0).getId());
                    }
                    if(ObjectUtils.isNotEmpty(serviceDonateorgan.getId()) ) {
                        if(ObjectUtils.isNotEmpty(serviceDonateorgan.getDelFlag())&&serviceDonateorgan.getDelFlag()==1 ) {
                            serviceDonateorganMapper.deleteById(serviceDonateorgan.getId());
                        }else {
                            serviceDonateorganMapper.updateById(serviceDonateorgan);
                        }
                    }else {
                        serviceDonateorgan.setBaseId(serviceDonateorganBase.getId());
                        serviceDonateorganMapper.insert(serviceDonateorgan);
                    }
                }
            }
        }
        return b;
    }
}