|
|
|
@ -2,6 +2,7 @@ package com.supervision.police.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.alibaba.druid.sql.ast.SQLStatement;
|
|
|
|
@ -61,6 +62,7 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
|
|
|
|
|
|
|
|
|
|
@Value("${case.evidence.table}")
|
|
|
|
|
private List<String> allowedTables;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
|
|
|
|
|
public R<?> selectAll(ModelIndex modelIndex, Integer page, Integer size) {
|
|
|
|
@ -152,6 +154,11 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
|
|
|
|
|
Assert.notEmpty(modelAtomicIndex.getQueryLang(), "查询语言不能为空");
|
|
|
|
|
Assert.isTrue(checkSql(modelAtomicIndex.getQueryLang()), "查询语句不合法");
|
|
|
|
|
}
|
|
|
|
|
// 校验是否已经存在了相同名称的原子指标
|
|
|
|
|
ModelAtomicIndex existIndex = modelAtomicIndexService.lambdaQuery().eq(ModelAtomicIndex::getName, modelAtomicIndex.getName()).last("limit 1").one();
|
|
|
|
|
if (ObjectUtil.isNotEmpty(existIndex) && !StringUtils.equals(modelAtomicIndex.getId(), existIndex.getId())){
|
|
|
|
|
throw new RuntimeException("已存在相同名称的原子指标");
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isEmpty(modelAtomicIndex.getId())) {
|
|
|
|
|
i = modelAtomicIndexService.getMapper().insert(modelAtomicIndex);
|
|
|
|
|
} else {
|
|
|
|
@ -297,6 +304,7 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 清空案件下的评估结果
|
|
|
|
|
*
|
|
|
|
|
* @param caseId 案件id
|
|
|
|
|
* @param caseType 案件类型
|
|
|
|
|
* @param actorId 行为人id
|
|
|
|
@ -310,8 +318,10 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
|
|
|
|
|
.eq(ModelAtomicResult::getCasePersonId, actorId)
|
|
|
|
|
.in(CollUtil.isNotEmpty(automicIndexIds), ModelAtomicResult::getAtomicId, automicIndexIds));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 从逻辑中获取原子指标id
|
|
|
|
|
*
|
|
|
|
|
* @param judgeLogic 判断逻辑json字符串
|
|
|
|
|
* @return 原子指标id(不重复)
|
|
|
|
|
*/
|
|
|
|
|