1. 修复bug

topo_dev
xueqingkun 6 months ago
parent 7513c94b41
commit 4486b1540e

@ -47,7 +47,7 @@ public class EvidenceDirectory implements Serializable {
/**
*
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**

@ -19,6 +19,12 @@ public class AtomicIndexDTO {
*/
private String indexName;
/**
*
*/
private String parentIndexName;
/**
*
*/

@ -396,16 +396,19 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
}
@Override
@Transactional(rollbackFor = Exception.class, transactionManager = "dataSourceTransactionManager")
public void initCaseEvidenceDirectory(String caseId, String caseType) {
List<EvidenceCategoryDTO> evidenceCategoryDTOS = evidenceCategoryService.listCategoryTree(caseType);
List<EvidenceCategoryDTO> evidenceCategoryTree = evidenceCategoryService.listCategoryTree(caseType);
List<EvidenceDirectoryDTO> evidenceDirectoryTree = evidenceDirectoryService.listDirectoryTree(caseId);
initCaseEvidenceDirectory(evidenceCategoryDTOS, caseId, null);
initCaseEvidenceDirectory(evidenceCategoryTree,evidenceDirectoryTree,caseId, null);
}
@Override
@Transactional(rollbackFor = Exception.class, transactionManager = "dataSourceTransactionManager")
public void refreshCaseEvidence() {
log.info("开始初始化案件的证据目录。=========>>>>");
List<ModelCase> list = modelCaseService.list();
List<CaseEvidence> allEvidence = super.list();
@ -420,15 +423,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
"7", "5",/*视听资料*/
"8", "6"/*勘验笔录*/);
Set<String> findCaseIdSet = evidenceDirectoryService.list().stream().map(EvidenceDirectory::getCaseId).collect(Collectors.toSet());
for (ModelCase modelCase : list) {
String caseType = modelCase.getCaseType();
String id = modelCase.getId();
if (findCaseIdSet.contains(id)){
// 已经初始化一次的数据,不进行二次处理
continue;
}
// 开始初始化
initCaseEvidenceDirectory(id, caseType);
EvidenceDirectoryDTO rootDirectory = new EvidenceDirectoryDTO(listDirectoryTree(id));
@ -478,6 +475,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
}
}
log.info("<<<<=======初始化案件的证据目录完成。案件总条数:{}", list.size());
}
@ -1127,20 +1125,38 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
/**
*
*
* @param evidenceCategoryDTOS
* @param evidenceCategoryTree
* @param caseId id
* @param parentId id
* @param evidenceDirectoryTree id
*/
/**
*
* @param evidenceCategoryTree
* @param evidenceDirectoryTree
* @param caseId id
* @param parentId id
*/
private void initCaseEvidenceDirectory(List<EvidenceCategoryDTO> evidenceCategoryDTOS, String caseId, String parentId) {
for (EvidenceCategoryDTO evidenceCategoryDTO : evidenceCategoryDTOS) {
EvidenceDirectory evidenceDirectory = new EvidenceDirectory();
evidenceDirectory.setCaseId(caseId);
evidenceDirectory.setDirectoryName(evidenceCategoryDTO.getCategoryName());
evidenceDirectory.setCategoryId(evidenceCategoryDTO.getId());
evidenceDirectory.setParentId(parentId);
evidenceDirectoryService.save(evidenceDirectory);
private void initCaseEvidenceDirectory(List<EvidenceCategoryDTO> evidenceCategoryTree, List<EvidenceDirectoryDTO> evidenceDirectoryTree,String caseId,String parentId) {
if (null == evidenceDirectoryTree){
evidenceDirectoryTree = new ArrayList<>(1);
}
for (EvidenceCategoryDTO evidenceCategoryDTO : evidenceCategoryTree) {
List<EvidenceDirectoryDTO> directoryDTOS = evidenceDirectoryTree.stream().filter(evidenceDirectoryDTO -> evidenceDirectoryDTO.getCategoryId().equals(evidenceCategoryDTO.getId())).toList();
if (CollUtil.isEmpty(directoryDTOS)){
EvidenceDirectory evidenceDirectory = new EvidenceDirectory();
evidenceDirectory.setCaseId(caseId);
evidenceDirectory.setDirectoryName(evidenceCategoryDTO.getCategoryName());
evidenceDirectory.setCategoryId(evidenceCategoryDTO.getId());
evidenceDirectory.setParentId(parentId);
evidenceDirectoryService.save(evidenceDirectory);
EvidenceDirectoryDTO directoryDTO = new EvidenceDirectoryDTO(evidenceDirectory);
evidenceDirectoryTree.add(directoryDTO);
directoryDTOS = List.of(directoryDTO);
}
EvidenceDirectoryDTO parentDTO = CollUtil.getFirst(directoryDTOS);
if (CollUtil.isNotEmpty(evidenceCategoryDTO.getChild())) {
initCaseEvidenceDirectory(evidenceCategoryDTO.getChild(), caseId, evidenceDirectory.getId());
initCaseEvidenceDirectory(evidenceCategoryDTO.getChild(),parentDTO.getChild(),caseId,parentDTO.getId());
}
}
}

@ -91,6 +91,8 @@ public class FileOcrProcessServiceImpl extends ServiceImpl<FileOcrProcessMapper,
fileOcrProcess.setStatus(OcrProcessStatus.UNPROCESS.getCode());
super.updateById(fileOcrProcess);
processList.add(fileOcrProcess);
}else {
log.info("submitOCR:文件id:{},识别状态为:{}跳过...", fileId,ocrProcessMap.get(fileId).getStatus());
}
}else {
FileOcrProcess fileOcrProcess = new FileOcrProcess(fileId, OcrProcessStatus.UNPROCESS.getCode());

@ -415,7 +415,7 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
List<ModelAtomicResult> atomicResultList = modelAtomicResultService.lambdaQuery().eq(ModelAtomicResult::getCaseId, caseId).list();
List<String> list = atomicResultList.stream().map(ModelAtomicResult::getEvidenceId).filter(Objects::nonNull).map(v -> v.split(",")).flatMap(Arrays::stream).toList();
List<CaseEvidence> caseEvidenceList = caseEvidenceService.listByIds(list);
List<CaseEvidence> caseEvidenceList = CollUtil.isEmpty(list) ? new ArrayList<>() : caseEvidenceService.listByIds(list);
for (IndexDetail record : indexDetails) {
if (StringUtils.isEmpty(record.getJudgeLogic())) {
@ -439,6 +439,8 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
List<ModelAtomicResult> filterAtomicResultList = atomicResultList.stream().filter(v -> StrUtil.equals(record.getIndexId(), v.getIndexId())).toList();
List<EvidentIndexResultDTO> evidentResult = getEvidentResult(filterAtomicResultList, caseEvidenceList, rootDirectory);
atomic.setEvidentResultList(evidentResult);
atomic.setParentIndexName(record.getIndexName());
}
record.setChildren(atomics);

@ -74,6 +74,9 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
@Value("${case.evidence.table}")
private List<String> allowedTables;
@Value("${case.atomic.query}")
private String queryTemplate;
@Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
public R<?> selectAll(ModelIndexReqVO modelIndex, Integer page, Integer size) {
@ -229,6 +232,12 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
Assert.notNull(notePrompt, "提示词信息不存在");
Assert.notEmpty(notePrompt.getEvidenceCategoryId(), "提示词分类为空");
modelAtomicIndex.setCategoryId(notePrompt.getEvidenceCategoryId());
}else if (StringUtils.equals(IndexRuleConstants.OPERAND_TYPE_GRAPH, modelAtomicIndex.getIndexSource())) {
Assert.notEmpty(modelAtomicIndex.getPromptId(), "提示词id不能为空");
NotePrompt notePrompt = notePromptService.getBaseMapper().selectById(modelAtomicIndex.getPromptId());
Assert.notNull(notePrompt, "提示词信息不存在");
String query = promptGenerateGraphQuery(notePrompt, queryTemplate);
modelAtomicIndex.setQueryLang(query);
}
}
@ -246,6 +255,19 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
}
}
private String promptGenerateGraphQuery(NotePrompt prompt, String queryTemplate) {
if (null == prompt || !StrUtil.equals("2", prompt.getType())) {
return null;
}
return StrUtil.format(queryTemplate,
new HashMap<String, Object>() {{
put("startEntityType", prompt.getStartEntityType());
put("relType", prompt.getRelType());
put("endEntityType", prompt.getEndEntityType());
}});
}
@Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
public List<CaseAtomicIndexDTO> listCaseAtomicIndex(String caseId, String indexSource) {
@ -382,7 +404,7 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
}
List<NotePrompt> notePrompts = notePromptService.listByIds(promptIds);
Map<String, String> dicMap = comDictionaryService.getDictionaryMapReverse("prompt_attribute_valuetype");
Map<String, String> dicMap = comDictionaryService.getDictionaryMap("prompt_attribute_valuetype");
for (Map.Entry<String, List<ValueCalculateScopeDTO>> entry : result.entrySet()) {
List<ValueCalculateScopeDTO> scopeDTOList = makeScopes(entry.getKey(), atomicIndexList, notePrompts, dicMap);
@ -411,11 +433,11 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
return extractAttributes.stream().map(extractAttribute -> {
ValueCalculateScopeDTO valueCalculateScope = new ValueCalculateScopeDTO();
valueCalculateScope.setValue(extractAttribute.getAttrName());
valueCalculateScope.setValueType(dicMap.get(extractAttribute.getAttrValueType()));
valueCalculateScope.setValueTypeDesc(extractAttribute.getAttrValueType());
valueCalculateScope.setValueType(extractAttribute.getAttrValueType());
valueCalculateScope.setValueTypeDesc(dicMap.get(extractAttribute.getAttrValueType()));
valueCalculateScope.setOperatorList(
IndexRuleConstants.VALUE_TYPE_OPERATOR_MAPPING.get(valueCalculateScope.getValueType()));
Map<String, String> map = IndexRuleConstants.VALUE_TYPE_AGGREGATE_MAPPING.get(valueCalculateScope.getValueType());
IndexRuleConstants.VALUE_TYPE_OPERATOR_MAPPING.get(extractAttribute.getAttrValueType()));
Map<String, String> map = IndexRuleConstants.VALUE_TYPE_AGGREGATE_MAPPING.getOrDefault(valueCalculateScope.getValueType(),new HashMap<>());
valueCalculateScope.setAggregateList(map.entrySet().stream().map(entry -> new Pair<>(entry.getKey(), entry.getValue())).toList());
return valueCalculateScope;
}).toList();

@ -309,7 +309,7 @@ public class FuHsiApplicationTests {
@Test
public void initCaseDirectory() {
caseEvidenceService.initCaseEvidenceDirectory("1823955210189000706", "1");
caseEvidenceService.initCaseEvidenceDirectory("1846389691251220482", "1");
System.out.println("222");
}

Loading…
Cancel
Save