liusheng
2026-03-13 2359f47c2f89a9867e72aa9b171cb118b874afec
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java
@@ -10,6 +10,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
import com.ruoyi.project.domain.vo.ServiceDonationwitnessVO;
import com.ruoyi.project.domain.ServiceDonationwitnessorgan;
import com.ruoyi.project.domain.vo.DonationwitnessBaseInfoVO;
@@ -105,13 +106,33 @@
    public Boolean edit(ServiceDonationwitnessVO serviceDonationwitnessVO) {
        ServiceDonationwitness serviceDonationwitness = DtoConversionUtils.sourceToTarget(serviceDonationwitnessVO, ServiceDonationwitness.class);
        boolean update = false;
        if (ObjectUtils.isNotEmpty(serviceDonationwitness)) {
        if (serviceDonationwitness.getDelFlag() != null && serviceDonationwitness.getDelFlag() == 1) {
            update = removeById(serviceDonationwitness);
        } else {
            update = updateById(serviceDonationwitness);
        }
        if (ObjectUtils.isNotEmpty(serviceDonationwitnessVO.getServiceDonationwitnessorganList())) {
        if (update && !CollectionUtils.isEmpty(serviceDonationwitnessVO.getServiceDonationwitnessorganList())) {
            for (ServiceDonationwitnessorgan serviceDonationwitnessorgan : serviceDonationwitnessVO.getServiceDonationwitnessorganList()) {
                serviceDonationwitnessorganMapper.updateById(serviceDonationwitnessorgan);
                // 如果父节点被删除,子节点也要全删除
                if (serviceDonationwitness.getDelFlag() != null && serviceDonationwitness.getDelFlag() == 1) {
                    serviceDonationwitnessorgan.setDelFlag(1);
                }
                //判断删除还是修改
                if (serviceDonationwitnessorgan.getDelFlag() != null && serviceDonationwitnessorgan.getDelFlag() == 1) {
                    serviceDonationwitnessorganMapper.deleteById(serviceDonationwitnessorgan.getId());
                } else {
                    serviceDonationwitnessorganMapper.updateById(serviceDonationwitnessorgan);
                }
                //如果ID为空,则是新增
                if (serviceDonationwitnessorgan.getId() == null) {
                    serviceDonationwitnessorgan.setInfoid(serviceDonationwitness.getInfoid());
                    serviceDonationwitnessorgan.setDonationwitnessId(serviceDonationwitness.getId());
                    serviceDonationwitnessorganMapper.insert(serviceDonationwitnessorgan);
                }
            }
        }