package cn.iocoder.yudao.module.mes.service.safety;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.risk.MesSafetyRiskPageReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.risk.MesSafetyRiskSaveReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.safety.MesSafetyRiskDO;
|
|
import java.util.List;
|
|
/**
|
* 安全生产 - 风险清单 Service 接口
|
*
|
* 风险评估采用 LEC 法:D = L × E × C
|
*
|
* @author 超级管理员
|
*/
|
public interface MesSafetyRiskService {
|
|
/**
|
* 获得风险清单分页
|
*/
|
PageResult<MesSafetyRiskDO> getRiskPage(MesSafetyRiskPageReqVO pageReqVO);
|
|
/**
|
* 获得风险清单
|
*/
|
MesSafetyRiskDO getRisk(Long id);
|
|
/**
|
* 创建风险清单(自动计算 D 值与风险等级)
|
*/
|
Long createRisk(MesSafetyRiskSaveReqVO createReqVO);
|
|
/**
|
* 更新风险清单(自动重算 D 值与风险等级)
|
*/
|
void updateRisk(MesSafetyRiskSaveReqVO updateReqVO);
|
|
/**
|
* 删除风险清单
|
*/
|
void deleteRisk(Long id);
|
|
/**
|
* 获得指定风险单元下的风险清单
|
*/
|
List<MesSafetyRiskDO> getRiskListByUnitId(Long unitId);
|
|
/**
|
* 校验风险清单存在
|
*/
|
MesSafetyRiskDO validateRiskExists(Long id);
|
|
/**
|
* 计算风险值 D = L × E × C
|
*/
|
java.math.BigDecimal calculateRiskValue(java.math.BigDecimal likelihood,
|
java.math.BigDecimal exposure,
|
java.math.BigDecimal consequence);
|
|
/**
|
* 按风险值计算风险等级:D≥320 重大(1);160≤D<320 较大(2);70≤D<160 一般(3);D<70 低(4)
|
*/
|
Integer calculateRiskLevel(java.math.BigDecimal riskValue);
|
|
}
|