Commit 8ab017eb authored by 周昊's avatar 周昊

1、开发根据横纵坐标获取对应可能性或严重性列表

2、开发根据得分返回对应的风险等级
parent c39e94b4
...@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -67,6 +68,13 @@ public class RiskPlanAppController extends BaseController { ...@@ -67,6 +68,13 @@ public class RiskPlanAppController extends BaseController {
@Resource @Resource
private IRiskPlanUserBuildingService riskPlanUserBuildingService; private IRiskPlanUserBuildingService riskPlanUserBuildingService;
@Resource
private IRiskAssessmentMatrixScoreService riskAssessmentMatrixScoreService;
@Resource
private IRiskAssessmentMatrixLevelService riskAssessmentMatrixLevelService;
/** /**
* 服务器地址 * 服务器地址
*/ */
...@@ -485,4 +493,26 @@ public class RiskPlanAppController extends BaseController { ...@@ -485,4 +493,26 @@ public class RiskPlanAppController extends BaseController {
public R<List<SysDictData>> getSysDictDataList(SysDictData dictData) { public R<List<SysDictData>> getSysDictDataList(SysDictData dictData) {
return R.ok(dictDataService.selectDictDataList(dictData)); return R.ok(dictDataService.selectDictDataList(dictData));
} }
/**
* 根据横纵坐标获取对应可能性或严重性列表
*
* @param type 类型 possibility 可能性 severity 严重性
* @real_return {@link R<List<RiskAssessmentMatrixScore>>}
*/
@GetMapping("/matrix/{type}/list")
public R<List<RiskAssessmentMatrixScore>> getRiskAssessmentMatrixScoreListByType(@PathVariable String type) {
return R.ok(riskAssessmentMatrixScoreService.getRiskAssessmentMatrixScoreListByType(type));
}
/**
* 根据得分返回对应的风险等级
*
* @param score 得分
* @real_return {@link R<RiskAssessmentMatrixLevel>}
*/
@GetMapping("/matrix/score/{score}")
public R<RiskAssessmentMatrixLevel> getRiskAssessmentMatrixLevelByScore(@PathVariable BigDecimal score) {
return R.ok(riskAssessmentMatrixLevelService.getRiskAssessmentMatrixLevelByScore(score));
}
} }
package com.censoft.censoftrongtong.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
/**
* 风险矩阵风险等级对应表 risk_assessment_matrix_level
*
* @author ruoyi
* @date 2023-07-05
*/
@Data
@TableName("risk_assessment_matrix_level")
public class RiskAssessmentMatrixLevel {
/**
* 风险类型
*/
@TableId(type = IdType.INPUT,value = "level")
private String level;
/**
* 最小值
*/
@TableField("min")
private BigDecimal min;
/**
* 最大值
*/
@TableField("max")
private BigDecimal max;
/**
* 排序
*/
@TableField("sort")
private Integer sort;
}
package com.censoft.censoftrongtong.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 风险矩阵横纵坐标分值表 risk_assessment_matrix_score
*
* @author ruoyi
* @date 2023-07-05
*/
@Data
@TableName("risk_assessment_matrix_score")
public class RiskAssessmentMatrixScore {
/**
* 名称
*/
@TableId(type = IdType.INPUT,value = "title")
private String title;
/**
* 横坐标还是纵坐标
*/
@TableField("type")
private String type;
/**
* 对应分值
*/
@TableField("score")
private BigDecimal score;
/**
* 排序
*/
@TableField("sort")
private Integer sort;
}
package com.censoft.censoftrongtong.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixLevel;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 风险矩阵风险等级对应表Mapper接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface RiskAssessmentMatrixLevelMapper extends BaseMapper<RiskAssessmentMatrixLevel> {
}
package com.censoft.censoftrongtong.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixLevel;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixScore;
/**
* 风险矩阵横纵坐标分值表Mapper接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface RiskAssessmentMatrixScoreMapper extends BaseMapper<RiskAssessmentMatrixScore> {
}
package com.censoft.censoftrongtong.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixLevel;
import java.math.BigDecimal;
/**
* 基Service接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface IRiskAssessmentMatrixLevelService extends IService<RiskAssessmentMatrixLevel> {
RiskAssessmentMatrixLevel getRiskAssessmentMatrixLevelByScore(BigDecimal score);
}
package com.censoft.censoftrongtong.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixScore;
import java.util.List;
/**
* 基Service接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface IRiskAssessmentMatrixScoreService extends IService<RiskAssessmentMatrixScore> {
List<RiskAssessmentMatrixScore> getRiskAssessmentMatrixScoreListByType(String type);
}
package com.censoft.censoftrongtong.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixLevel;
import com.censoft.censoftrongtong.mapper.RiskAssessmentMatrixLevelMapper;
import com.censoft.censoftrongtong.service.IRiskAssessmentMatrixLevelService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
import java.util.Optional;
/**
* 基础数据-楼层Service业务层处理
*
* @author ruoyi
* @date 2023-06-26
*/
@Service
public class RiskAssessmentMatrixLevelServiceImpl
extends ServiceImpl<RiskAssessmentMatrixLevelMapper, RiskAssessmentMatrixLevel>
implements IRiskAssessmentMatrixLevelService {
@Override
public RiskAssessmentMatrixLevel getRiskAssessmentMatrixLevelByScore(BigDecimal score) {
LambdaQueryWrapper<RiskAssessmentMatrixLevel> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper.orderByAsc(RiskAssessmentMatrixLevel::getSort);
List<RiskAssessmentMatrixLevel> list = list(wrapper);
//逐个匹配
Optional<RiskAssessmentMatrixLevel> first = list.stream().filter(po -> {
boolean minFlag = true;
boolean maxFlag = true;
if (po.getMin() != null) {
minFlag = score.compareTo(po.getMin()) >= 0;
}
if (po.getMax() != null) {
maxFlag = score.compareTo(po.getMax()) < 0;
}
return minFlag && maxFlag;
}).findFirst();
return first.get();
}
}
package com.censoft.censoftrongtong.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.censoft.censoftrongtong.domain.RiskAssessmentMatrixScore;
import com.censoft.censoftrongtong.mapper.RiskAssessmentMatrixScoreMapper;
import com.censoft.censoftrongtong.service.IRiskAssessmentMatrixScoreService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 基础数据-楼层Service业务层处理
*
* @author ruoyi
* @date 2023-06-26
*/
@Service
public class RiskAssessmentMatrixScoreServiceImpl
extends ServiceImpl<RiskAssessmentMatrixScoreMapper, RiskAssessmentMatrixScore>
implements IRiskAssessmentMatrixScoreService {
@Override
public List<RiskAssessmentMatrixScore> getRiskAssessmentMatrixScoreListByType(String type) {
LambdaQueryWrapper<RiskAssessmentMatrixScore> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(RiskAssessmentMatrixScore::getType, type).orderByAsc(RiskAssessmentMatrixScore::getSort);
return list(wrapper);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment