|
@@ -99,6 +99,7 @@ public class DataStaticService extends Ops {
|
|
|
String modelId = staticModelInput.getModelId();
|
|
|
String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
|
|
|
String dateFileIdUser = getFileId("数据分析-所有主体信息汇总", modelId, mongoTemplate);
|
|
|
+ String dateFileIdUserTotal = getFileId("数据分析-主体信息汇总", modelId, mongoTemplate);
|
|
|
if (StringUtils.isBlank(dateFileId)) {
|
|
|
return Mapped.ERROR("数据分析-主体信息汇总明细不存在");
|
|
|
}
|
|
@@ -107,31 +108,39 @@ public class DataStaticService extends Ops {
|
|
|
return Mapped.ERROR("数据分析-所有主体信息汇总");
|
|
|
}
|
|
|
|
|
|
+ Map<String, List<DataMap>> personzhmcMap = new HashMap<>();
|
|
|
+ List<DataMap> dataMapsZt = this.mongoTemplate.find((new Query(
|
|
|
+ Criteria.where("fileId")
|
|
|
+ .is(dateFileIdUserTotal))), DataMap.class);
|
|
|
+ if(CollectionUtils.isNotEmpty(dataMapsZt)){
|
|
|
+ for (DataMap dataMap : dataMapsZt) {
|
|
|
+ String jyzthm = String.valueOf(dataMap.get("交易主体户名"));
|
|
|
+ if(!PublicStatic.checkStr(jyzthm)){
|
|
|
+ String[] split = jyzthm.split(";");
|
|
|
+ for (String s : split) {
|
|
|
+ List<DataMap> dataMaps = personzhmcMap.get(s);
|
|
|
+ if(CollectionUtils.isEmpty(dataMaps)){
|
|
|
+ dataMaps=new ArrayList<>();
|
|
|
+ }
|
|
|
+ dataMaps.add(dataMap);
|
|
|
+ personzhmcMap.put(s,dataMaps);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//查询所有的主体信息汇总
|
|
|
List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
|
Criteria.where("fileId")
|
|
|
.is(dateFileIdUser))), DataMap.class);
|
|
|
Map<String, List<DataMap>> personMap = new HashMap<>();
|
|
|
- Map<String, List<DataMap>> personzhmcMap = new HashMap<>();
|
|
|
for (DataMap dataMap : dataMaps) {
|
|
|
String zh = String.valueOf(dataMap.get("账号"));
|
|
|
- String zhmc = String.valueOf(dataMap.get("账户名称"));
|
|
|
- String key1=zh+"-"+zhmc;
|
|
|
- String key=zhmc+"-"+zh;
|
|
|
- List<DataMap> dataMaps1 = personMap.get(key1);
|
|
|
- List<DataMap> dataMapshmc = personzhmcMap.get(key);
|
|
|
+ List<DataMap> dataMaps1 = personMap.get(zh);
|
|
|
if (CollectionUtils.isEmpty(dataMaps1)) {
|
|
|
- personMap.put(key1, Lists.newArrayList(dataMap));
|
|
|
+ personMap.put(zh, Lists.newArrayList(dataMap));
|
|
|
} else {
|
|
|
dataMaps1.add(dataMap);
|
|
|
- personMap.put(key1, dataMaps1);
|
|
|
- }
|
|
|
-
|
|
|
- if (CollectionUtils.isEmpty(dataMapshmc)) {
|
|
|
- personzhmcMap.put(key, Lists.newArrayList(dataMap));
|
|
|
- } else {
|
|
|
- dataMapshmc.add(dataMap);
|
|
|
- personzhmcMap.put(key, dataMapshmc);
|
|
|
+ personMap.put(zh, dataMaps1);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -172,44 +181,37 @@ public class DataStaticService extends Ops {
|
|
|
List<DataMap> dataMapDetail = this.mongoTemplate.find(query, DataMap.class);
|
|
|
//先去判断从是否有大于2的数据
|
|
|
|
|
|
- Map<String,List<DataMap>>dsMap=new HashMap<>();
|
|
|
+ Map<String, List<DataMap>> dsMap = new HashMap<>();
|
|
|
|
|
|
- Map<String,Set<String>>zh=new HashMap<>();
|
|
|
+ Map<String, Set<String>> zh = new HashMap<>();
|
|
|
for (DataMap map : dataMapDetail) {
|
|
|
String jydszh = String.valueOf(map.get("交易对手账号"));
|
|
|
- String jydshm = String.valueOf(map.get("交易对手户名"));
|
|
|
- String jyds = String.valueOf(map.get("交易主体账号"));
|
|
|
- if (PublicStatic.checkStr(jydszh)) {
|
|
|
+ String jyzthm = String.valueOf(map.get("交易主体户名"));
|
|
|
+ if (PublicStatic.checkStr(jydszh)||PublicStatic.checkStr(jyzthm)) {
|
|
|
continue;
|
|
|
}
|
|
|
- String key=jydszh+"-"+jydshm;
|
|
|
- List<DataMap> dataMaps1 = dsMap.get(key);
|
|
|
- if(CollectionUtils.isEmpty(dataMaps1)){
|
|
|
- dsMap.put(key,Lists.newArrayList(map));
|
|
|
- }else {
|
|
|
- dataMaps1.add(map);
|
|
|
- dsMap.put(key,dataMaps1);
|
|
|
- }
|
|
|
- //存储主体账号
|
|
|
- Set<String> strings = zh.get(key);
|
|
|
+ Set<String> strings = zh.get(jydszh);
|
|
|
if(CollectionUtils.isEmpty(strings)){
|
|
|
- Set<String> objects = new HashSet<>();
|
|
|
- objects.add(jyds);
|
|
|
- zh.put(key,objects);
|
|
|
+ strings = new HashSet<>();
|
|
|
+ strings.add(jyzthm);
|
|
|
}else {
|
|
|
- strings.add(jyds);
|
|
|
- zh.put(key,strings);
|
|
|
+ strings.add(jyzthm);
|
|
|
}
|
|
|
+ zh.put(jydszh,strings);
|
|
|
+
|
|
|
+ List<DataMap> dataMaps1 = Optional.ofNullable(dsMap.get(jydszh)).orElse(new ArrayList<DataMap>());
|
|
|
+ dataMaps1.add(map);
|
|
|
+ dsMap.put(jydszh,dataMaps1);
|
|
|
}
|
|
|
- if(dsMap==null){
|
|
|
+ if (dsMap == null) {
|
|
|
return Mapped.ERROR("数据有误,请重新查询");
|
|
|
}
|
|
|
- List<DataMap>newList=Lists.newArrayList();
|
|
|
- for (Map.Entry<String,Set<String>> entry : zh.entrySet()) {
|
|
|
- if(entry.getValue().size()>1){
|
|
|
- List<DataMap> dataMaps1 = dsMap.get(entry.getKey());
|
|
|
- newList.addAll(dataMaps1);
|
|
|
- }
|
|
|
+ List<DataMap> newList = Lists.newArrayList();
|
|
|
+ for (Map.Entry<String, Set<String>> entry : zh.entrySet()) {
|
|
|
+ if (entry.getValue().size() > 1) {
|
|
|
+ List<DataMap> dataMaps1 = dsMap.get(entry.getKey());
|
|
|
+ newList.addAll(dataMaps1);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
List<String> userList = new ArrayList<>();
|
|
@@ -217,9 +219,7 @@ public class DataStaticService extends Ops {
|
|
|
List<String> userAllList = new ArrayList<>();
|
|
|
for (DataMap map : newList) {
|
|
|
String jythm = String.valueOf(map.get("交易主体户名"));
|
|
|
- String jythmds = String.valueOf(map.get("交易对手户名"));
|
|
|
String jydszh = String.valueOf(map.get("交易对手账号"));
|
|
|
- String jyzh = String.valueOf(map.get("交易主体账号"));
|
|
|
if (StringUtils.isBlank(jythm) || "null".equals(jythm)) {
|
|
|
continue;
|
|
|
}
|
|
@@ -229,15 +229,13 @@ public class DataStaticService extends Ops {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- String key=jythm+"-"+jyzh;
|
|
|
- String key1=jydszh+"-"+jythmds;
|
|
|
//获取节点名称
|
|
|
- List<DataMap> dataMapsparty1 = personzhmcMap.get(key);
|
|
|
- List<DataMap> dataMapsparty2 = personMap.get(key1);
|
|
|
- if(CollectionUtils.isEmpty(dataMapsparty1)||CollectionUtils.isEmpty(dataMapsparty2)){
|
|
|
+ List<DataMap> dataMapsparty1 = personzhmcMap.get(jythm);
|
|
|
+ List<DataMap> dataMapsparty2 = personMap.get(jydszh);
|
|
|
+ if (CollectionUtils.isEmpty(dataMapsparty1) || CollectionUtils.isEmpty(dataMapsparty2)) {
|
|
|
continue;
|
|
|
}
|
|
|
- if (!userList.contains(key)) {
|
|
|
+ if (!usermcList.contains(jythm)) {
|
|
|
Map<String, Object> userMap = new HashMap<>();
|
|
|
if (CollectionUtils.isNotEmpty(dataMapsparty1)) {
|
|
|
userMap.put("id", String.valueOf(dataMapsparty1.get(0).get("_id")));
|
|
@@ -245,11 +243,11 @@ public class DataStaticService extends Ops {
|
|
|
userMap.put("relationPersons", dataMapsparty1);
|
|
|
userMap.put("type", "主");
|
|
|
partyDataList.add(userMap);
|
|
|
- userList.add(key);
|
|
|
+ usermcList.add(jythm);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!usermcList.contains(key1)) {
|
|
|
+ if (!userList.contains(jydszh)) {
|
|
|
Map<String, Object> userMap = new HashMap<>();
|
|
|
if (CollectionUtils.isNotEmpty(dataMapsparty2)) {
|
|
|
String cid = String.valueOf(dataMapsparty2.get(0).get("_id"));
|
|
@@ -258,7 +256,7 @@ public class DataStaticService extends Ops {
|
|
|
userMap.put("relationPersons", dataMapsparty2);
|
|
|
userMap.put("type", "从");
|
|
|
partyDataList.add(userMap);
|
|
|
- usermcList.add(key1);
|
|
|
+ userList.add(jydszh);
|
|
|
}
|
|
|
}
|
|
|
//增加线上数据
|
|
@@ -269,8 +267,8 @@ public class DataStaticService extends Ops {
|
|
|
|
|
|
String userAllId = "";
|
|
|
if (jdlx.equals("借")) {
|
|
|
- List<DataMap> dataMaps1 = personzhmcMap.get(key);
|
|
|
- List<DataMap> dataMaps2 = personMap.get(key1);
|
|
|
+ List<DataMap> dataMaps1 = personzhmcMap.get(jythm);
|
|
|
+ List<DataMap> dataMaps2 = personMap.get(jydszh);
|
|
|
if (CollectionUtils.isNotEmpty(dataMaps1) && CollectionUtils.isNotEmpty(dataMaps2)) {
|
|
|
String one = String.valueOf(dataMaps1.get(0).get("_id"));
|
|
|
party1.put("id", one);
|
|
@@ -282,10 +280,9 @@ public class DataStaticService extends Ops {
|
|
|
userAllId = one + "-" + two;
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
- else if (jdlx.equals("贷")) {
|
|
|
- List<DataMap> dataMaps1 = personzhmcMap.get(key);
|
|
|
- List<DataMap> dataMaps2 = personMap.get(key1);
|
|
|
+ } else if (jdlx.equals("贷")) {
|
|
|
+ List<DataMap> dataMaps1 = personzhmcMap.get(jythm);
|
|
|
+ List<DataMap> dataMaps2 = personMap.get(jydszh);
|
|
|
if (CollectionUtils.isNotEmpty(dataMaps1) && CollectionUtils.isNotEmpty(dataMaps2)) {
|
|
|
String two = String.valueOf(dataMaps1.get(0).get("_id"));
|
|
|
party2.put("id", String.valueOf(dataMaps1.get(0).get("_id")));
|