根据表名称和表类型进行分组
This commit is contained in:
parent
c2e6863913
commit
c5dc5449d0
|
@ -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<ComparisonEntity, String> implements IComparisonService {
|
||||
|
@ -50,7 +51,6 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
}
|
||||
|
||||
//分页查询通用数据数据
|
||||
@DS("master")
|
||||
@Override
|
||||
public JsonResultEntity queryEntityPage(JSONObject json) {
|
||||
JSONObject jsonObject = json.getJSONObject("jsonStr");
|
||||
|
@ -122,7 +122,6 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
}
|
||||
|
||||
//新增通用数据数据
|
||||
@DS("master")
|
||||
@Override
|
||||
public JsonResultEntity saveEntity(JSONObject json) {
|
||||
JSONObject jsonObject = json.getJSONObject("jsonStr");
|
||||
|
@ -148,10 +147,26 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
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 ) {
|
||||
JSONObject jsonObjectMain=new JSONObject();
|
||||
JSONArray jsonArray=new JSONArray();
|
||||
//根据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(keyPair.getValue().equals("2")){
|
||||
jsonArray= jsonObject.getJSONArray(keyPair.getKey());
|
||||
}
|
||||
}
|
||||
if(jsonObjectMain!=null && jsonObjectMain.size()>0) {
|
||||
Map<String, Object> map = new HashMap<>();//将主表数据存到map中
|
||||
List<Map<String, Object>> mapDetails = new ArrayList<>();//将子表数据存到map中
|
||||
if (comparisonEntities != null && comparisonEntities.size() > 0) {
|
||||
|
@ -212,8 +227,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
List<JSONObject> 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);
|
||||
|
@ -230,7 +245,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
mapDetail.put("sts", "Y");
|
||||
mapDetail.put("data_status", "Y");//新增状态
|
||||
comparisonDetailsEntity.setMapDetails(mapDetail);
|
||||
ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity);
|
||||
//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");
|
||||
|
@ -242,7 +257,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
}
|
||||
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());
|
||||
|
|
Loading…
Reference in New Issue