package com.gkhy.labRiskManage.domain.riskReport.repository.jpa; import com.gkhy.labRiskManage.api.controller.riskReport.dto.repDto.RiskUnitListReqBO; import com.gkhy.labRiskManage.domain.riskReport.entity.RiskUnit; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import java.util.List; /** * 实验风险单元 */ @Repository public interface RiskUnitRepository extends JpaRepository, JpaSpecificationExecutor { /** * 实验风险单元 - 查询 by code */ @Query(value = "select t from RiskUnit t where t.riskCode = :riskCode and t.deleteStatus = 0") RiskUnit getUnitByCode(String riskCode); /** * 风险单元 - 查询 by id */ @Query(value = "select t from RiskUnit t where t.id = :id and t.deleteStatus = 0") RiskUnit getUnitById(Long id); /** * 风险单元 - 查询by name */ @Query(value = "select * from risk_unit where risk_name = :riskUnitName and delete_status = 0",nativeQuery = true) List getRiskUnitByName(String riskUnitName); /** * 基础风险单元管理 - 列表查询 */ @Query(value = "select * from risk_unit where delete_status = 0 and evaluate_status = 1",nativeQuery = true) List listRiskUnit(); /** * 基础风险单元管理 - 列表查询 */ @Query(value = "select * from risk_unit where create_by_user_id = :currentUserId and delete_status = 0 and evaluate_status = 1",nativeQuery = true) List listRiskUnitByUserId(Long currentUserId); /** * 基础风险单元管理 - 已添加评估计划的unit */ @Query(value = "select * from risk_unit where delete_status = 0",nativeQuery = true) List listAssessRiskUnit(); @Query(value = "select * from risk_unit where delete_status = 0 and experiment_id = :id",nativeQuery = true) List getRiskUnitByExperimentId(Long id); @Query(value = "select * from risk_unit where delete_status = 0 and risk_source_type < 4",nativeQuery = true) List listInherentRiskUnit(); /** * 基础风险单元管理 - 列表查询 */ @Query(value = "select * from risk_unit where delete_status = 0 and evaluate_status = 1 and experiment_id = :#{#reqBO.ExperimentId}",nativeQuery = true) List listRiskUnitByExperiment(RiskUnitListReqBO reqBO); /** * 基础风险单元管理 - 列表查询 */ @Query(value = "select * from risk_unit where create_by_user_id = :currentUserId and delete_status = 0 and evaluate_status = 1 and experiment_id = :#{#reqBO.ExperimentId}",nativeQuery = true) List listRiskUnitByExperimentAndUserId(Long currentUserId, RiskUnitListReqBO reqBO); }