diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java index 9defee72..fa22661d 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java @@ -206,11 +206,24 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> } } if(jsonObjectMain!=null && jsonObjectMain.size()>0) { - Map<String, Object> map = new HashMap<>();//将主表数据存到map中 + Map<String, Object> map = new HashMap<>();//将主表数据存到map中 List<List<Map<String, Object>>> mapDetails = new ArrayList<>();//将子表数据存到map中 if (comparisonEntities != null && comparisonEntities.size() > 0) { map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); + //根据data_id判断数据是否已经保存在相关表中,避免重复保存 + List<String> fields = getFields(comparisonEntity); + Map<String,Object> mapDataId=new HashMap<>(); + mapDataId.put("data_id",jsonObjectMain.getString("data_id")); + ComparisonEntity comparisonDataId=new ComparisonEntity(); + comparisonDataId.setMap(mapDataId); + comparisonDataId.setDbName(comparisonEntity.getDbName()); + comparisonDataId.setFields(fields); + List<Map<String, Object>> listDataId = comparisonDao.queryComparisonPage(comparisonDataId); + if(CollectionUtils.isNotEmpty(listDataId)){ + return BaseResult.getFailureMessageEntity(comparisonEntity.getDbName()+"表中已经存在data_id为:"+jsonObjectMain.getString("data_id")+"的数据"); + } + //判断输入的主表字段是否是必填项 for (ComparisonEntity entity : comparisonEntities) { //如果必填字段不为空