master
周文涛 2 years ago
parent b1d2699882
commit fd13f6d221

@ -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) {

Loading…
Cancel
Save