|
|
|
@ -20,6 +20,7 @@ import java.util.ArrayList;
|
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.function.Function;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -47,9 +48,19 @@ public class OcrMetadataConfigServiceImpl extends ServiceImpl<OcrMetadataConfigM
|
|
|
|
|
OcrMetadataConfig ocrMetadataConfig=new OcrMetadataConfig();
|
|
|
|
|
ocrMetadataConfig.setConfigName(ocrMetadataConfigSaveModel.getConfigName());
|
|
|
|
|
this.save(ocrMetadataConfig);
|
|
|
|
|
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
|
|
|
|
|
detail.setMetadataConfigId(ocrMetadataConfig.getId());
|
|
|
|
|
ocrMetadataConfigDetailService.saveOrUpdate(detail);
|
|
|
|
|
List<OcrMetadataConfigDetail> ocrMetadataConfigDetailList = ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList();
|
|
|
|
|
if(ocrMetadataConfigDetailList!=null&&ocrMetadataConfigDetailList.size()>0){
|
|
|
|
|
//判断重复字段名
|
|
|
|
|
Map<String, Long> countMap = ocrMetadataConfigDetailList.stream().map(o->o.getFieldName()).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
|
|
|
|
if (countMap.keySet().size()>0) {
|
|
|
|
|
//有重复的字段名
|
|
|
|
|
String fieldsName = countMap.keySet().stream().filter(key -> countMap.get(key) > 1).distinct().collect(Collectors.joining(","));
|
|
|
|
|
AssertUtils.isEmpty(fieldsName,String.format("字段名[%s]-重复了",fieldsName));
|
|
|
|
|
}
|
|
|
|
|
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
|
|
|
|
|
detail.setMetadataConfigId(ocrMetadataConfig.getId());
|
|
|
|
|
ocrMetadataConfigDetailService.saveOrUpdate(detail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ocrMetadataConfig;
|
|
|
|
|
}
|
|
|
|
@ -60,10 +71,22 @@ public class OcrMetadataConfigServiceImpl extends ServiceImpl<OcrMetadataConfigM
|
|
|
|
|
OcrMetadataConfig ocrMetadataConfig = this.getById(ocrMetadataConfigSaveModel.getId());
|
|
|
|
|
ocrMetadataConfig.setConfigName(ocrMetadataConfigSaveModel.getConfigName());
|
|
|
|
|
this.updateById(ocrMetadataConfig);
|
|
|
|
|
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
|
|
|
|
|
detail.setMetadataConfigId(ocrMetadataConfig.getId());
|
|
|
|
|
ocrMetadataConfigDetailService.saveOrUpdate(detail);
|
|
|
|
|
List<OcrMetadataConfigDetail> ocrMetadataConfigDetailList = ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList();
|
|
|
|
|
|
|
|
|
|
if(ocrMetadataConfigDetailList!=null&&ocrMetadataConfigDetailList.size()>0){
|
|
|
|
|
//判断重复字段名
|
|
|
|
|
Map<String, Long> countMap = ocrMetadataConfigDetailList.stream().map(o->o.getFieldName()).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
|
|
|
|
if (countMap.keySet().size()>0) {
|
|
|
|
|
//有重复的字段名
|
|
|
|
|
String fieldsName = countMap.keySet().stream().filter(key -> countMap.get(key) > 1).distinct().collect(Collectors.joining(","));
|
|
|
|
|
AssertUtils.isEmpty(fieldsName,String.format("字段名[%s]-重复了",fieldsName));
|
|
|
|
|
}
|
|
|
|
|
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
|
|
|
|
|
detail.setMetadataConfigId(ocrMetadataConfig.getId());
|
|
|
|
|
ocrMetadataConfigDetailService.saveOrUpdate(detail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//删除旧明细
|
|
|
|
|
List<String> notRemoveIdList = new ArrayList<>();
|
|
|
|
|
if (ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList().size()>0) {
|
|
|
|
|