From 1e51af385909adcb72b97e96edcbbb0412fa7de4 Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期一, 28 八月 2023 09:08:45 +0800 Subject: [PATCH] 多次评定初版 --- src/main/java/com/gkhy/labRiskManage/application/experiment/dto/dto/ExperimentInfoAppQueryDTO.java | 2 src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAssessLogServiceImpl.java | 26 ++++++++ src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java | 35 ++++++++++- src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java | 3 + src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAssessLog.java | 44 ++++++++++++++ src/main/java/com/gkhy/labRiskManage/domain/experiment/model/dto/ExperimentInfoDTO.java | 2 src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAssessLogService.java | 12 ++++ src/main/java/com/gkhy/labRiskManage/api/controller/experiment/dto/resp/ExperimentInfoRespDTO.java | 2 src/main/java/com/gkhy/labRiskManage/application/experiment/service/impl/ExperimentAppServiceImpl.java | 10 +++ src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAssessLogRepository.java | 16 +++++ 10 files changed, 147 insertions(+), 5 deletions(-) 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 c0f3f32..84ade6d 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 @@ -2,6 +2,7 @@ import com.gkhy.labRiskManage.api.controller.experiment.dto.req.ExperimentAndEmergencyInsertReqBO; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; import lombok.Data; import java.time.LocalDateTime; @@ -213,5 +214,6 @@ private List<ExperimentAndEmergencyRespDTO> emergencyList; + private List<ExperimentAssessLog> experimentAssessLogs; } 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 8988f4c..af88864 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,6 +2,7 @@ import com.gkhy.labRiskManage.api.controller.experiment.dto.resp.ExperimentAndEmergencyRespDTO; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; import lombok.Data; import java.time.LocalDateTime; @@ -214,6 +215,7 @@ */ private List<ExperimentAndEmergencyRespDTO> emergencies; + private List<ExperimentAssessLog> experimentAssessLogs; } 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 93de098..7d5b191 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,6 +13,7 @@ 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.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; @@ -53,7 +54,8 @@ private ExperimentAndEmergencyService experimentAndEmergencyService; @Autowired private ExperimentAppConverter experimentAppConverter; - + @Autowired + private ExperimentAssessLogService experimentAssessLogService; @Transactional @Override public int save(Long currentUserId, ExperimentInsertReqBO experimentInsertReqBO) { @@ -174,6 +176,12 @@ BeanUtils.copyProperties(searchResult,result); } List<ExperimentInfoDTO> experimentInfoDTOS = (List<ExperimentInfoDTO>)searchResult.getData(); + for (ExperimentInfoDTO experimentInfo : experimentInfoDTOS) { + List<ExperimentAssessLog> assessLogs = experimentAssessLogService.getAssessLogs(experimentInfo.getExperimentCode()); + if (assessLogs.size() > 0){ + experimentInfo.setExperimentAssessLogs(assessLogs); + } + } result.setData(getExperimentInfoAppQueryDTO(experimentInfoDTOS)); //获取分页数据 diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java index b50d9f2..2679d08 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java @@ -168,6 +168,9 @@ Page<BasicExperimentPerson> pageResult = personRepository.findAll(specification, pageParam); List<PersonQueryDTO> personQueryDTOS = BeanCopyUtils.copyBeanList(pageResult.getContent(), PersonQueryDTO.class); +// BasicExperimentPerson person = new BasicExperimentPerson(); +// person.set +// personQueryDTOS.add() List<UserInfoDomainDTO> userList = userDomainService.getUserList(); for (PersonQueryDTO personQueryDTO : personQueryDTOS) { diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAssessLog.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAssessLog.java new file mode 100644 index 0000000..0e00ba6 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/entity/ExperimentAssessLog.java @@ -0,0 +1,44 @@ +package com.gkhy.labRiskManage.domain.experiment.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; + +import javax.persistence.*; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 实验与设备 + */ +@Entity +@Table(name = "experiment_assess_log") +@Data +public class ExperimentAssessLog implements Serializable { + private static final long serialVersionUID = -74398808654954420L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + /** + * 实验Code + */ + @Column(name = "experiment_code") + private String experimentCode; + + /** + * 评价时间 + */ + @JsonFormat + private LocalDateTime assessTime; + /** + * 评估结果:2-通过;3-不通过 + */ + private Byte assessResult; + /** + * 评估人 + */ + private String assessUser; + +} + 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 a6c8a09..3ab6aa8 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.ExperimentAssessLog; import lombok.Data; import javax.persistence.*; @@ -208,5 +209,6 @@ private List<ExperimentAndEmergencyDTO> emergencies; + private List<ExperimentAssessLog> experimentAssessLogs; } diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAssessLogRepository.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAssessLogRepository.java new file mode 100644 index 0000000..9c776fc --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/repository/jpa/ExperimentAssessLogRepository.java @@ -0,0 +1,16 @@ +package com.gkhy.labRiskManage.domain.experiment.repository.jpa; + +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface ExperimentAssessLogRepository extends JpaRepository<ExperimentAssessLog, Long> { + + @Query(value = "select * from experiment_assess_log e where e.experiment_code = :experimentCode ",nativeQuery = true) + List<ExperimentAssessLog> getAssessLogs(String experimentCode); + +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAssessLogService.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAssessLogService.java new file mode 100644 index 0000000..7648f97 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/ExperimentAssessLogService.java @@ -0,0 +1,12 @@ +package com.gkhy.labRiskManage.domain.experiment.service; + +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; + +import java.util.List; + +public interface ExperimentAssessLogService { + + ExperimentAssessLog saveExperimentAssessLog(ExperimentAssessLog experimentAssessLog); + + List<ExperimentAssessLog> getAssessLogs(String experimentCode); +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAssessLogServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAssessLogServiceImpl.java new file mode 100644 index 0000000..47099c0 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/experiment/service/impl/ExperimentAssessLogServiceImpl.java @@ -0,0 +1,26 @@ +package com.gkhy.labRiskManage.domain.experiment.service.impl; + +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; +import com.gkhy.labRiskManage.domain.experiment.repository.jpa.ExperimentAssessLogRepository; +import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAssessLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ExperimentAssessLogServiceImpl implements ExperimentAssessLogService { + + @Autowired + private ExperimentAssessLogRepository experimentAssessLogRepository; + + @Override + public ExperimentAssessLog saveExperimentAssessLog(ExperimentAssessLog experimentAssessLog) { + return experimentAssessLogRepository.save(experimentAssessLog); + } + + @Override + public List<ExperimentAssessLog> getAssessLogs(String experimentCode) { + return experimentAssessLogRepository.getAssessLogs(experimentCode); + } +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java index 4d42004..2c2aa9e 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/service/impl/ReportRiskAssessInfoServiceImpl.java @@ -19,17 +19,18 @@ import com.gkhy.labRiskManage.domain.account.model.dto.UserInfoDomainDTO; import com.gkhy.labRiskManage.domain.account.service.UserDomainService; import com.gkhy.labRiskManage.domain.basic.entity.BasicRiskUnitType; -import com.gkhy.labRiskManage.domain.basic.model.dto.PersonQueryDTO; import com.gkhy.labRiskManage.domain.basic.model.dto.SiteQueryDTO; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentPersonService; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentSiteService; import com.gkhy.labRiskManage.domain.basic.service.BasicRiskUnitTypeService; import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAndSite; +import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentAssessLog; import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentInfo; import com.gkhy.labRiskManage.domain.experiment.enums.ExperimentApprovalStatusEnum; import com.gkhy.labRiskManage.domain.experiment.enums.ExperimentRectifyStatusEnum; import com.gkhy.labRiskManage.domain.experiment.model.dto.ExperimentInfoDTO; import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAndSiteService; +import com.gkhy.labRiskManage.domain.experiment.service.ExperimentAssessLogService; import com.gkhy.labRiskManage.domain.experiment.service.ExperimentInfoService; import com.gkhy.labRiskManage.domain.riskReport.entity.*; import com.gkhy.labRiskManage.domain.riskReport.model.bo.ReportQueryBO; @@ -39,7 +40,6 @@ import com.gkhy.labRiskManage.domain.riskReport.service.*; import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils; import com.gkhy.labRiskManage.domain.riskReport.utils.RiskSourceTypeUtils; -import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -53,10 +53,8 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.Date; import java.util.List; @@ -91,6 +89,8 @@ private ReportExperimentRiskSourceTypeService reportSourceTypeService; @Autowired private ReportExperimentRiskSourceService reportSourceService; + @Autowired + private ExperimentAssessLogService experimentAssessLogService; @Autowired private UserDomainService userDomainService; @@ -820,6 +820,19 @@ if (ObjectUtils.isEmpty(experimentInfo)){ throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"实验信息状态修改失败"); } + + //添加评估记录 + ExperimentAssessLog experimentAssessLog = new ExperimentAssessLog(); + experimentAssessLog.setExperimentCode(experimentInfo.getExperimentCode()); + experimentAssessLog.setAssessTime(date); + experimentAssessLog.setAssessUser(user.getRealName()); + experimentAssessLog.setAssessResult(StatusEnum.APPROVED_PASS.getCode().byteValue()); + ExperimentAssessLog experimentAssessLogResult = experimentAssessLogService.saveExperimentAssessLog(experimentAssessLog); + if (ObjectUtils.isEmpty(experimentAssessLogResult)){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"实验信息评估记录写入失败"); + } + }else { + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"无操作权限"); } } @@ -843,6 +856,8 @@ if (ObjectUtils.isEmpty(assessPerson)){ throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"审核信息保存失败"); } + }else { + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"无操作权限"); } //修改报告状态 reportById.setApprovePlanStatus(StatusEnum.REPORT_NOT_APPROVED.getCode().byteValue()); @@ -860,6 +875,18 @@ if (ObjectUtils.isEmpty(experimentInfo)){ throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"实验信息状态修改失败"); } + + + //添加评估记录 + ExperimentAssessLog experimentAssessLog = new ExperimentAssessLog(); + experimentAssessLog.setExperimentCode(experimentInfo.getExperimentCode()); + experimentAssessLog.setAssessTime(date); + experimentAssessLog.setAssessUser(user.getRealName()); + experimentAssessLog.setAssessResult(StatusEnum.APPROVED_NOT_PASS.getCode().byteValue()); + ExperimentAssessLog experimentAssessLogResult = experimentAssessLogService.saveExperimentAssessLog(experimentAssessLog); + if (ObjectUtils.isEmpty(experimentAssessLogResult)){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"实验信息评估记录写入失败"); + } } return StatusEnum.SUCCESS.getCode(); -- Gitblit v1.9.2