原子指标判断代码提交

topo_dev
liu 9 months ago
parent 625f5e8335
commit f8ed976a06

@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.Param;
public interface ModelAtomicResultMapper extends BaseMapper<ModelAtomicResult> {
ModelAtomicResult selectByCaseIdAndAtomicId(@Param("caseId") String caseId,
@Param("casePersonId") String casePersonId,
@Param("atomicId") String atomicId);
}

@ -1,7 +1,10 @@
package com.supervision.police.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.supervision.common.domain.R;
import com.supervision.common.utils.StringUtils;
import com.supervision.neo4j.dto.ResultDTO;
@ -38,15 +41,24 @@ public class ModelServiceImpl implements ModelService {
private final ModelIndexResultMapper modelIndexResultMapper;
private final CasePersonMapper casePersonMapper;
@Override
public R<?> analyseCase(AnalyseCaseDTO analyseCaseDTO) {
ModelCase modelCase = modelCaseMapper.selectById(analyseCaseDTO.getCaseId());
// 获取行为人ID
CasePerson casePerson = casePersonMapper.selectOne(new LambdaQueryWrapper<CasePerson>().eq(CasePerson::getCaseId, analyseCaseDTO.getCaseId())
.eq(CasePerson::getRoleCode, "1").eq(CasePerson::getName, analyseCaseDTO.getLawActor()));
if (ObjectUtil.isEmpty(casePerson)) {
throw new RuntimeException("未找到的行为人" + analyseCaseDTO.getLawActor());
}
//原子指标
List<ModelAtomicIndex> atomicIndices = modelAtomicIndexMapper.selectByCaseType(modelCase.getCaseType());
Map<String, Boolean> atomicResultMap = new HashMap<>();
for (ModelAtomicIndex atomicIndex : atomicIndices) {
//原子指标结果
ModelAtomicResult result = new ModelAtomicResult();
result.setCasePersonId(casePerson.getId());
result.setCaseId(analyseCaseDTO.getCaseId());
result.setAtomicId(atomicIndex.getId());
//查询语句
@ -70,10 +82,10 @@ public class ModelServiceImpl implements ModelService {
//
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
//保存原子指标结果表
ModelAtomicResult exist = modelAtomicResultMapper.selectByCaseIdAndAtomicId(analyseCaseDTO.getCaseId(), atomicIndex.getId());
ModelAtomicResult exist = modelAtomicResultMapper.selectByCaseIdAndAtomicId(analyseCaseDTO.getCaseId(), casePerson.getId(), atomicIndex.getId());
if (exist == null) {
modelAtomicResultMapper.insert(result);
} else {

@ -10,6 +10,9 @@
<if test="atomicId != null and atomicId != ''">
and atomic_id = #{atomicId}
</if>
<if test="casePersonId != null and casePersonId != ''">
and case_person_id = #{casePersonId}
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save