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