From 37b0d2560607d1e0bfd5247a59a154704cac60f8 Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: Thu, 07 Nov 2024 09:17:43 +0800
Subject: [PATCH] 修改暂存和详情暂时及列表数据处理
---
src/main/java/com/gkhy/labRiskManage/application/experiment/dto/dto/ExperimentInfoAppQueryDTO.java | 29 +
src/main/java/com/gkhy/labRiskManage/domain/experiment/converter/ExperimentInfoDomainConverter.java | 15 +
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndSite.java | 2
src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentInfoRespDTO.java | 11
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndEmergency.java | 2
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentHazardousWaste.java | 2
src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentTypeServiceImpl.java | 19 +
pom.xml | 5
src/main/java/com/gkhy/labRiskManage/application/experiment/service/ExperimentAppService.java | 5
src/main/java/com/gkhy/labRiskManage/application/experiment/service/impl/ExperimentAppServiceImpl.java | 161 ++++++++++
src/main/resources/config/redisson-dev.yml | 5
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndType.java | 43 +++
src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentAndTypeInsertReqBO.java | 20 +
src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentInsertReqBO.java | 13
src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAndTypeService.java | 20 +
src/main/java/com/gkhy/labRiskManage/domain/riskReport/entity/RiskAssessPlan.java | 2
src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentInfoDTO.java | 7
src/main/java/com/gkhy/labRiskManage/api/controller/experiment/ExperimentInfoController.java | 19 +
src/main/resources/config/application.yaml | 2
src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/BasicExperimentTypeRepository.java | 6
src/main/java/com/gkhy/labRiskManage/config/serializa/JacksonConfiguration.java | 2
src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndTypeServiceImpl.java | 85 ++++++
src/main/java/com/gkhy/labRiskManage/api/controller/experiment/converter/ExperimentApiConverter.java | 6
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndDevice.java | 2
src/main/java/com/gkhy/labRiskManage/application/experiment/dto/bo/ExperimentAppInsertBO.java | 3
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndPerson.java | 2
src/main/resources/config/application-dev.yaml | 12
src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndEmergencyServiceImpl.java | 2
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndStuff.java | 2
src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentInfoService.java | 5
src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentAndTypeRespDTO.java | 20 +
src/main/java/com/gkhy/labRiskManage/commons/utils/BeanCopyUtils.java | 15 +
src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentAndTypeDTO.java | 18 +
src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java | 142 +++++++---
src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentInfo.java | 9
src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAndTypeRepository.java | 27 +
src/main/java/com/gkhy/labRiskManage/domain/basic/service/BasicExperimentTypeService.java | 5
src/main/java/com/gkhy/labRiskManage/domain/experiment/enums/ExperimentStagingEnum.java | 62 ++++
38 files changed, 743 insertions(+), 64 deletions(-)
diff --git a/pom.xml b/pom.xml
index 0f925bb..a56997b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,6 +65,11 @@
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>fastjson</artifactId>
+ <version>1.2.83</version>
+ </dependency>
<!-- <dependency>-->
<!-- <groupId>com.baomidou</groupId>-->
<!-- <artifactId>mybatis-plus-boot-starter</artifactId>-->
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/ExperimentInfoController.java b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/ExperimentInfoController.java
index d9f28ad..24830b9 100644
--- a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/ExperimentInfoController.java
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/ExperimentInfoController.java
@@ -51,6 +51,16 @@
experimentAppService.save(getCurrentUserId(),experimentInsertReqBO);
return result;
}
+
+ @PostMapping(value = "/temporary")
+ public Result temporary(@RequestBody ExperimentInsertReqBO experimentInsertReqBO){
+ Result result = new Result();
+ result.setCode(ResultCode.OK);
+ result.setMsg("暂存成功");
+ experimentAppService.temporary(getCurrentUserId(),experimentInsertReqBO);
+ return result;
+ }
+
/**
* 录入信息
* @param experimentInsertReqBO
@@ -65,6 +75,15 @@
return result;
}
+ @PostMapping(value = "develop/temporary")
+ public Result developTemporary(@RequestBody ExperimentInsertReqBO experimentInsertReqBO){
+ Result result = new Result();
+ result.setCode(ResultCode.OK);
+ result.setMsg("暂存成功");
+ experimentAppService.developTemporary(getCurrentUserId(),experimentInsertReqBO);
+ return result;
+ }
+
@PostMapping(value = "rectify/save")
public Result rectifySave(@RequestBody ExperimentInsertReqBO experimentInsertReqBO){
Result result = new Result();
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/converter/ExperimentApiConverter.java b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/converter/ExperimentApiConverter.java
index 4862bf5..6046455 100644
--- a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/converter/ExperimentApiConverter.java
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/converter/ExperimentApiConverter.java
@@ -30,6 +30,12 @@
for (ExperimentInfoAppQueryDTO experimentInfoAppQueryDTO:experimentInfoAppQueryDTOList){
ExperimentInfoRespDTO experimentInfoRespDTO = new ExperimentInfoRespDTO();
BeanUtils.copyProperties(experimentInfoAppQueryDTO,experimentInfoRespDTO);
+ //实验类型
+ List<ExperimentAndTypeRespDTO> typeRespDTOs = new ArrayList<>();
+ if(!ObjectUtils.isEmpty(experimentInfoAppQueryDTO.getTypes())){
+ typeRespDTOs = BeanCopyUtils.copyBeanList(experimentInfoAppQueryDTO.getTypes(),ExperimentAndTypeRespDTO.class);
+ }
+ experimentInfoRespDTO.setTypeList(typeRespDTOs);
//实验场所
List<ExperimentAndSiteRespDTO> siteRespDTOs = new ArrayList<>();
if(!ObjectUtils.isEmpty(experimentInfoAppQueryDTO.getSites())){
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentAndTypeInsertReqBO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentAndTypeInsertReqBO.java
new file mode 100644
index 0000000..c33cdc8
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentAndTypeInsertReqBO.java
@@ -0,0 +1,20 @@
+package com.gkhy.labRiskManage.api.controller.experiment.dto.req;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/3/20
+ * @time: 14:54
+ */
+@Data
+public class ExperimentAndTypeInsertReqBO {
+
+ private Long typeId;
+ /**
+ * 类型名称
+ */
+ private String typeName;
+
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentInsertReqBO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentInsertReqBO.java
index 393ba27..0ee9811 100644
--- a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentInsertReqBO.java
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/req/ExperimentInsertReqBO.java
@@ -29,7 +29,6 @@
*/
private Long liabilityUserId;
private String liabilityUserPhone;
-
/**
* 安全负责人id
*/
@@ -135,6 +134,10 @@
* 措施
*/
private String measure;
+ /**
+ * 暂存保存:1-保存;2-暂存
+ */
+ private Byte stagingTag;
/**
* 危废情况
@@ -160,8 +163,16 @@
private List<ExperimentAndSiteInsertReqBO> siteList;
+
+ /**
+ * 实验类型
+ */
+
+ private List<ExperimentAndTypeInsertReqBO> typeList;
+
/**
* 演练情况
*/
private List<ExperimentAndEmergencyInsertReqBO> emergencyList;
+
}
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentAndTypeRespDTO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentAndTypeRespDTO.java
new file mode 100644
index 0000000..28d7efb
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentAndTypeRespDTO.java
@@ -0,0 +1,20 @@
+package com.gkhy.labRiskManage.api.controller.experiment.dto.resp;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2022/12/28
+ * @time: 15:24
+ */
+@Data
+public class ExperimentAndTypeRespDTO {
+ private Long typeId;
+ /**
+ * 类型名称
+ */
+ private String typeName;
+
+
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentInfoRespDTO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentInfoRespDTO.java
index 84ade6d..44859c4 100644
--- a/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentInfoRespDTO.java
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentInfoRespDTO.java
@@ -31,6 +31,10 @@
*/
private Byte experimentType;
/**
+ * 实验类型名称
+ */
+ private String experimentTypeName;
+ /**
* 实验负责人id
*/
private Long liabilityUserId;
@@ -202,6 +206,13 @@
*/
private String assessPerson;
+ /**
+ * 暂存保存:1-保存;2-暂存
+ */
+ private Byte stagingTag;
+
+ private List<ExperimentAndTypeRespDTO> typeList;
+
private List<ExperimentAndSiteRespDTO> siteList;
private List<ExperimentAndPersonRespDTO> persons;
diff --git a/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/bo/ExperimentAppInsertBO.java b/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/bo/ExperimentAppInsertBO.java
index c851118..75df63d 100644
--- a/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/bo/ExperimentAppInsertBO.java
+++ b/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/bo/ExperimentAppInsertBO.java
@@ -16,6 +16,9 @@
*/
@Data
public class ExperimentAppInsertBO {
+
+ private Long id;
+
/**
* 实验名称
*/
diff --git a/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/dto/ExperimentInfoAppQueryDTO.java b/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/dto/ExperimentInfoAppQueryDTO.java
index af88864..0fac529 100644
--- a/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/dto/ExperimentInfoAppQueryDTO.java
+++ b/src/main/java/com/gkhy/labRiskManage/application/experiment/dto/dto/ExperimentInfoAppQueryDTO.java
@@ -2,9 +2,15 @@
import com.gkhy.labRiskManage.api.controller.experiment.dto.resp.ExperimentAndEmergencyRespDTO;
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType;
import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog;
+import com.gkhy.labRiskManage.domain.experiment.model.dto.ExperimentAndTypeDTO;
import lombok.Data;
+import javax.persistence.CascadeType;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
import java.time.LocalDateTime;
import java.util.List;
@@ -30,6 +36,10 @@
* 实验类型:1-化学类;2-生物类;3-辐射类;4-机电类;5-特种设备类;6-其它类
*/
private Byte experimentType;
+ /**
+ * 实验类型名称
+ */
+ private String experimentTypeName;
/**
* 实验负责人id
*/
@@ -204,12 +214,25 @@
* 填报人
*/
private String assessPerson;
+ /**
+ * 暂存保存:1-保存;2-暂存
+ */
+ private Byte stagingTag;
+
+
+ private List<ExperimentAndTypeDTO> types;
+
+ private List<ExperimentAndSiteAppQueryDTO> sites;
+
+ private List<ExperimentAndDeviceAppQueryDTO> devices;
private List<ExperimentAndPersonAppQueryDTO> persons;
- private List<ExperimentAndDeviceAppQueryDTO> devices;
- private List<ExperimentAndStuffAppQueryDTO> stuffs;
+
private List<ExperimentHazardousWasteAppQueryDTO> wastes;
- private List<ExperimentAndSiteAppQueryDTO> sites;
+
+ private List<ExperimentAndStuffAppQueryDTO> stuffs;
+
+
/**
* 演练情况
*/
diff --git a/src/main/java/com/gkhy/labRiskManage/application/experiment/service/ExperimentAppService.java b/src/main/java/com/gkhy/labRiskManage/application/experiment/service/ExperimentAppService.java
index 2a75299..c0c18fa 100644
--- a/src/main/java/com/gkhy/labRiskManage/application/experiment/service/ExperimentAppService.java
+++ b/src/main/java/com/gkhy/labRiskManage/application/experiment/service/ExperimentAppService.java
@@ -12,8 +12,13 @@
public interface ExperimentAppService {
int save(Long currentUserId, ExperimentInsertReqBO experimentAppInsertBO);
+
+ int temporary(Long currentUserId, ExperimentInsertReqBO experimentAppInsertBO);
+
int developSave(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO);
+ int developTemporary(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO);
+
int deleteById(Long id, Long currentUserId);
int updateDevelop(Long currentUserId, List<ExperimentAppDevelopUpdateBO> appDevelopUpdateBOList);
diff --git a/src/main/java/com/gkhy/labRiskManage/application/experiment/service/impl/ExperimentAppServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/application/experiment/service/impl/ExperimentAppServiceImpl.java
index 02e1d60..548068d 100644
--- a/src/main/java/com/gkhy/labRiskManage/application/experiment/service/impl/ExperimentAppServiceImpl.java
+++ b/src/main/java/com/gkhy/labRiskManage/application/experiment/service/impl/ExperimentAppServiceImpl.java
@@ -13,13 +13,12 @@
import com.gkhy.labRiskManage.commons.exception.BusinessException;
import com.gkhy.labRiskManage.commons.model.PageQuery;
import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils;
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType;
import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog;
import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentInfo;
-import com.gkhy.labRiskManage.domain.experiment.enums.ExperimentStatusEnum;
-import com.gkhy.labRiskManage.domain.experiment.enums.ExperimentTagEnum;
+import com.gkhy.labRiskManage.domain.experiment.enums.*;
import com.gkhy.labRiskManage.domain.experiment.model.bo.*;
-import com.gkhy.labRiskManage.domain.experiment.enums.HazardousWasteEnum;
-import com.gkhy.labRiskManage.domain.experiment.enums.TimeoutEnum;
+import com.gkhy.labRiskManage.domain.experiment.model.dto.ExperimentAndTypeDTO;
import com.gkhy.labRiskManage.domain.experiment.model.dto.ExperimentInfoDTO;
import com.gkhy.labRiskManage.domain.experiment.service.*;
import com.gkhy.labRiskManage.domain.riskReport.entity.ReportRiskAssessInfo;
@@ -57,6 +56,8 @@
private ExperimentAppConverter experimentAppConverter;
@Autowired
private ExperimentAssessLogService experimentAssessLogService;
+ @Autowired
+ private ExperimentAndTypeService experimentAndTypeService;
@Transactional
@Override
public int save(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO) {
@@ -80,9 +81,14 @@
if(!CollectionUtils.isEmpty(experimentInsertReqBO.getSiteList())){
siteIds = experimentInsertReqBO.getSiteList().stream().map(ExperimentAndSiteInsertReqBO::getSiteId).collect(Collectors.toList());
}
+ //实验类型中间表
+ List<Long> typeIds = new ArrayList<>();
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getTypeList())){
+ typeIds = experimentInsertReqBO.getTypeList().stream().map(ExperimentAndTypeInsertReqBO::getTypeId).collect(Collectors.toList());
+ }
//危废中间表
List<ExperimentHazardousWasteAppInsertBO> hazardousWasteInsertBOList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(experimentAppInsertBO.getHazardousWasteList())){
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getHazardousWasteList())){
hazardousWasteInsertBOList = experimentAppConverter.getHazardousWasteInsertBOList(experimentInsertReqBO.getHazardousWasteList(),experimentInfoDTO.getId());
}
//应急演练
@@ -90,10 +96,14 @@
if(!CollectionUtils.isEmpty(experimentInsertReqBO.getEmergencyList())){
experimentAndEmergencyAppInsertBOList = experimentAppConverter.getExperimentAndEmergencyAppInsertBOList(experimentInsertReqBO.getEmergencyList(), experimentInfoDTO.getId());
}
+ // 暂存清空了之前绑定数据
+ dealDelete(experimentInfoDTO.getId(),currentUserId);
+
experimentAndDeviceService.saveBatch(currentUserId,deviceAppInsertBOList);
experimentAndStuffService.saveBatch(currentUserId,stuffInsertBOList);
experimentAndPersonService.saveBatch(currentUserId,personIds,experimentInfoDTO.getId());
experimentAndSiteService.saveBatch(currentUserId, siteIds, experimentInfoDTO.getId());
+ experimentAndTypeService.saveBatch(currentUserId, typeIds, experimentInfoDTO.getId());
experimentHazardousWasteService.saveBatch(currentUserId,hazardousWasteInsertBOList);
experimentAndEmergencyService.saveBatch(currentUserId,experimentAndEmergencyAppInsertBOList);
Integer code = StatusEnum.SUCCESS.getCode();
@@ -102,6 +112,31 @@
}
return code;
}
+
+ @Override
+ @Transactional
+ public int temporary(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO) {
+
+// if(ExperimentStagingEnum.SAVE.getValue().equals(experimentInsertReqBO.getStagingTag())){
+// throw new BusinessException(this.getClass(),ResultCode.PARAM_ERROR_NULL.getCode(),"已保存数据不可操作暂存!");
+// }
+
+ //实验基础信息
+ ExperimentAppInsertBO experimentAppInsertBO = new ExperimentAppInsertBO();
+ BeanUtils.copyProperties(experimentInsertReqBO,experimentAppInsertBO);
+ ExperimentInfoDTO experimentInfoDTO = experimentInfoService.temporary(currentUserId,experimentAppInsertBO);
+
+ //删除业务数据
+ dealDelete(experimentInfoDTO.getId(),currentUserId);
+ temporary(currentUserId,experimentInsertReqBO,experimentInfoDTO.getId(),experimentAppInsertBO);
+
+ Integer code = StatusEnum.SUCCESS.getCode();
+ if(ObjectUtils.isEmpty(experimentInfoDTO)){
+ code = StatusEnum.FAIL.getCode();
+ }
+ return code;
+ }
+
@Transactional
@Override
public int developSave(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO) {
@@ -126,7 +161,7 @@
}
//危废中间表
List<ExperimentHazardousWasteAppInsertBO> hazardousWasteInsertBOList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(experimentAppInsertBO.getHazardousWasteList())){
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getHazardousWasteList())){
hazardousWasteInsertBOList = experimentAppConverter.getHazardousWasteInsertBOList(experimentInsertReqBO.getHazardousWasteList(),experimentInfoDTO.getId());
}
//应急演练
@@ -134,11 +169,20 @@
if(!CollectionUtils.isEmpty(experimentInsertReqBO.getEmergencyList())){
experimentAndEmergencyAppInsertBOList = experimentAppConverter.getExperimentAndEmergencyAppInsertBOList(experimentInsertReqBO.getEmergencyList(), experimentInfoDTO.getId());
}
+ //实验类型中间表
+ List<Long> typeIds = new ArrayList<>();
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getTypeList())){
+ typeIds = experimentInsertReqBO.getTypeList().stream().map(ExperimentAndTypeInsertReqBO::getTypeId).collect(Collectors.toList());
+ }
+
+ // 暂存清空了之前绑定数据
+ dealDelete(experimentInfoDTO.getId(),currentUserId);
experimentAndDeviceService.saveBatch(currentUserId,deviceAppInsertBOList);
experimentAndStuffService.saveBatch(currentUserId,stuffInsertBOList);
experimentAndPersonService.saveBatch(currentUserId,personIds,experimentInfoDTO.getId());
experimentAndSiteService.saveBatch(currentUserId, siteIds, experimentInfoDTO.getId());
+ experimentAndTypeService.saveBatch(currentUserId, typeIds, experimentInfoDTO.getId());
experimentHazardousWasteService.saveBatch(currentUserId,hazardousWasteInsertBOList);
experimentAndEmergencyService.saveBatch(currentUserId,experimentAndEmergencyAppInsertBOList);
Integer code = StatusEnum.SUCCESS.getCode();
@@ -146,6 +190,88 @@
code = StatusEnum.FAIL.getCode();
}
return code;
+ }
+
+ @Override
+ @Transactional
+ public int developTemporary(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO) {
+ //实验基础信息
+ ExperimentAppInsertBO experimentAppInsertBO = new ExperimentAppInsertBO();
+ BeanUtils.copyProperties(experimentInsertReqBO,experimentAppInsertBO);
+ ExperimentInfoDTO experimentInfoDTO = experimentInfoService.developTemporary(currentUserId,experimentAppInsertBO);
+ //处理中间表数据
+ dealDelete(experimentInfoDTO.getId(),currentUserId);
+
+ temporary(currentUserId,experimentInsertReqBO,experimentInfoDTO.getId(),experimentAppInsertBO);
+
+
+ Integer code = StatusEnum.SUCCESS.getCode();
+ if(ObjectUtils.isEmpty(experimentInfoDTO)){
+ code = StatusEnum.FAIL.getCode();
+ }
+ return code;
+ }
+
+
+ /**
+ * 处理删除
+ * @param id
+ * @param currentUserId
+ */
+ private void dealDelete(Long id ,Long currentUserId){
+ experimentAndTypeService.deleteByExperimentId(id);
+ experimentAndDeviceService.deleteByExperimentId(id,currentUserId);
+ experimentHazardousWasteService.deleteByExperimentId(id,currentUserId);
+ experimentAndPersonService.deleteByExperimentId(id,currentUserId);
+ experimentAndStuffService.deleteByExperimentId(id,currentUserId);
+ experimentAndSiteService.deleteByExperimentId(id);
+ experimentAndEmergencyService.deleteByExperimentId(id);
+ }
+
+ /**
+ * 处理中间表数据
+ * @param currentUserId
+ * @param experimentInsertReqBO
+ * @param experimentAppInsertBO
+ */
+ private void temporary(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO,Long id ,ExperimentAppInsertBO experimentAppInsertBO) {
+ if (!CollectionUtils.isEmpty(experimentInsertReqBO.getDeviceList())){
+ //设备中间表
+ List<ExperimentAndDeviceAppInsertBO> deviceAppInsertBOList = experimentAppConverter.getDeviceInsertBOList(experimentInsertReqBO.getDeviceList(),id);
+ experimentAndDeviceService.saveBatch(currentUserId,deviceAppInsertBOList);
+ }
+
+ if (!CollectionUtils.isEmpty(experimentInsertReqBO.getStuffList())) {
+ //材料中间表
+ List<ExperimentAndStuffAppInsertBO> stuffInsertBOList = experimentAppConverter.getStuffInsertBOList(experimentInsertReqBO.getStuffList(), id);
+ experimentAndStuffService.saveBatch(currentUserId,stuffInsertBOList);
+ }
+ //实验人员
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getPersons())){
+ List<Long> personIds = experimentInsertReqBO.getPersons().stream().map(ExperimentAndPersonInsertReqBO::getPersonId).collect(Collectors.toList());
+ experimentAndPersonService.saveBatch(currentUserId,personIds,id);
+ }
+ //实验地点中间表
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getSiteList())){
+ List<Long> siteIds = experimentInsertReqBO.getSiteList().stream().map(ExperimentAndSiteInsertReqBO::getSiteId).collect(Collectors.toList());
+ experimentAndSiteService.saveBatch(currentUserId, siteIds, id);
+ }
+ //实验类型中间表
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getTypeList())){
+ List<Long> typeIds = experimentInsertReqBO.getTypeList().stream().map(ExperimentAndTypeInsertReqBO::getTypeId).collect(Collectors.toList());
+ experimentAndTypeService.saveBatch(currentUserId, typeIds, id);
+ }
+ //危废中间表
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getHazardousWasteList())){
+ List<ExperimentHazardousWasteAppInsertBO> hazardousWasteInsertBOList = experimentAppConverter.getHazardousWasteInsertBOList(experimentInsertReqBO.getHazardousWasteList(),id);
+ experimentHazardousWasteService.saveBatch(currentUserId,hazardousWasteInsertBOList);
+ }
+ //应急演练
+ if(!CollectionUtils.isEmpty(experimentInsertReqBO.getEmergencyList())){
+ List<ExperimentAndEmergencyAppInsertBO> experimentAndEmergencyAppInsertBOList = experimentAppConverter.getExperimentAndEmergencyAppInsertBOList(experimentInsertReqBO.getEmergencyList(), id);
+ experimentAndEmergencyService.saveBatch(currentUserId,experimentAndEmergencyAppInsertBOList);
+ }
+
}
@Transactional
@Override
@@ -189,6 +315,11 @@
experimentInfo.setAssessLevel(byExperimentId.getAssessLevel());
experimentInfo.setAssessTime(byExperimentId.getAssessTime());
}
+ List<ExperimentAndTypeDTO> types = experimentInfo.getTypes();
+ if (!CollectionUtils.isEmpty(types)){
+ String collect = types.stream().map(type -> type.getTypeName()).collect(Collectors.joining(","));
+ experimentInfo.setExperimentTypeName(collect);
+ }
}
result.setData(experimentInfoAppQueryDTOS);
@@ -206,6 +337,7 @@
@Transactional(rollbackFor = Exception.class)
@Override
public int deleteById(Long id, Long currentUserId) {
+
experimentInfoService.deleteById(id,currentUserId);
experimentAndDeviceService.deleteByExperimentId(id,currentUserId);
experimentHazardousWasteService.deleteByExperimentId(id,currentUserId);
@@ -213,6 +345,7 @@
experimentAndStuffService.deleteByExperimentId(id,currentUserId);
experimentAndSiteService.deleteByExperimentId(id);
experimentAndEmergencyService.deleteByExperimentId(id);
+ experimentAndTypeService.deleteByExperimentId(id);
return StatusEnum.SUCCESS.getCode();
}
@@ -275,7 +408,8 @@
BeanUtils.copyProperties(searchResult,result);
}
List<ExperimentInfoDTO> experimentInfoDTOS = (List<ExperimentInfoDTO>)searchResult.getData();
- List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOS = BeanCopyUtils.copyBeanList(experimentInfoDTOS, ExperimentInfoAppQueryDTO.class);
+
+ List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOS = BeanCopyUtils.list2OtherList(experimentInfoDTOS, ExperimentInfoAppQueryDTO.class);
for (ExperimentInfoAppQueryDTO experimentInfo : experimentInfoAppQueryDTOS) {
List<ExperimentAssessLog> assessLogs = experimentAssessLogService.getAssessLogs(experimentInfo.getExperimentCode());
@@ -287,6 +421,12 @@
experimentInfo.setAssessLevel(byExperimentId.getAssessLevel());
experimentInfo.setAssessTime(byExperimentId.getAssessTime());
}
+ List<ExperimentAndTypeDTO> types = experimentInfo.getTypes();
+ if (!CollectionUtils.isEmpty(types)){
+ String collect = types.stream().map(type -> type.getTypeName()).collect(Collectors.joining(","));
+ experimentInfo.setExperimentTypeName(collect);
+ }
+
}
result.setData(experimentInfoAppQueryDTOS);
@@ -311,7 +451,7 @@
BeanUtils.copyProperties(searchResult,result);
}
List<ExperimentInfoDTO> experimentInfoDTOS = (List<ExperimentInfoDTO>)searchResult.getData();
- List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOS = BeanCopyUtils.copyBeanList(experimentInfoDTOS, ExperimentInfoAppQueryDTO.class);
+ List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOS = BeanCopyUtils.list2OtherList(experimentInfoDTOS, ExperimentInfoAppQueryDTO.class);
for (ExperimentInfoAppQueryDTO experimentInfo : experimentInfoAppQueryDTOS) {
List<ExperimentAssessLog> assessLogs = experimentAssessLogService.getAssessLogs(experimentInfo.getExperimentCode());
@@ -323,6 +463,11 @@
experimentInfo.setAssessLevel(byExperimentId.getAssessLevel());
experimentInfo.setAssessTime(byExperimentId.getAssessTime());
}
+ List<ExperimentAndTypeDTO> types = experimentInfo.getTypes();
+ if (!CollectionUtils.isEmpty(types)){
+ String collect = types.stream().map(type -> type.getTypeName()).collect(Collectors.joining(","));
+ experimentInfo.setExperimentTypeName(collect);
+ }
}
result.setData(experimentInfoAppQueryDTOS);
diff --git a/src/main/java/com/gkhy/labRiskManage/commons/utils/BeanCopyUtils.java b/src/main/java/com/gkhy/labRiskManage/commons/utils/BeanCopyUtils.java
index 765c291..eba99e8 100644
--- a/src/main/java/com/gkhy/labRiskManage/commons/utils/BeanCopyUtils.java
+++ b/src/main/java/com/gkhy/labRiskManage/commons/utils/BeanCopyUtils.java
@@ -1,5 +1,6 @@
package com.gkhy.labRiskManage.commons.utils;
+import com.alibaba.fastjson.*;
import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.*;
import com.gkhy.labRiskManage.api.controller.riskReport.dto.respDto.*;
import com.gkhy.labRiskManage.application.basic.dto.bo.BasicExperimentPersonAppQueryBO;
@@ -13,6 +14,8 @@
import com.gkhy.labRiskManage.domain.riskReport.model.dto.RiskAssessPlanQueryDTO;
import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -64,6 +67,18 @@
.collect(Collectors.toList());
}
+
+
+ public static <T> List<T> list2OtherList(List originList,Class<T> tClass){
+ List<T> list = new ArrayList<>();
+ for (Object info : originList) {
+ T t = JSON.parseObject(JSON.toJSONString(info),tClass);
+ list.add(t);
+ }
+ return list;
+ }
+
+
public static Object copyDeviceAppQueryList(Object data, Class<BasicExperimentDeviceAppQueryDTO> basicExperimentDeviceAppQueryDTOClass) {
return data;
}
diff --git a/src/main/java/com/gkhy/labRiskManage/config/serializa/JacksonConfiguration.java b/src/main/java/com/gkhy/labRiskManage/config/serializa/JacksonConfiguration.java
index e97eb66..70ae101 100644
--- a/src/main/java/com/gkhy/labRiskManage/config/serializa/JacksonConfiguration.java
+++ b/src/main/java/com/gkhy/labRiskManage/config/serializa/JacksonConfiguration.java
@@ -1,6 +1,7 @@
package com.gkhy.labRiskManage.config.serializa;
+import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
@@ -27,6 +28,7 @@
javaTimeModule.addSerializer(LocalDateTime.class,
new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mapper.registerModule(javaTimeModule);
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
return mapper;
}
}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/BasicExperimentTypeRepository.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/BasicExperimentTypeRepository.java
index 426bcf3..d5b2409 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/BasicExperimentTypeRepository.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/BasicExperimentTypeRepository.java
@@ -1,5 +1,6 @@
package com.gkhy.labRiskManage.domain.basic.repository.jpa;
+import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentSite;
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentType;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
@@ -20,5 +21,10 @@
*/
@Query(value = "select t from BasicExperimentType t where t.deleteStatus = 0")
List<BasicExperimentType> listType();
+ /**
+ * 基础实验类型 - 通过id列表查询
+ * */
+ @Query(value = "select t from BasicExperimentType t where t.id in (?1) and t.deleteStatus = 0")
+ List<BasicExperimentType> batchById(List<Long> ids);
}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/BasicExperimentTypeService.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/BasicExperimentTypeService.java
index 3dd6d30..b07acea 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/BasicExperimentTypeService.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/BasicExperimentTypeService.java
@@ -1,6 +1,7 @@
package com.gkhy.labRiskManage.domain.basic.service;
+import com.gkhy.labRiskManage.domain.basic.model.dto.SiteQueryDTO;
import com.gkhy.labRiskManage.domain.basic.model.dto.TypeListDTO;
import java.util.List;
@@ -14,4 +15,8 @@
* 基础实验类型 - 列表
*/
List<TypeListDTO> listBasicExperimentType();
+ /**
+ * 实验类型 - 通过id列表查询
+ * */
+ List<TypeListDTO> getBasicExperimentTypeByIdList(List<Long> ids);
}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentTypeServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentTypeServiceImpl.java
index 5b86d2a..3ab5357 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentTypeServiceImpl.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentTypeServiceImpl.java
@@ -1,13 +1,18 @@
package com.gkhy.labRiskManage.domain.basic.service.impl;
+import com.gkhy.labRiskManage.commons.enums.ResultCode;
+import com.gkhy.labRiskManage.commons.exception.BusinessException;
import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils;
+import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentSite;
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentType;
+import com.gkhy.labRiskManage.domain.basic.model.dto.SiteQueryDTO;
import com.gkhy.labRiskManage.domain.basic.model.dto.TypeListDTO;
import com.gkhy.labRiskManage.domain.basic.repository.jpa.BasicExperimentTypeRepository;
import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Collections;
import java.util.List;
/**
@@ -28,4 +33,18 @@
List<BasicExperimentType> listResult = typeRepository.listType();
return BeanCopyUtils.copyBeanList(listResult, TypeListDTO.class);
}
+
+ @Override
+ public List<TypeListDTO> getBasicExperimentTypeByIdList(List<Long> ids) {
+ if (ids.size() < 1){
+ throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "请求参数不能为空");
+ }
+
+ List<BasicExperimentType> listResult = typeRepository.batchById(ids);
+ if (listResult.size() < 1){
+ throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode(), "查询结果为空");
+ }
+
+ return BeanCopyUtils.copyBeanList(listResult, TypeListDTO.class);
+ }
}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/converter/ExperimentInfoDomainConverter.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/converter/ExperimentInfoDomainConverter.java
index b574dd8..7fabd98 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/converter/ExperimentInfoDomainConverter.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/converter/ExperimentInfoDomainConverter.java
@@ -44,6 +44,21 @@
//实验基础信息
ExperimentInfoDTO experimentInfoDTO = new ExperimentInfoDTO();
BeanUtils.copyProperties(experimentInfo,experimentInfoDTO);
+ //实验类型数据
+ List<ExperimentAndTypeDTO> types = new ArrayList<>();
+ if(!ObjectUtils.isEmpty(experimentInfo.getTypes())){
+ for (ExperimentAndType experimentAndType : experimentInfo.getTypes()){
+ ExperimentAndTypeDTO experimentAndTypeDTO = new ExperimentAndTypeDTO();
+ experimentAndTypeDTO.setTypeId(experimentAndType.getTypeId());
+ if(null != experimentAndType.getType()){
+ experimentAndTypeDTO.setTypeName(experimentAndType.getType().getExperimentType());
+
+ }
+ types.add(experimentAndTypeDTO);
+ }
+ }
+ experimentInfoDTO.setTypes(types);
+
//实验场所数据
List<ExperimentAndSiteDTO> sites = new ArrayList<>();
if(!ObjectUtils.isEmpty(experimentInfo.getSites())){
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndDevice.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndDevice.java
index 8cb66f0..de5f63f 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndDevice.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndDevice.java
@@ -2,6 +2,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentDevice;
+import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@@ -18,6 +19,7 @@
@EntityListeners(AuditingEntityListener.class)
@Entity
@Table(name = "experiment_and_device")
+@Where(clause = "delete_status = 0")
public class ExperimentAndDevice implements Serializable {
private static final long serialVersionUID = -74398808654954420L;
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndEmergency.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndEmergency.java
index c6e4f07..72b8b85 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndEmergency.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndEmergency.java
@@ -2,6 +2,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
+import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
@@ -17,6 +18,7 @@
@Data
@Entity
@Table(name = "experiment_and_emergency")
+@Where(clause = "delete_status = 0")
public class ExperimentAndEmergency {
@Id
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndPerson.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndPerson.java
index 4311a10..3629e77 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndPerson.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndPerson.java
@@ -1,6 +1,7 @@
package com.gkhy.labRiskManage.domain.experiment.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
+import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@@ -16,6 +17,7 @@
@EntityListeners(AuditingEntityListener.class)
@Entity
@Table(name = "experiment_and_person")
+@Where(clause = "delete_status = 0")
public class ExperimentAndPerson implements Serializable {
private static final long serialVersionUID = 217943177919881451L;
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndSite.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndSite.java
index 28c682c..cca9216 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndSite.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndSite.java
@@ -3,6 +3,7 @@
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentSite;
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentStuff;
import lombok.Data;
+import org.hibernate.annotations.Where;
import javax.persistence.*;
@@ -16,6 +17,7 @@
@Data
@Entity
@Table(name = "experiment_and_site")
+@Where(clause = "delete_status = 0")
public class ExperimentAndSite {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndStuff.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndStuff.java
index 3c706c5..6692bc5 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndStuff.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndStuff.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentSite;
import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentStuff;
+import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@@ -19,6 +20,7 @@
@EntityListeners(AuditingEntityListener.class)
@Entity
@Table(name = "experiment_and_stuff")
+@Where(clause = "delete_status = 0")
public class ExperimentAndStuff implements Serializable {
private static final long serialVersionUID = -79650379228221888L;
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndType.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndType.java
new file mode 100644
index 0000000..3d0557b
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAndType.java
@@ -0,0 +1,43 @@
+package com.gkhy.labRiskManage.domain.experiment.entity;
+
+import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentSite;
+import com.gkhy.labRiskManage.domain.basic.entity.BasicExperimentType;
+import lombok.Data;
+import org.hibernate.annotations.Where;
+
+import javax.persistence.*;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/3/20
+ * @time: 15:54
+ */
+@Data
+@Entity
+@Table(name = "experiment_and_type")
+@Where(clause = "delete_status = 0")
+public class ExperimentAndType {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+ /**
+ * 实验ID
+ */
+ @Column(name = "experiment_id")
+ private Long experimentId;
+ /**
+ * 类型
+ */
+ @Column(name = "type_id")
+ private Long typeId;
+ /**
+ * 删除状态:0-正常;1-已删除
+ */
+ private Byte deleteStatus;
+
+ @OneToOne(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH})
+ @JoinColumn(name = "type_id",referencedColumnName = "id",insertable =false ,updatable = false)
+ private BasicExperimentType type;
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentHazardousWaste.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentHazardousWaste.java
index 477ef69..2a204ea 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentHazardousWaste.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentHazardousWaste.java
@@ -1,6 +1,7 @@
package com.gkhy.labRiskManage.domain.experiment.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
+import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@@ -16,6 +17,7 @@
@EntityListeners(AuditingEntityListener.class)
@Entity
@Table(name = "experiment_hazardous_waste")
+@Where(clause = "delete_status = 0")
public class ExperimentHazardousWaste implements Serializable {
private static final long serialVersionUID = -50912711565680265L;
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentInfo.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentInfo.java
index e806314..053fc91 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentInfo.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentInfo.java
@@ -214,6 +214,15 @@
* 填报人
*/
private String informant;
+ /**
+ * 暂存保存:1-保存;2-暂存
+ */
+ private Byte stagingTag;
+
+ @OneToMany(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH})
+ @JoinColumn(name = "experiment_id",referencedColumnName = "id",insertable =false ,updatable = false)
+ @Fetch(FetchMode.SUBSELECT)
+ private List<ExperimentAndType> types;
@OneToMany(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH})
@JoinColumn(name = "experiment_id",referencedColumnName = "id",insertable =false ,updatable = false)
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/enums/ExperimentStagingEnum.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/enums/ExperimentStagingEnum.java
new file mode 100644
index 0000000..15100bf
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/enums/ExperimentStagingEnum.java
@@ -0,0 +1,62 @@
+package com.gkhy.labRiskManage.domain.experiment.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2022/12/20
+ * @time: 17:31
+ */
+public enum ExperimentStagingEnum {
+
+ SAVE((byte)1,"保存"),
+ NOT_SAVE((byte)2,"暂存"),
+ ;
+
+ private Byte value;
+ private String dec;
+
+ ExperimentStagingEnum(Byte value, String dec) {
+ this.value = value;
+ this.dec = dec;
+ }
+
+ public Byte getValue() {
+ return value;
+ }
+
+ public void setValue(Byte value) {
+ this.value = value;
+ }
+
+ public static Map<Byte, ExperimentStagingEnum> getMap() {
+ return map;
+ }
+
+ public static void setMap(Map<Byte, ExperimentStagingEnum> map) {
+ ExperimentStagingEnum.map = map;
+ }
+
+ public String getDec() {
+ return dec;
+ }
+
+ public void setDec(String dec) {
+ this.dec = dec;
+ }
+
+ static Map<Byte, ExperimentStagingEnum> map;
+
+ static {
+ map = new HashMap<>();
+ for(ExperimentStagingEnum e : ExperimentStagingEnum.values()){
+ map.put(e.value,e);
+ }
+ }
+
+ public static ExperimentStagingEnum prase(Byte value){
+ return map.get(value);
+ }
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentAndTypeDTO.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentAndTypeDTO.java
new file mode 100644
index 0000000..c1ef491
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentAndTypeDTO.java
@@ -0,0 +1,18 @@
+package com.gkhy.labRiskManage.domain.experiment.model.dto;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2022/12/27
+ * @time: 15:27
+ */
+@Data
+public class ExperimentAndTypeDTO {
+ private Long typeId;
+ /**
+ * 场所名称
+ */
+ private String typeName;
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentInfoDTO.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentInfoDTO.java
index 3ab6aa8..d7cf761 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentInfoDTO.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentInfoDTO.java
@@ -1,5 +1,6 @@
package com.gkhy.labRiskManage.domain.experiment.model.dto;
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType;
import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog;
import lombok.Data;
@@ -196,6 +197,12 @@
*/
private String assessPerson;
+ /**
+ * 暂存保存:1-保存;2-暂存
+ */
+ private Byte stagingTag;
+
+ private List<ExperimentAndTypeDTO> types;
private List<ExperimentAndSiteDTO> sites;
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAndTypeRepository.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAndTypeRepository.java
new file mode 100644
index 0000000..c5ee754
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAndTypeRepository.java
@@ -0,0 +1,27 @@
+package com.gkhy.labRiskManage.domain.experiment.repository.jpa;
+
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndSite;
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/3/20
+ * @time: 16:18
+ */
+@Repository
+public interface ExperimentAndTypeRepository extends JpaRepository<ExperimentAndType, Long> {
+
+ @Modifying
+ @Query(value = "update experiment_and_type set delete_status = 1 where experiment_id = :experimentId",nativeQuery = true)
+ int deleteByExperimentId(Long experimentId);
+
+ @Query(value = "select * from experiment_and_type where delete_status = 0 and experiment_id = :id",nativeQuery = true)
+ List<ExperimentAndType> getByExperimentId(Long id);
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAndTypeService.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAndTypeService.java
new file mode 100644
index 0000000..2cfd198
--- /dev/null
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAndTypeService.java
@@ -0,0 +1,20 @@
+package com.gkhy.labRiskManage.domain.experiment.service;
+
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndSite;
+import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndType;
+
+import java.util.List;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/3/20
+ * @time: 15:51
+ */
+public interface ExperimentAndTypeService {
+ boolean saveBatch(Long currentUserId, List<Long> siteIds, Long experimentId);
+
+ void deleteByExperimentId(Long id);
+
+ List<ExperimentAndType> getByExperimentId(Long id);
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentInfoService.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentInfoService.java
index 027863b..8865206 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentInfoService.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentInfoService.java
@@ -18,8 +18,13 @@
public interface ExperimentInfoService {
ExperimentInfoDTO save(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO);
+
+ ExperimentInfoDTO temporary(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO);
+
ExperimentInfoDTO developSave(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO);
+ ExperimentInfoDTO developTemporary(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO);
+
boolean deleteById(Long id,Long currentUserId);
ExperimentInfoDTO getExperimentById(Long id);
ExperimentInfoDTO getExperimentByName(String experimentName);
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndEmergencyServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndEmergencyServiceImpl.java
index d315f1a..ccd382d 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndEmergencyServiceImpl.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAndEmergencyServiceImpl.java
@@ -38,6 +38,8 @@
experimentAndEmergency.setDeleteStatus(StatusEnum.DELETE_NOT.getCode().byteValue());
experimentAndEmergency.setCreateByUserId(currentUserId);
experimentAndEmergency.setUpdateByUserId(currentUserId);
+ //暂时处理20241106
+ experimentAndEmergency.setId(null);
experimentAndEmergencyList.add(experimentAndEmergency);
}
List<ExperimentAndEmergency> emergencies = repository.saveAll(experimentAndEmergencyList);
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;
+ }
+}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java
index c9d64fb..c32183a 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentInfoServiceImpl.java
@@ -76,31 +76,32 @@
@Override
public ExperimentInfoDTO save(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO) {
UserInfoDomainDTO operator = userDomainService.getUserInfoById(currentUserId);
- //验证权限
- List<SysUserRoleBindDomainDTO> roles = operator.getRoles();
- boolean flag = false;
- if(roles != null && roles.size() > 0){
- for (SysUserRoleBindDomainDTO role : roles){
- if (role.getRoleName().equals(UserRoleEnum.USER_ROLE_1.getDesc())) {
- flag = true;
- break;
- }
- }
- }
- if (!flag){
- throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"该账号无权限录入实验信息!");
- }
+ // 20211105去掉权限验证
+// //验证权限
+// List<SysUserRoleBindDomainDTO> roles = operator.getRoles();
+// boolean flag = false;
+// if(roles != null && roles.size() > 0){
+// for (SysUserRoleBindDomainDTO role : roles){
+// if (role.getRoleName().equals(UserRoleEnum.USER_ROLE_1.getDesc())) {
+// flag = true;
+// break;
+// }
+// }
+// }
+// if (!flag){
+// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"该账号无权限录入实验信息!");
+// }
//验证
if(ObjectUtils.isEmpty(experimentAppInsertBO.getExperimentName())){
throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"请填写实验名称!");
}
- if(ObjectUtils.isEmpty(experimentAppInsertBO.getExperimentType())){
- throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"请选择实验类型!");
- }
- if(ObjectUtils.isEmpty(ExperimentTypeEnum.prase(experimentAppInsertBO.getExperimentType()))){
- throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"实验类型非法!");
- }
+// if(ObjectUtils.isEmpty(experimentAppInsertBO.getExperimentType())){
+// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"请选择实验类型!");
+// }
+// if(ObjectUtils.isEmpty(ExperimentTypeEnum.prase(experimentAppInsertBO.getExperimentType()))){
+// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"实验类型非法!");
+// }
if(ObjectUtils.isEmpty(experimentAppInsertBO.getLiabilityUserId())){
throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"请选择实验负责人!");
}
@@ -177,6 +178,7 @@
}
ExperimentInfo experimentInfo = new ExperimentInfo();
BeanUtils.copyProperties(experimentAppInsertBO, experimentInfo);
+ experimentInfo.setStagingTag(ExperimentStagingEnum.SAVE.getValue());
experimentInfo.setDeleteStatus(StatusEnum.DELETE_NOT.getCode().byteValue());
experimentInfo.setLiabilityUser(operator.getName());
experimentInfo.setLiabilityUserId(currentUserId);
@@ -193,33 +195,58 @@
return converter.getExperimentInfoDTO(experiment);
}
+
+ @Override
+ public ExperimentInfoDTO temporary(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO) {
+ UserInfoDomainDTO operator = userDomainService.getUserInfoById(currentUserId);
+ ExperimentInfo experimentInfo = new ExperimentInfo();
+ BeanUtils.copyProperties(experimentAppInsertBO, experimentInfo);
+ experimentInfo.setStagingTag(ExperimentStagingEnum.NOT_SAVE.getValue());
+ experimentInfo.setDeleteStatus(StatusEnum.DELETE_NOT.getCode().byteValue());
+ experimentInfo.setLiabilityUser(operator.getName());
+ experimentInfo.setLiabilityUserId(currentUserId);
+ experimentInfo.setStage(ExperimentStageEnum.NOT_EVALUATION.getValue());
+ experimentInfo.setStatus(ExperimentStatusEnum.NOT_APPLY.getValue());
+ experimentInfo.setExperimentTag(ExperimentTagEnum.NEW_CREATE.getValue());
+ experimentInfo.setRectifyStatus(ExperimentRectifyStatusEnum.NOT_RECTIFY.getValue());
+ experimentInfo.setExperimentCode(generateTestNumber());
+ experimentInfo.setCreateByUserId(currentUserId);
+ experimentInfo.setInformant(operator == null?"":operator.getName());
+ experimentInfo.setUpdateByUserId(currentUserId);
+ experimentInfo.setApprovalStatus(ExperimentApprovalStatusEnum.NOT_APPROVAL.getValue());
+ ExperimentInfo experiment = repository.save(experimentInfo);
+
+ return converter.getExperimentInfoDTO(experiment);
+ }
+
@Override
public ExperimentInfoDTO developSave(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO) {
UserInfoDomainDTO operator = userDomainService.getUserInfoById(currentUserId);
- //验证权限
- List<SysUserRoleBindDomainDTO> roles = operator.getRoles();
- boolean flag = false;
- if(roles != null && roles.size() > 0){
- for (SysUserRoleBindDomainDTO role : roles){
- if (role.getRoleName().equals(UserRoleEnum.USER_ROLE_1.getDesc())) {
- flag = true;
- break;
- }
- }
- }
- if (!flag){
- throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"该账号无权限录入实验信息!");
- }
+ // 20211105去掉权限验证
+// //验证权限
+// List<SysUserRoleBindDomainDTO> roles = operator.getRoles();
+// boolean flag = false;
+// if(roles != null && roles.size() > 0){
+// for (SysUserRoleBindDomainDTO role : roles){
+// if (role.getRoleName().equals(UserRoleEnum.USER_ROLE_1.getDesc())) {
+// flag = true;
+// break;
+// }
+// }
+// }
+// if (!flag){
+// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"该账号无权限录入实验信息!");
+// }
//验证
if(ObjectUtils.isEmpty(experimentAppInsertBO.getExperimentName())){
throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"请填写实验名称!");
}
- if(ObjectUtils.isEmpty(experimentAppInsertBO.getExperimentType())){
- throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"请选择实验类型!");
- }
- if(ObjectUtils.isEmpty(ExperimentTypeEnum.prase(experimentAppInsertBO.getExperimentType()))){
- throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"实验类型非法!");
- }
+// if(ObjectUtils.isEmpty(experimentAppInsertBO.getExperimentType())){
+// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"请选择实验类型!");
+// }
+// if(ObjectUtils.isEmpty(ExperimentTypeEnum.prase(experimentAppInsertBO.getExperimentType()))){
+// throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_ILLEGAL.getCode(),"实验类型非法!");
+// }
if(ObjectUtils.isEmpty(experimentAppInsertBO.getLiabilityUserPhone())){
throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"请填写实验负责人手机号!");
}
@@ -304,6 +331,7 @@
}
ExperimentInfo experimentInfo = new ExperimentInfo();
BeanUtils.copyProperties(experimentAppInsertBO, experimentInfo);
+ experimentInfo.setStagingTag(ExperimentStagingEnum.SAVE.getValue());
experimentInfo.setDeleteStatus(StatusEnum.DELETE_NOT.getCode().byteValue());
experimentInfo.setLiabilityUserId(currentUserId);
experimentInfo.setLiabilityUser(operator.getName());
@@ -319,6 +347,30 @@
ExperimentInfo experiment = repository.save(experimentInfo);
return converter.getExperimentInfoDTO(experiment);
+ }
+
+ @Override
+ public ExperimentInfoDTO developTemporary(Long currentUserId, ExperimentAppInsertBO experimentAppInsertBO) {
+ UserInfoDomainDTO operator = userDomainService.getUserInfoById(currentUserId);
+ ExperimentInfo experimentInfo = new ExperimentInfo();
+ BeanUtils.copyProperties(experimentAppInsertBO, experimentInfo);
+ experimentInfo.setStagingTag(ExperimentStagingEnum.NOT_SAVE.getValue());
+ experimentInfo.setDeleteStatus(StatusEnum.DELETE_NOT.getCode().byteValue());
+ experimentInfo.setLiabilityUserId(currentUserId);
+ experimentInfo.setLiabilityUser(operator.getName());
+ experimentInfo.setStage(ExperimentStageEnum.NOT_EVALUATION.getValue());
+ experimentInfo.setStatus(ExperimentStatusEnum.NOT_APPLY.getValue());
+ experimentInfo.setExperimentTag(ExperimentTagEnum.AREADLY_DEVELOP.getValue());
+ experimentInfo.setRectifyStatus(ExperimentRectifyStatusEnum.NOT_RECTIFY.getValue());
+ experimentInfo.setExperimentCode(generateTestNumber());
+ experimentInfo.setCreateByUserId(currentUserId);
+ experimentInfo.setInformant(operator == null?"":operator.getName());
+ experimentInfo.setUpdateByUserId(currentUserId);
+ experimentInfo.setApprovalStatus(ExperimentApprovalStatusEnum.NOT_APPROVAL.getValue());
+ ExperimentInfo experiment = repository.save(experimentInfo);
+
+ return converter.getExperimentInfoDTO(experiment);
+
}
@Override
@@ -551,9 +603,9 @@
if(!ObjectUtils.isEmpty(ExperimentTagEnum.prase(queryBO.getExperimentTag()))){
predicateList.add(criteriaBuilder.equal(root.get("experimentTag"),queryBO.getExperimentTag()));
}
- if (!ObjectUtils.isEmpty(ExperimentTypeEnum.prase(queryBO.getExperimentType()))){
- predicateList.add(criteriaBuilder.equal(root.get("experimentType"), queryBO.getExperimentType()));
- }
+// if (!ObjectUtils.isEmpty(ExperimentTypeEnum.prase(queryBO.getExperimentType()))){
+// predicateList.add(criteriaBuilder.equal(root.get("experimentType"), queryBO.getExperimentType()));
+// }
if (StrUtil.isNotBlank(queryBO.getExperimentName())){
predicateList.add(criteriaBuilder.like(root.get("experimentName"), '%'+ queryBO.getExperimentName()+'%'));
}
@@ -575,6 +627,10 @@
);
query.groupBy(root.get("id"));
}
+ if (!ObjectUtils.isEmpty(ExperimentTypeEnum.prase(queryBO.getExperimentType()))){
+ Join<ExperimentInfo, ExperimentAndType> typeJoin = root.join("types", JoinType.LEFT);
+ predicateList.add(criteriaBuilder.equal(typeJoin.get("typeId"), queryBO.getExperimentType()));
+ }
//返回组装的条件
return criteriaBuilder.and(predicateList.toArray(predicateList.toArray(new Predicate[0])));
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/entity/RiskAssessPlan.java b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/entity/RiskAssessPlan.java
index 25b801b..f40b260 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/entity/RiskAssessPlan.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/entity/RiskAssessPlan.java
@@ -2,6 +2,7 @@
import com.gkhy.labRiskManage.domain.basic.entity.BasicTip;
import lombok.Data;
+import org.hibernate.annotations.Where;
import javax.persistence.*;
import java.math.BigDecimal;
@@ -15,6 +16,7 @@
@Data
@Entity
@Table(name = "risk_assess_plan")
+@Where(clause = "delete_status = 0")
public class RiskAssessPlan implements Serializable {
private static final long serialVersionUID = -44756780317221858L;
diff --git a/src/main/resources/config/application-dev.yaml b/src/main/resources/config/application-dev.yaml
index f191de5..cef1c4a 100644
--- a/src/main/resources/config/application-dev.yaml
+++ b/src/main/resources/config/application-dev.yaml
@@ -6,14 +6,14 @@
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://192.168.0.52:3306/laboratory_risk_manage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
- username: gkhy_dev_team
- password: Sjscn783fsDsa21
+ url: jdbc:mysql://127.0.0.1:3306/laboratory_risk_manage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
+ username: root
+ password: 123456
master:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://192.168.0.52:3306/laboratory_risk_manage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
- username: gkhy_dev_team
- password: Sjscn783fsDsa21
+ url: jdbc:mysql://127.0.0.1:3306/laboratory_risk_manage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&useAffectedRows=true
+ username: root
+ password: 123456
type: com.alibaba.druid.pool.DruidDataSource
jpa:
hibernate:
diff --git a/src/main/resources/config/application.yaml b/src/main/resources/config/application.yaml
index 86da350..bb2a5d3 100644
--- a/src/main/resources/config/application.yaml
+++ b/src/main/resources/config/application.yaml
@@ -2,5 +2,5 @@
application:
name: labRiskManage
profiles:
+ active: dev
# active: gslab
- active: online-uat
diff --git a/src/main/resources/config/redisson-dev.yml b/src/main/resources/config/redisson-dev.yml
index c99a90a..2292333 100644
--- a/src/main/resources/config/redisson-dev.yml
+++ b/src/main/resources/config/redisson-dev.yml
@@ -10,13 +10,14 @@
# 命令重试发送时间间隔,单位:毫秒
retryInterval: 1500
# 密码
- password: SEF98uvs98dUAUEF90Udssa
+ #password:
+ #password: SEF98uvs98dUAUEF90Udssa
# 单个连接最大订阅数量
subscriptionsPerConnection: 5
# 客户端名称
# clientName: null
# 节点地址
- address: redis://192.168.0.52:6371
+ address: redis://127.0.0.1:6379
# # 发布和订阅连接的最小空闲连接数
# subscriptionConnectionMinimumIdleSize: 1
# # 发布和订阅连接池大小
--
Gitblit v1.9.2