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] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BD=BF=E7=94=A8=E4=B8=BB?= =?UTF-8?q?=E8=A1=A8id=E5=BD=93=E4=BD=9C=E6=98=8E=E7=BB=86=E7=9A=84formmai?= =?UTF-8?q?n=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 @@ @@ -48,7 +48,7 @@ ${key} =#{value} - 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') @@ -60,7 +60,7 @@ - and formmain_id=#{formmainId} and sts='Y' + and formmain_id=#{formmainId} and sts='Y' and (data_status='Y' or data_status='F') 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} - where data_id=#{dataId} and sts='Y' + where id=#{id} and sts='Y' and (data_status='Y' or data_status='F') @@ -119,7 +119,7 @@ and ${key} =#{value} - and data_id=#{dataId} and sts='Y' + and id=#{id} and sts='Y' and (data_status='Y' or data_status='F') 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 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> maps = comparisonDetailsDao.queryComparisonDetailsPage(comparisonDetailsEntity); if(CollectionUtils.isNotEmpty(maps)){ @@ -191,7 +191,8 @@ public class ComparisonServiceImpl extends BaseService List>> 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 for (List> mapDetail : mapDetails) { for (Map 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 } 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 List>> 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 mapId=new HashMap<>(); + mapId.put("data_id",jsonObjectMain.getString("data_id")); + ComparisonEntity comparison=new ComparisonEntity(); + comparison.setDbName(comparisonEntity.getDbName()); + comparison.setMap(mapId); + List> 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 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 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.setDataId(jsonObjectMain.getString("data_id")); + + //根据data_id查询主表id.根据id删除主表数据,然后再根据主表id和明细表data_id删除明细表数据 + Map mapId=new HashMap<>(); + mapId.put("data_id",jsonObjectMain.getString("data_id")); + ComparisonEntity comparison=new ComparisonEntity(); + comparison.setDbName(comparisonEntity.getDbName()); + comparison.setMap(mapId); + List> 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");