From 15b031bd364b83c50a8b081e014e5eb8b0dc509f Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Tue, 25 Jun 2024 09:52:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5data=5F?= =?UTF-8?q?id=E4=B8=BA=E7=AC=AC=E4=B8=89=E6=96=B9=E4=B8=BB=E9=94=AEid?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E7=AC=AC=E4=B8=89=E6=96=B9=E4=B8=BB=E9=94=AE?= =?UTF-8?q?=E6=9D=A5=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ComparisonDetailsEntity.java | 10 +++ .../entity/ComparisonDetailsEntity.xml | 4 +- .../comparison/entity/ComparisonEntity.java | 10 +++ .../comparison/entity/ComparisonEntity.xml | 4 +- .../service/impl/ComparisonServiceImpl.java | 61 ++++++++++++------- 5 files changed, 63 insertions(+), 26 deletions(-) diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.java index 5766ec65..112c0d4a 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.java @@ -31,6 +31,16 @@ public class ComparisonDetailsEntity extends BaseEntity { private String filedType;//字段类型 1、BIGINT 2、DECIMAL 3、VARCHAR 4、DATETIME private String formmainId;//上级id + private String dataId;//第三方主键id + + public String getDataId() { + return dataId; + } + + public void setDataId(String dataId) { + this.dataId = dataId; + } + public String getFormmainId() { return formmainId; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml index 754cca03..8b35da0b 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml @@ -48,14 +48,14 @@ ${key} =#{value} </foreach> </set> - where id=#{id} and sts='Y' + where data_id=#{dataId} and sts='Y' </update> <!-- 多条件逻辑删除 --> <update id="deleteComparisonDetails" parameterType = "java.util.Map" > update ${dbName} - set sts= 'N' ,modify_time = now(),modify_user_id = #{modify_user_id}, data_status= 'N',delete_status='0' + set modify_time = now(),modify_user_id = #{modify_user_id}, data_status= 'N' <trim prefix="where" prefixOverrides="and"> <!--<foreach collection="mapDetails.entrySet()" item="value" index="key"> ${key} =#{value} diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java index 6a97f2b4..1cb1b3db 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java @@ -44,6 +44,16 @@ public class ComparisonEntity extends BaseEntity { private String listType;//显示类型:列表 private String viewType;//显示类型:显示 + private String dataId;//第三方主键id + + public String getDataId() { + return dataId; + } + + public void setDataId(String dataId) { + this.dataId = dataId; + } + public String getAddType() { return addType; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml index d24c345d..47e8825a 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml @@ -106,7 +106,7 @@ ${key} =#{value} </foreach> </set> - where id=#{id} and sts='Y' + where data_id=#{dataId} and sts='Y' </update> @@ -119,7 +119,7 @@ <foreach collection="map.entrySet()" item="value" index="key"> and ${key} =#{value} </foreach> - and id=#{id} and sts='Y' + and data_id=#{dataId} and sts='Y' </trim> </update> 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 8445dc71..3104b67f 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 @@ -18,6 +18,7 @@ import com.hzya.frame.sysnew.comparison.dao.IComparisonDetailsDao; import com.hzya.frame.sysnew.comparison.entity.ComparisonDetailsEntity; import com.hzya.frame.sysnew.comparison.entity.ComparisonEntity; import com.hzya.frame.sysnew.comparison.service.IComparisonService; +import com.hzya.frame.uuid.UUIDLong; import com.hzya.frame.uuid.UUIDUtils; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; @@ -101,7 +102,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> JSONObject jsonObjects=new JSONObject(); jsonObjects.put(comparisonEntity.getDbName(),comparisonEntitiePage); if(comparisonDetailsEntity.getDbName()!=null){ - comparisonDetailsEntity.setFormmainId(String.valueOf(comparisonEntitiePage.get("id"))); + comparisonDetailsEntity.setFormmainId(String.valueOf(comparisonEntitiePage.get("data_id"))); //查询明细表数据 List<Map<String, Object>> maps = comparisonDetailsDao.queryComparisonDetailsPage(comparisonDetailsEntity); if(CollectionUtils.isNotEmpty(maps)){ @@ -165,8 +166,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> String main = jsonObject.getString(keyPair.getKey()); if(main!=null){ jsonObjectMain = JSONObject.parseObject(main); - if(!checkStr(jsonObjectMain.getString("id"))){ - return BaseResult.getFailureMessageEntity("新增时候主表id不能为空"); + if(!checkStr(jsonObjectMain.getString("data_id"))){ + return BaseResult.getFailureMessageEntity("新增时候主表data_id不能为空"); } } } @@ -177,8 +178,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObjectDetails = jsonArray.getJSONObject(i); jsonObjectDetails.put("table_name", keyPair.getKey()); - if(!checkStr(jsonObjectDetails.getString("id"))){ - return BaseResult.getFailureMessageEntity("新增时候明细id不能为空"); + if(!checkStr(jsonObjectDetails.getString("data_id"))){ + return BaseResult.getFailureMessageEntity("新增时候明细data_id不能为空"); } } arrayList.add(jsonArray); @@ -190,6 +191,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> List<List<Map<String, Object>>> mapDetails = new ArrayList<>();//将子表数据存到map中 if (comparisonEntities != null && comparisonEntities.size() > 0) { map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); + map.put("id", UUIDLong.longUUID()); map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("org_id", "0"); @@ -246,8 +248,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> if(mapDetails.size()>0 && mapDetails!=null ){ for (List<Map<String, Object>> mapDetail : mapDetails) { for (Map<String, Object> stringObjectMap : mapDetail) { - stringObjectMap.put("id", stringObjectMap.get("id")); - stringObjectMap.put("formmain_id", jsonObjectMain.getString("id")); + stringObjectMap.put("id", UUIDLong.longUUID()); + stringObjectMap.put("formmain_id", jsonObjectMain.getString("data_id")); stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("org_id", "0"); @@ -271,7 +273,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> } list.add(jsonObjectList); //保存操作日志 - controlsLogDaoimpl.saveControlsLog(jsonObjectMain.getString("id"),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonEntityRule.getDbName()+"_option_log"); + controlsLogDaoimpl.saveControlsLog(jsonObjectMain.getString("data_id"),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonEntityRule.getDbName()+"_option_log"); return BaseResult.getSuccessMessageEntity("保存成功", list); } catch (Exception e) { logger.info("保存通用数据时候错误:{}", e.getMessage()); @@ -322,8 +324,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> String main = jsonObject.getString(keyPair.getKey()); if(main!=null){ jsonObjectMain = JSONObject.parseObject(main); - if(!checkStr(jsonObjectMain.getString("id"))){ - return BaseResult.getFailureMessageEntity("更新时候主表id不能为空"); + if(!checkStr(jsonObjectMain.getString("data_id"))){ + return BaseResult.getFailureMessageEntity("更新时候主表data_id不能为空"); } } } @@ -332,8 +334,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> if(jsonArray!= null) { for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObjectDetails = jsonArray.getJSONObject(i); - if(!checkStr(jsonObjectDetails.getString("id"))){ - return BaseResult.getFailureMessageEntity("更新明细表时候明细表id不能为空"); + if(!checkStr(jsonObjectDetails.getString("data_id"))){ + return BaseResult.getFailureMessageEntity("更新明细表时候明细表data_id不能为空"); } jsonObjectDetails.put("table_name", keyPair.getKey()); } @@ -353,7 +355,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> map.put("data_status","F");//数据状态 map.put("update_status","0");//修改状态 comparisonEntity.setMap(map); - comparisonEntity.setId(jsonObjectMain.getString("id")); + comparisonEntity.setDataId(jsonObjectMain.getString("data_id")); /*//生成单据规则 comparisonEntity.setRulePrefix(jsonObject.getString("rulePrefix")); try { @@ -367,7 +369,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> try { List<JSONObject> jsonObjects=new ArrayList<>(); JSONObject jsonObjectList=new JSONObject(); - //保存主表数据 + //更新主表数据 Integer integer = comparisonDao.updateComparisonByType(comparisonEntity); jsonObjectList.put(comparisonEntity.getDbName(),map); if (integer>0) { @@ -382,7 +384,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> stringObjectMap.put("modify_time", new Date()); stringObjectMap.put("sts", "Y"); stringObjectMap.put("data_status","F");//数据状态 - comparisonDetailsEntity.setId(String.valueOf(stringObjectMap.get("id"))); + comparisonDetailsEntity.setDataId(String.valueOf(stringObjectMap.get("data_id"))); comparisonDetailsEntity.setMapDetails(stringObjectMap); comparisonDetailsEntity.setDbName(String.valueOf(stringObjectMap.get("table_name"))); stringObjectMap.remove("table_name"); @@ -425,10 +427,6 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> } ComparisonEntity comparisonEntity = jsonObject.toJavaObject(ComparisonEntity.class); ComparisonDetailsEntity comparisonDetailsEntity=new ComparisonDetailsEntity(); - JSONObject jsonObjectMain=jsonObject.getJSONObject("main");//获取主表数据 - if(!checkStr(jsonObjectMain.getString("id"))){ - return BaseResult.getFailureMessageEntity("删除时候主表id不能为空"); - } List<ComparisonEntity> comparisonEntities=new ArrayList<>(); //根据主数据编码查询表名称,字段名称等信息 10001 try { @@ -440,6 +438,25 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> logger.info("根据主数据编码查询信息错误:{}",e.getMessage()); return BaseResult.getFailureMessageEntity("删除失败"); } + JSONObject jsonObjectMain=new JSONObject(); + //根据dbtype和dbname分组,拿到表名称和表类型 + Map<String, Map<String, List<ComparisonEntity>>> collect = comparisonEntities.stream().collect(Collectors.groupingBy(ComparisonEntity::getDbName, Collectors.groupingBy(ComparisonEntity::getDbType))); + List<Map.Entry<String, String>> keyPairs = collect.entrySet().stream() + .flatMap(e1 -> e1.getValue().keySet().stream() + .map(dbname -> new AbstractMap.SimpleEntry<>(e1.getKey(), dbname))) + .collect(Collectors.toList()); + for (Map.Entry<String, String> keyPair : keyPairs) { + if(keyPair.getValue().equals("1")){ + String main = jsonObject.getString(keyPair.getKey()); + if(main!=null){ + jsonObjectMain = JSONObject.parseObject(main); + if(!checkStr(jsonObjectMain.getString("data_id"))){ + return BaseResult.getFailureMessageEntity("更新时候主表data_id不能为空"); + } + } + } + } + Map<String,Object> map=new HashMap<>(); if(comparisonEntities !=null && comparisonEntities.size()>0) { for (ComparisonEntity entity : comparisonEntities) { @@ -456,14 +473,14 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> } } } - comparisonEntity.setId(jsonObjectMain.getString("id")); + comparisonEntity.setDataId(jsonObjectMain.getString("data_id")); comparisonEntity.setModify_user_id("c796fd9ba4c9f5ff3cc2fa41a040e443"); comparisonEntity.setMap(map); try { Integer integer = comparisonDao.deleteComparison(comparisonEntity); if(integer>0){ if(comparisonDetailsEntity.getDbName()!=null){ - comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("id")); + comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("data_id")); comparisonDetailsEntity.setModify_user_id("c796fd9ba4c9f5ff3cc2fa41a040e443"); comparisonDetailsDao.deleteComparisonDetails(comparisonDetailsEntity); // controlsLogDaoimpl.saveControlsLog(comparisonDetailsEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口删除",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log"); @@ -471,7 +488,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> controlsLogDaoimpl.saveControlsLog(comparisonEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口删除",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log"); return BaseResult.getSuccessMessageEntity("删除成功",integer); }else{ - return BaseResult.getFailureMessageEntity("删除失败","请查看id是否在表中存在"); + return BaseResult.getFailureMessageEntity("删除失败","请查看data_id是否在表中存在"); } }catch (Exception e){ logger.info("删除通用数据数据错误:{}",e.getMessage()); From c2266e103ddc803d0a4f397eb1cdb9455eae87f3 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Tue, 25 Jun 2024 11:01:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=A2=9E=E5=88=A0?= =?UTF-8?q?=E6=94=B9=E6=9F=A5=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E4=B8=BB=E8=A1=A8id=E5=BD=93=E4=BD=9C=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E7=9A=84formmain=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ComparisonDetailsEntity.xml | 6 +-- .../comparison/entity/ComparisonEntity.xml | 4 +- .../service/impl/ComparisonServiceImpl.java | 44 +++++++++++++++---- 3 files changed, 41 insertions(+), 13 deletions(-) diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml index 8b35da0b..4957592c 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonDetailsEntity.xml @@ -20,7 +20,7 @@ <select id="queryComparisonDetailsPage" resultType="java.util.Map" parameterType="com.hzya.frame.sysnew.comparison.entity.ComparisonDetailsEntity"> select * from ${dbName} - where formmain_id=#{formmainId} and sts='Y' + where formmain_id=#{formmainId} and sts='Y' and (data_status='Y' or data_status='F') </select> @@ -48,7 +48,7 @@ ${key} =#{value} </foreach> </set> - where data_id=#{dataId} and sts='Y' + where data_id=#{dataId} and formmain_id= #{formmainId} and sts='Y' and (data_status='Y' or data_status='F') </update> <!-- 多条件逻辑删除 --> @@ -60,7 +60,7 @@ <!--<foreach collection="mapDetails.entrySet()" item="value" index="key"> ${key} =#{value} </foreach>--> - and formmain_id=#{formmainId} and sts='Y' + and formmain_id=#{formmainId} and sts='Y' and (data_status='Y' or data_status='F') </trim> </update> diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml index 47e8825a..341e28cd 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml @@ -106,7 +106,7 @@ ${key} =#{value} </foreach> </set> - where data_id=#{dataId} and sts='Y' + where id=#{id} and sts='Y' and (data_status='Y' or data_status='F') </update> @@ -119,7 +119,7 @@ <foreach collection="map.entrySet()" item="value" index="key"> and ${key} =#{value} </foreach> - and data_id=#{dataId} and sts='Y' + and id=#{id} and sts='Y' and (data_status='Y' or data_status='F') </trim> </update> 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 3104b67f..251be257 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 @@ -102,7 +102,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> JSONObject jsonObjects=new JSONObject(); jsonObjects.put(comparisonEntity.getDbName(),comparisonEntitiePage); if(comparisonDetailsEntity.getDbName()!=null){ - comparisonDetailsEntity.setFormmainId(String.valueOf(comparisonEntitiePage.get("data_id"))); + comparisonDetailsEntity.setFormmainId(String.valueOf(comparisonEntitiePage.get("id"))); //查询明细表数据 List<Map<String, Object>> maps = comparisonDetailsDao.queryComparisonDetailsPage(comparisonDetailsEntity); if(CollectionUtils.isNotEmpty(maps)){ @@ -191,7 +191,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> List<List<Map<String, Object>>> mapDetails = new ArrayList<>();//将子表数据存到map中 if (comparisonEntities != null && comparisonEntities.size() > 0) { map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); - map.put("id", UUIDLong.longUUID()); + String uuid= String.valueOf(UUIDLong.longUUID()); + map.put("id", uuid); map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("org_id", "0"); @@ -249,7 +250,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> for (List<Map<String, Object>> mapDetail : mapDetails) { for (Map<String, Object> stringObjectMap : mapDetail) { stringObjectMap.put("id", UUIDLong.longUUID()); - stringObjectMap.put("formmain_id", jsonObjectMain.getString("data_id")); + stringObjectMap.put("formmain_id", uuid); stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("org_id", "0"); @@ -273,7 +274,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> } list.add(jsonObjectList); //保存操作日志 - controlsLogDaoimpl.saveControlsLog(jsonObjectMain.getString("data_id"),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonEntityRule.getDbName()+"_option_log"); + controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonEntityRule.getDbName()+"_option_log"); return BaseResult.getSuccessMessageEntity("保存成功", list); } catch (Exception e) { logger.info("保存通用数据时候错误:{}", e.getMessage()); @@ -347,7 +348,20 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> List<List<Map<String,Object>>> mapDetails=new ArrayList<>();//将子表数据存到map中 if(comparisonEntities !=null && comparisonEntities.size()>0) { map=spliceMainMap(comparisonEntities,jsonObjectMain,map,comparisonEntity,comparisonDetailsEntity); - map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + + //根据data_id查询id.根据id更新主表数据,然后再根据主表id和明细表的data_id,删除明细表数据 + Map<String,Object> mapId=new HashMap<>(); + mapId.put("data_id",jsonObjectMain.getString("data_id")); + ComparisonEntity comparison=new ComparisonEntity(); + comparison.setDbName(comparisonEntity.getDbName()); + comparison.setMap(mapId); + List<Map<String,Object>> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparison); + if(CollectionUtils.isEmpty(comparisonEntitiePages)){ + return BaseResult.getFailureMessageEntity("根据data_id查询id数据为空,请检查data_id"); + } + String id = String.valueOf(comparisonEntitiePages.get(0).get("id")); + + map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("org_id", "0"); map.put("modify_time", new Date()); @@ -355,7 +369,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> map.put("data_status","F");//数据状态 map.put("update_status","0");//修改状态 comparisonEntity.setMap(map); - comparisonEntity.setDataId(jsonObjectMain.getString("data_id")); + comparisonEntity.setId(id); /*//生成单据规则 comparisonEntity.setRulePrefix(jsonObject.getString("rulePrefix")); try { @@ -385,6 +399,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> stringObjectMap.put("sts", "Y"); stringObjectMap.put("data_status","F");//数据状态 comparisonDetailsEntity.setDataId(String.valueOf(stringObjectMap.get("data_id"))); + comparisonDetailsEntity.setFormmainId(id); comparisonDetailsEntity.setMapDetails(stringObjectMap); comparisonDetailsEntity.setDbName(String.valueOf(stringObjectMap.get("table_name"))); stringObjectMap.remove("table_name"); @@ -473,14 +488,27 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String> } } } - comparisonEntity.setDataId(jsonObjectMain.getString("data_id")); + + //根据data_id查询主表id.根据id删除主表数据,然后再根据主表id和明细表data_id删除明细表数据 + Map<String,Object> mapId=new HashMap<>(); + mapId.put("data_id",jsonObjectMain.getString("data_id")); + ComparisonEntity comparison=new ComparisonEntity(); + comparison.setDbName(comparisonEntity.getDbName()); + comparison.setMap(mapId); + List<Map<String,Object>> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparison); + if(CollectionUtils.isEmpty(comparisonEntitiePages)){ + return BaseResult.getFailureMessageEntity("根据data_id查询id数据为空,请检查data_id"); + } + String id = String.valueOf(comparisonEntitiePages.get(0).get("id")); + + comparisonEntity.setId(id); comparisonEntity.setModify_user_id("c796fd9ba4c9f5ff3cc2fa41a040e443"); comparisonEntity.setMap(map); try { Integer integer = comparisonDao.deleteComparison(comparisonEntity); if(integer>0){ if(comparisonDetailsEntity.getDbName()!=null){ - comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("data_id")); + comparisonDetailsEntity.setFormmainId(id); comparisonDetailsEntity.setModify_user_id("c796fd9ba4c9f5ff3cc2fa41a040e443"); comparisonDetailsDao.deleteComparisonDetails(comparisonDetailsEntity); // controlsLogDaoimpl.saveControlsLog(comparisonDetailsEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口删除",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log");