From c5dc5449d093429cde987f87747bf5ac2d591362 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Mon, 24 Jun 2024 15:49:23 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=A1=A8=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=92=8C=E8=A1=A8=E7=B1=BB=E5=9E=8B=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ComparisonServiceImpl.java | 223 ++++++++++-------- 1 file changed, 119 insertions(+), 104 deletions(-) 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 286af9cc..31873512 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 @@ -28,6 +28,7 @@ import org.springframework.stereotype.Service; import sun.java2d.pipe.AAShapePipe; import java.util.*; +import java.util.stream.Collectors; @Service(value = "comparisonServiceImpl") public class ComparisonServiceImpl extends BaseService implements IComparisonService { @@ -50,7 +51,6 @@ public class ComparisonServiceImpl extends BaseService } //分页查询通用数据数据 - @DS("master") @Override public JsonResultEntity queryEntityPage(JSONObject json) { JSONObject jsonObject = json.getJSONObject("jsonStr"); @@ -122,7 +122,6 @@ public class ComparisonServiceImpl extends BaseService } //新增通用数据数据 - @DS("master") @Override public JsonResultEntity saveEntity(JSONObject json) { JSONObject jsonObject = json.getJSONObject("jsonStr"); @@ -148,108 +147,124 @@ public class ComparisonServiceImpl extends BaseService logger.info("根据主数据编码查询信息错误:{}",e.getMessage()); return BaseResult.getFailureMessageEntity("保存失败"); } - String main = jsonObject.getString("main");//获取主表数据 - JSONArray jsonArray = jsonObject.getJSONArray("details");//获取子表数据 - JSONObject jsonObjectMain = JSONObject.parseObject(main); - if(jsonObjectMain != null ) { - Map map = new HashMap<>();//将主表数据存到map中 - List> mapDetails = new ArrayList<>();//将子表数据存到map中 - if (comparisonEntities != null && comparisonEntities.size() > 0) { - map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity,comparisonDetailsEntity); - String uuid = null; - if (jsonObjectMain.getString("id") == null) { - uuid = UUIDUtils.getUUID(); - map.put("id", uuid); - } else { - uuid = jsonObjectMain.getString("id"); - map.put("id", jsonObjectMain.getString("id")); - } - map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - map.put("org_id", "0"); - map.put("create_time", new Date()); - map.put("modify_time", new Date()); - map.put("sts", "Y"); - map.put("data_status", "Y");//新增状态 - map.put("add_status", "0");//新增状态 - map.put("update_status", "1");//修改状态 - map.put("delete_status", "1");//删除状态 - ComparisonEntity comparisonEntityRule = comparisonEntities.get(0); - //查询单据规则 只查询主表得,明细表不用 - try { - ComparisonEntity comparisonEntityRules = comparisonDao.queryComparisonById(comparisonEntityRule); - String documentRule = comparisonEntityRules.getDocumentRule();//"KH-2024-05-30-1"; - logger.info("通用数据保存接口中根据mId查询出来的单据规则为:{}", documentRule); - if (documentRule != null) { - //获取规则前缀 CK - String rulePrefix = documentRule.substring(0, documentRule.indexOf("-")); - //获取规则中间日期 yyyy-MM-dd - String ruleDate = documentRule.substring(documentRule.indexOf("-") + 1, documentRule.lastIndexOf("-")); - String ruleMiddle = getRuleDate(ruleDate); - //获取规则后缀 - String ruleSuffixLength = documentRule.substring(documentRule.lastIndexOf("-") + 1); - int ruleSuffix = ruleSuffixLength.length(); - //生成单据规则 - comparisonEntityRule.setRulePrefix(rulePrefix); - comparisonEntityRule.setRuleMiddle(ruleMiddle); - comparisonEntityRule.setRuleSuffix(ruleSuffix); - try { - //新生成单据规则保存到数据库 - ComparisonEntity comparisonEntityRuleGz = comparisonDao.queryComparisonRule(comparisonEntityRule); - map.put("document_rule", comparisonEntityRuleGz.getDocumentRule());//单据规则 - map.put("document_rule_num", comparisonEntityRuleGz.getDocumentRuleNum());//单据规则流水号 - comparisonEntityRule.setMap(map); - } catch (Exception e) { - logger.info("保存通用数据时候生成单据规则错误:{}", e.getMessage()); - return BaseResult.getFailureMessageEntity("保存失败"); - } - } - } catch (Exception e) { - logger.info("通用数据保存接口中查询单据规则错误:{}", e.getMessage()); - return BaseResult.getFailureMessageEntity("保存失败"); - } - try { - List list=new ArrayList<>(); - JSONObject jsonObjectList=new JSONObject(); - //保存主表数据 - ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule); - jsonObjectList.put(comparisonEntityOne.getDbName(),map); - //保存子表数据 - if (jsonArray != null && jsonArray.size() > 0) { - mapDetails = spliceDetailMap(comparisonEntities, mapDetails, jsonArray); - if(mapDetails.size()>0 && mapDetails!=null){ - for (Map mapDetail : mapDetails) { - String uuidDetail = UUIDUtils.getUUID(); - mapDetail.put("id", uuidDetail); - mapDetail.put("formmain_id", uuid); - mapDetail.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - mapDetail.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - mapDetail.put("org_id", "0"); - mapDetail.put("create_time", new Date()); - mapDetail.put("modify_time", new Date()); - mapDetail.put("sts", "Y"); - mapDetail.put("data_status","Y");//新增状态 - comparisonDetailsEntity.setMapDetails(mapDetail); - ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity); - //comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne); - //保存操作日志 - //controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); - } - jsonObjectList.put(comparisonDetailsEntity.getDbName(),mapDetails); - } - }else{ - jsonObjectList.put(comparisonDetailsEntity.getDbName(),new ArrayList<>()); - } - list.add(jsonObjectList); - //保存操作日志 - 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()); - return BaseResult.getFailureMessageEntity("保存失败"); - } - } - } + JSONObject jsonObjectMain=new JSONObject(); + JSONArray jsonArray=new JSONArray(); + //根据dbtype和dbname分组,拿到表名称和表类型 + Map>> collect = comparisonEntities.stream().collect(Collectors.groupingBy(ComparisonEntity::getDbName, Collectors.groupingBy(ComparisonEntity::getDbType))); + List> keyPairs = collect.entrySet().stream() + .flatMap(e1 -> e1.getValue().keySet().stream() + .map(dbname -> new AbstractMap.SimpleEntry<>(e1.getKey(), dbname))) + .collect(Collectors.toList()); + for (Map.Entry keyPair : keyPairs) { + if(keyPair.getValue().equals("1")){ + String main = jsonObject.getString(keyPair.getKey()); + if(main!=null){ + jsonObjectMain = JSONObject.parseObject(main); + } + } + if(keyPair.getValue().equals("2")){ + jsonArray= jsonObject.getJSONArray(keyPair.getKey()); + } + } + if(jsonObjectMain!=null && jsonObjectMain.size()>0) { + Map map = new HashMap<>();//将主表数据存到map中 + List> mapDetails = new ArrayList<>();//将子表数据存到map中 + if (comparisonEntities != null && comparisonEntities.size() > 0) { + map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); + String uuid = null; + if (jsonObjectMain.getString("id") == null) { + uuid = UUIDUtils.getUUID(); + map.put("id", uuid); + } else { + uuid = jsonObjectMain.getString("id"); + map.put("id", jsonObjectMain.getString("id")); + } + map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + map.put("org_id", "0"); + map.put("create_time", new Date()); + map.put("modify_time", new Date()); + map.put("sts", "Y"); + map.put("data_status", "Y");//新增状态 + map.put("add_status", "0");//新增状态 + map.put("update_status", "1");//修改状态 + map.put("delete_status", "1");//删除状态 + ComparisonEntity comparisonEntityRule = comparisonEntities.get(0); + //查询单据规则 只查询主表得,明细表不用 + try { + ComparisonEntity comparisonEntityRules = comparisonDao.queryComparisonById(comparisonEntityRule); + String documentRule = comparisonEntityRules.getDocumentRule();//"KH-2024-05-30-1"; + logger.info("通用数据保存接口中根据mId查询出来的单据规则为:{}", documentRule); + if (documentRule != null) { + //获取规则前缀 CK + String rulePrefix = documentRule.substring(0, documentRule.indexOf("-")); + //获取规则中间日期 yyyy-MM-dd + String ruleDate = documentRule.substring(documentRule.indexOf("-") + 1, documentRule.lastIndexOf("-")); + String ruleMiddle = getRuleDate(ruleDate); + //获取规则后缀 + String ruleSuffixLength = documentRule.substring(documentRule.lastIndexOf("-") + 1); + int ruleSuffix = ruleSuffixLength.length(); + //生成单据规则 + comparisonEntityRule.setRulePrefix(rulePrefix); + comparisonEntityRule.setRuleMiddle(ruleMiddle); + comparisonEntityRule.setRuleSuffix(ruleSuffix); + try { + //新生成单据规则保存到数据库 + ComparisonEntity comparisonEntityRuleGz = comparisonDao.queryComparisonRule(comparisonEntityRule); + map.put("document_rule", comparisonEntityRuleGz.getDocumentRule());//单据规则 + map.put("document_rule_num", comparisonEntityRuleGz.getDocumentRuleNum());//单据规则流水号 + comparisonEntityRule.setMap(map); + } catch (Exception e) { + logger.info("保存通用数据时候生成单据规则错误:{}", e.getMessage()); + return BaseResult.getFailureMessageEntity("保存失败"); + } + } + } catch (Exception e) { + logger.info("通用数据保存接口中查询单据规则错误:{}", e.getMessage()); + return BaseResult.getFailureMessageEntity("保存失败"); + } + try { + List list = new ArrayList<>(); + JSONObject jsonObjectList = new JSONObject(); + //保存主表数据 + //ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule); + // jsonObjectList.put(comparisonEntityOne.getDbName(),map); + //保存子表数据 + if (jsonArray != null && jsonArray.size() > 0) { + mapDetails = spliceDetailMap(comparisonEntities, mapDetails, jsonArray); + if (mapDetails.size() > 0 && mapDetails != null) { + for (Map mapDetail : mapDetails) { + String uuidDetail = UUIDUtils.getUUID(); + mapDetail.put("id", uuidDetail); + mapDetail.put("formmain_id", uuid); + mapDetail.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + mapDetail.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + mapDetail.put("org_id", "0"); + mapDetail.put("create_time", new Date()); + mapDetail.put("modify_time", new Date()); + mapDetail.put("sts", "Y"); + mapDetail.put("data_status", "Y");//新增状态 + comparisonDetailsEntity.setMapDetails(mapDetail); + //ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity); + //comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne); + //保存操作日志 + //controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); + } + jsonObjectList.put(comparisonDetailsEntity.getDbName(), mapDetails); + } + } else { + jsonObjectList.put(comparisonDetailsEntity.getDbName(), new ArrayList<>()); + } + list.add(jsonObjectList); + //保存操作日志 + // 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()); + return BaseResult.getFailureMessageEntity("保存失败"); + } + } + } return BaseResult.getFailureMessageEntity("查询失败","请检查传递参数"); } From 422f5f4469ce6b93ec9e2ad686ee167ece0a1ff8 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Mon, 24 Jun 2024 17:33:14 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E5=A2=9E=E5=BE=97=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E4=B8=BA=E8=A1=A8=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ComparisonServiceImpl.java | 163 ++++++++++++------ 1 file changed, 108 insertions(+), 55 deletions(-) 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 31873512..16ed916e 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 @@ -149,26 +149,37 @@ public class ComparisonServiceImpl extends BaseService } JSONObject jsonObjectMain=new JSONObject(); JSONArray jsonArray=new JSONArray(); + List arrayList=new ArrayList<>(); //根据dbtype和dbname分组,拿到表名称和表类型 Map>> collect = comparisonEntities.stream().collect(Collectors.groupingBy(ComparisonEntity::getDbName, Collectors.groupingBy(ComparisonEntity::getDbType))); List> keyPairs = collect.entrySet().stream() .flatMap(e1 -> e1.getValue().keySet().stream() .map(dbname -> new AbstractMap.SimpleEntry<>(e1.getKey(), dbname))) .collect(Collectors.toList()); + // keyPairs 得值为键值对,键是表名称,值是类型,避免多个子表得键一样,比如:mdm_customer:1,mdm_customer_bank:2,mdm_customer_option_log:2 for (Map.Entry keyPair : keyPairs) { + //如果是1,就是主表,根据查询出来得主表是否是传输传递得主表 if(keyPair.getValue().equals("1")){ String main = jsonObject.getString(keyPair.getKey()); if(main!=null){ jsonObjectMain = JSONObject.parseObject(main); } } + //如果是2,就是明细表,根据查询出来得子表是否是传输传递得子表 if(keyPair.getValue().equals("2")){ jsonArray= jsonObject.getJSONArray(keyPair.getKey()); + if(jsonArray!= null) { + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObjectDetails = jsonArray.getJSONObject(i); + jsonObjectDetails.put("table_name", keyPair.getKey()); + } + arrayList.add(jsonArray); + } } } if(jsonObjectMain!=null && jsonObjectMain.size()>0) { Map map = new HashMap<>();//将主表数据存到map中 - List> mapDetails = new ArrayList<>();//将子表数据存到map中 + List>> mapDetails = new ArrayList<>();//将子表数据存到map中 if (comparisonEntities != null && comparisonEntities.size() > 0) { map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); String uuid = null; @@ -227,28 +238,32 @@ public class ComparisonServiceImpl extends BaseService List list = new ArrayList<>(); JSONObject jsonObjectList = new JSONObject(); //保存主表数据 - //ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule); - // jsonObjectList.put(comparisonEntityOne.getDbName(),map); + ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule); + jsonObjectList.put(comparisonEntityOne.getDbName(),map); //保存子表数据 - if (jsonArray != null && jsonArray.size() > 0) { - mapDetails = spliceDetailMap(comparisonEntities, mapDetails, jsonArray); - if (mapDetails.size() > 0 && mapDetails != null) { - for (Map mapDetail : mapDetails) { - String uuidDetail = UUIDUtils.getUUID(); - mapDetail.put("id", uuidDetail); - mapDetail.put("formmain_id", uuid); - mapDetail.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - mapDetail.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - mapDetail.put("org_id", "0"); - mapDetail.put("create_time", new Date()); - mapDetail.put("modify_time", new Date()); - mapDetail.put("sts", "Y"); - mapDetail.put("data_status", "Y");//新增状态 - comparisonDetailsEntity.setMapDetails(mapDetail); - //ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity); - //comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne); - //保存操作日志 - //controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); + if (arrayList != null && arrayList.size() > 0) { + mapDetails = spliceDetailMap(comparisonEntities, mapDetails, arrayList); + if(mapDetails.size()>0 && mapDetails!=null ){ + for (List> mapDetail : mapDetails) { + for (Map stringObjectMap : mapDetail) { + String uuidDetail = UUIDUtils.getUUID(); + stringObjectMap.put("id", uuidDetail); + stringObjectMap.put("formmain_id", uuid); + stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + stringObjectMap.put("org_id", "0"); + stringObjectMap.put("create_time", new Date()); + stringObjectMap.put("modify_time", new Date()); + stringObjectMap.put("sts", "Y"); + stringObjectMap.put("data_status", "Y");//新增状态 + comparisonDetailsEntity.setMapDetails(stringObjectMap); + comparisonDetailsEntity.setDbName(String.valueOf(stringObjectMap.get("table_name"))); + stringObjectMap.remove("table_name"); + ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity); + comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne); + //保存操作日志 + //controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); + } } jsonObjectList.put(comparisonDetailsEntity.getDbName(), mapDetails); } @@ -283,11 +298,6 @@ public class ComparisonServiceImpl extends BaseService } ComparisonEntity comparisonEntity = jsonObject.toJavaObject(ComparisonEntity.class); ComparisonDetailsEntity comparisonDetailsEntity=new ComparisonDetailsEntity(); - JSONObject jsonObjectMain=jsonObject.getJSONObject("main");//获取主表数据 - JSONArray jsonArray = jsonObject.getJSONArray("details");//获取子表数据 - if(!checkStr(jsonObjectMain.getString("id"))){ - return BaseResult.getFailureMessageEntity("更新时候主表id不能为空"); - } List comparisonEntities=new ArrayList<>(); //根据主数据编码查询表名称,字段名称等信息 10001 try { @@ -299,8 +309,41 @@ public class ComparisonServiceImpl extends BaseService logger.info("根据主数据编码查询信息错误:{}",e.getMessage()); return BaseResult.getFailureMessageEntity("更新失败"); } + JSONObject jsonObjectMain=new JSONObject(); + JSONArray jsonArray=new JSONArray(); + List arrayList=new ArrayList<>(); + //根据dbtype和dbname分组,拿到表名称和表类型 + Map>> collect = comparisonEntities.stream().collect(Collectors.groupingBy(ComparisonEntity::getDbName, Collectors.groupingBy(ComparisonEntity::getDbType))); + List> keyPairs = collect.entrySet().stream() + .flatMap(e1 -> e1.getValue().keySet().stream() + .map(dbname -> new AbstractMap.SimpleEntry<>(e1.getKey(), dbname))) + .collect(Collectors.toList()); + for (Map.Entry keyPair : keyPairs) { + if(keyPair.getValue().equals("1")){ + String main = jsonObject.getString(keyPair.getKey()); + if(main!=null){ + jsonObjectMain = JSONObject.parseObject(main); + if(!checkStr(jsonObjectMain.getString("id"))){ + return BaseResult.getFailureMessageEntity("更新时候主表id不能为空"); + } + } + } + if(keyPair.getValue().equals("2")){ + jsonArray= jsonObject.getJSONArray(keyPair.getKey()); + 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不能为空"); + } + jsonObjectDetails.put("table_name", keyPair.getKey()); + } + arrayList.add(jsonArray); + } + } + } Map map=new HashMap<>();//将主表数据存到map中 - List> mapDetails=new ArrayList<>();//将子表数据存到map中 + List>> mapDetails=new ArrayList<>();//将子表数据存到map中 if(comparisonEntities !=null && comparisonEntities.size()>0) { map=spliceMainMap(comparisonEntities,jsonObjectMain,map,comparisonEntity,comparisonDetailsEntity); map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); @@ -330,21 +373,24 @@ public class ComparisonServiceImpl extends BaseService jsonObjectList.put(comparisonEntity.getDbName(),map); if (integer>0) { //保存子表数据 - if (jsonArray != null && jsonArray.size() > 0) { - mapDetails=spliceDetailMap(comparisonEntities,mapDetails,jsonArray); - for (Map mapDetail : mapDetails) { - mapDetail.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - mapDetail.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - mapDetail.put("org_id", "0"); - mapDetail.put("modify_time", new Date()); - mapDetail.put("sts", "Y"); - mapDetail.put("data_status","F");//数据状态 - //comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("id")); - comparisonDetailsEntity.setId(String.valueOf(mapDetail.get("id"))); - comparisonDetailsEntity.setMapDetails(mapDetail); - comparisonDetailsDao.updateComparisonDetailsByType(comparisonDetailsEntity); - //保存操作日志 - // controlsLogDaoimpl.saveControlsLog(comparisonDetailsEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); + if (arrayList != null && arrayList.size() > 0) { + mapDetails=spliceDetailMap(comparisonEntities,mapDetails,arrayList); + for (List> mapDetail : mapDetails) { + for (Map stringObjectMap : mapDetail) { + stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + stringObjectMap.put("org_id", "0"); + stringObjectMap.put("modify_time", new Date()); + stringObjectMap.put("sts", "Y"); + stringObjectMap.put("data_status","F");//数据状态 + comparisonDetailsEntity.setId(String.valueOf(stringObjectMap.get("id"))); + comparisonDetailsEntity.setMapDetails(stringObjectMap); + comparisonDetailsEntity.setDbName(String.valueOf(stringObjectMap.get("table_name"))); + stringObjectMap.remove("table_name"); + comparisonDetailsDao.updateComparisonDetailsByType(comparisonDetailsEntity); + //保存操作日志 + // controlsLogDaoimpl.saveControlsLog(comparisonDetailsEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); + } } jsonObjectList.put(comparisonDetailsEntity.getDbName(),mapDetails); }else{ @@ -352,7 +398,7 @@ public class ComparisonServiceImpl extends BaseService } jsonObjects.add(jsonObjectList); //保存操作日志 - controlsLogDaoimpl.saveControlsLog(comparisonEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log"); + // controlsLogDaoimpl.saveControlsLog(comparisonEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log"); return BaseResult.getSuccessMessageEntity("更新成功", jsonObjects); }else{ return BaseResult.getFailureMessageEntity("更新失败"); @@ -487,20 +533,27 @@ public class ComparisonServiceImpl extends BaseService } //得到明细表数据 - private List> spliceDetailMap(List comparisonEntities,List> mapDetails,JSONArray jsonArray){ - if (jsonArray != null && jsonArray.size() > 0) { - for (Object object : jsonArray) { - JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object); - JSONObject jsonObject=new JSONObject(); - //遍历主表下面的所有key,字段名 - for (String key : jsonObjectDetails.keySet()) { - for (ComparisonEntity entity : comparisonEntities) { - if (entity.getDbType().equals("2") && entity.getEnName().equals(key)) { - jsonObject.put(key,jsonObjectDetails.getString(key)); + private List>> spliceDetailMap(List comparisonEntities,List>> mapDetails,List arrayList){ + if (arrayList != null && arrayList.size() > 0) { + for (JSONArray jsonArray : arrayList) { + List> list=new ArrayList<>(); + for (Object object : jsonArray) { + JSONObject jsonObject = new JSONObject(); + JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object); + //遍历主表下面的所有key,字段名 + for (String key : jsonObjectDetails.keySet()) { + for (ComparisonEntity entity : comparisonEntities) { + if (entity.getDbType().equals("2") && entity.getEnName().equals(key)) { + jsonObject.put(key, jsonObjectDetails.getString(key)); + } + if(key.equals("table_name")){ + jsonObject.put(key,jsonObjectDetails.getString(key)); + } } } + list.add(jsonObject); } - mapDetails.add(jsonObject); + mapDetails.add(list); } } return mapDetails; From 2ae7391e650538bf59002d9bf5439caf25f903bf Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Mon, 24 Jun 2024 17:44:13 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=94=BE=E5=BC=80=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=97=B6=E5=80=99=E6=B3=A8=E9=87=8A=E6=8E=89=E7=9A=84=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E4=BF=9D=E5=AD=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sysnew/comparison/service/impl/ComparisonServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 16ed916e..c36dac38 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 @@ -272,7 +272,7 @@ public class ComparisonServiceImpl extends BaseService } list.add(jsonObjectList); //保存操作日志 - // controlsLogDaoimpl.saveControlsLog(uuid,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()); @@ -398,7 +398,7 @@ public class ComparisonServiceImpl extends BaseService } jsonObjects.add(jsonObjectList); //保存操作日志 - // controlsLogDaoimpl.saveControlsLog(comparisonEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log"); + controlsLogDaoimpl.saveControlsLog(comparisonEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log"); return BaseResult.getSuccessMessageEntity("更新成功", jsonObjects); }else{ return BaseResult.getFailureMessageEntity("更新失败"); From 4b27586193a62d07c38449d27f5db1915220dee3 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Mon, 24 Jun 2024 18:03:02 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=A4=E6=96=AD=EF=BC=8C=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=A1=A8=E6=98=AF=E5=90=A6=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ComparisonServiceImpl.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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 c36dac38..1bfd9f09 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 @@ -100,13 +100,15 @@ public class ComparisonServiceImpl extends BaseService for (Map comparisonEntitiePage : comparisonEntitiePages) { JSONObject jsonObjects=new JSONObject(); jsonObjects.put(comparisonEntity.getDbName(),comparisonEntitiePage); - comparisonDetailsEntity.setFormmainId(String.valueOf(comparisonEntitiePage.get("id"))); - //查询明细表数据 - List> maps = comparisonDetailsDao.queryComparisonDetailsPage(comparisonDetailsEntity); - if(CollectionUtils.isNotEmpty(maps)){ - jsonObjects.put(comparisonDetailsEntity.getDbName(),maps); - }else { - jsonObjects.put(comparisonDetailsEntity.getDbName(),new JSONArray()); + if(comparisonDetailsEntity.getDbName()!=null){ + comparisonDetailsEntity.setFormmainId(String.valueOf(comparisonEntitiePage.get("id"))); + //查询明细表数据 + List> maps = comparisonDetailsDao.queryComparisonDetailsPage(comparisonDetailsEntity); + if(CollectionUtils.isNotEmpty(maps)){ + jsonObjects.put(comparisonDetailsEntity.getDbName(),maps); + }else { + jsonObjects.put(comparisonDetailsEntity.getDbName(),new JSONArray()); + } } list.add(jsonObjects); } From cc866f471d80e6179fdc4a3efb11ab39222c580b Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Mon, 24 Jun 2024 19:00:54 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E4=BC=A0=E5=85=A5?= =?UTF-8?q?=E7=9A=84id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ComparisonServiceImpl.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) 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 1bfd9f09..974d5470 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 @@ -165,6 +165,9 @@ public class ComparisonServiceImpl extends BaseService String main = jsonObject.getString(keyPair.getKey()); if(main!=null){ jsonObjectMain = JSONObject.parseObject(main); + if(!checkStr(jsonObjectMain.getString("id"))){ + return BaseResult.getFailureMessageEntity("新增时候主表id不能为空"); + } } } //如果是2,就是明细表,根据查询出来得子表是否是传输传递得子表 @@ -174,6 +177,9 @@ public class ComparisonServiceImpl extends BaseService 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不能为空"); + } } arrayList.add(jsonArray); } @@ -184,14 +190,6 @@ public class ComparisonServiceImpl extends BaseService List>> mapDetails = new ArrayList<>();//将子表数据存到map中 if (comparisonEntities != null && comparisonEntities.size() > 0) { map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); - String uuid = null; - if (jsonObjectMain.getString("id") == null) { - uuid = UUIDUtils.getUUID(); - map.put("id", uuid); - } else { - uuid = jsonObjectMain.getString("id"); - map.put("id", jsonObjectMain.getString("id")); - } map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("org_id", "0"); @@ -250,7 +248,7 @@ public class ComparisonServiceImpl extends BaseService for (Map stringObjectMap : mapDetail) { String uuidDetail = UUIDUtils.getUUID(); stringObjectMap.put("id", uuidDetail); - stringObjectMap.put("formmain_id", uuid); + stringObjectMap.put("formmain_id", jsonObjectMain.getString("id")); stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("org_id", "0"); @@ -274,7 +272,7 @@ public class ComparisonServiceImpl extends BaseService } list.add(jsonObjectList); //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonEntityRule.getDbName()+"_option_log"); + controlsLogDaoimpl.saveControlsLog(jsonObjectMain.getString("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()); From f9a03750630179bfc9547befa0cc5c821c9e24cf Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Mon, 24 Jun 2024 19:03:00 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=A1=A8=E7=9A=84id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sysnew/comparison/service/impl/ComparisonServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 974d5470..8445dc71 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 @@ -246,8 +246,7 @@ public class ComparisonServiceImpl extends BaseService if(mapDetails.size()>0 && mapDetails!=null ){ for (List> mapDetail : mapDetails) { for (Map stringObjectMap : mapDetail) { - String uuidDetail = UUIDUtils.getUUID(); - stringObjectMap.put("id", uuidDetail); + stringObjectMap.put("id", stringObjectMap.get("id")); stringObjectMap.put("formmain_id", jsonObjectMain.getString("id")); stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");