From a27162cb82ef0cabf9b43cbfd1f3eb8c177d1e14 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期一, 13 一月 2025 15:22:44 +0800 Subject: [PATCH] 修改问题 --- src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndTypeServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndTypeServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndTypeServiceImpl.java new file mode 100644 index 0000000..7b31793 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndTypeServiceImpl.java @@ -0,0 +1,85 @@ +package com.gkhy.labRiskManage.domain.experiment.service.impl; + +import com.gkhy.labRiskManage.commons.enums.ResultCode; +import com.gkhy.labRiskManage.commons.enums.StatusEnum; +import com.gkhy.labRiskManage.commons.exception.BusinessException; +import com.gkhy.labRiskManage.domain.basic.model.dto.SiteQueryDTO; +import com.gkhy.labRiskManage.domain.basic.model.dto.TypeListDTO; +import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentDeviceTypeService; +import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentSiteService; +import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentTypeService; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndSite; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType; +import com.gkhy.labRiskManage.domain.experiment.repository.jpa.ExperimentAndSiteRepository; +import com.gkhy.labRiskManage.domain.experiment.repository.jpa.ExperimentAndTypeRepository; +import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAndTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @email 1603559716@qq.com + * @author: zf + * @date: 2023/3/20 + * @time: 16:01 + */ +@Service +public class ExperimentAndTypeServiceImpl implements ExperimentAndTypeService { + @Autowired + private BasicExperimentTypeService basicExperimentTypeService; + + @Autowired + private ExperimentAndTypeRepository repository; + + @Override + public boolean saveBatch(Long currentUserId, List<Long> typeIds, Long experimentId) { + boolean flag = false; + if(CollectionUtils.isEmpty(typeIds)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"请选择实验类型!"); + } + if(ObjectUtils.isEmpty(experimentId)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"实验信息主键不可为空!"); + } + List<TypeListDTO> basicExperimentTypeByIdList = basicExperimentTypeService.getBasicExperimentTypeByIdList(typeIds); + for(Long typeId : typeIds){ + List<TypeListDTO> collect = basicExperimentTypeByIdList.stream().filter(site -> site.getId().equals(typeId)).collect(Collectors.toList()); + if(collect.size() == 0){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_DATA_NOT_EXISIST.getCode(),"实验类型信息不存在!"); + } + } + + List<ExperimentAndType> typeList = new ArrayList<>(); + typeIds.forEach(e ->{ + ExperimentAndType experimentAndType = new ExperimentAndType(); + experimentAndType.setExperimentId(experimentId); + experimentAndType.setTypeId(e); + experimentAndType.setDeleteStatus(StatusEnum.DELETE_NOT.getCode().byteValue()); + typeList.add(experimentAndType); + }); + + List<ExperimentAndType> experimentAndTypeList = repository.saveAll(typeList); + if(!CollectionUtils.isEmpty(experimentAndTypeList)){ + flag = true; + } + return flag; + } + + @Override + public void deleteByExperimentId(Long id) { + if(ObjectUtils.isEmpty(id)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"实验主键不可为空!"); + } + repository.deleteByExperimentId(id); + } + + @Override + public List<ExperimentAndType> getByExperimentId(Long id) { + List<ExperimentAndType> experimentAndTypeList = repository.getByExperimentId(id); + return experimentAndTypeList; + } +} -- Gitblit v1.9.2