|
@@ -12,6 +12,7 @@ import ieven.server.webapp.util.excel.PublicStatic;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.checkerframework.checker.units.qual.C;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
@@ -100,6 +101,7 @@ public class DataStaticService extends Ops {
|
|
|
String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
|
|
|
String dateFileIdUser = getFileId("数据分析-所有主体信息汇总", modelId, mongoTemplate);
|
|
|
String dateFileIdUserTotal = getFileId("数据分析-主体信息汇总", modelId, mongoTemplate);
|
|
|
+ String dateFileIdDs = getFileId("数据分析-对手透视", modelId, mongoTemplate);
|
|
|
if (StringUtils.isBlank(dateFileId)) {
|
|
|
return Mapped.ERROR("数据分析-主体信息汇总明细不存在");
|
|
|
}
|
|
@@ -112,18 +114,18 @@ public class DataStaticService extends Ops {
|
|
|
List<DataMap> dataMapsZt = this.mongoTemplate.find((new Query(
|
|
|
Criteria.where("fileId")
|
|
|
.is(dateFileIdUserTotal))), DataMap.class);
|
|
|
- if(CollectionUtils.isNotEmpty(dataMapsZt)){
|
|
|
+ if (CollectionUtils.isNotEmpty(dataMapsZt)) {
|
|
|
for (DataMap dataMap : dataMapsZt) {
|
|
|
String jyzthm = String.valueOf(dataMap.get("交易主体户名"));
|
|
|
- if(!PublicStatic.checkStr(jyzthm)){
|
|
|
+ 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<>();
|
|
|
+ if (CollectionUtils.isEmpty(dataMaps)) {
|
|
|
+ dataMaps = new ArrayList<>();
|
|
|
}
|
|
|
dataMaps.add(dataMap);
|
|
|
- personzhmcMap.put(s,dataMaps);
|
|
|
+ personzhmcMap.put(s, dataMaps);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -156,9 +158,6 @@ public class DataStaticService extends Ops {
|
|
|
if (StringUtils.isNotBlank(staticModelInput.getJyzthm())) {
|
|
|
query.addCriteria(Criteria.where("交易主体户名").in(Objects.requireNonNull(SplitCharacterEnum.splitByCharacter(staticModelInput.getJyzthm()))));
|
|
|
}
|
|
|
- if (StringUtils.isNotBlank(staticModelInput.getJyztzhds())) {
|
|
|
- query.addCriteria(Criteria.where("交易对手账号").in(Objects.requireNonNull(SplitCharacterEnum.splitByCharacter(staticModelInput.getJyztzhds()))));
|
|
|
- }
|
|
|
if (StringUtils.isNotBlank(staticModelInput.getJyzthmds())) {
|
|
|
query.addCriteria(Criteria.where("交易对手户名").in(Objects.requireNonNull(SplitCharacterEnum.splitByCharacter(staticModelInput.getJyzthmds()))));
|
|
|
}
|
|
@@ -172,6 +171,31 @@ public class DataStaticService extends Ops {
|
|
|
if (StringUtils.isNotBlank(staticModelInput.getJysjEnd()) && StringUtils.isNotBlank(staticModelInput.getJysjStart())) {
|
|
|
query.addCriteria(Criteria.where("交易时间").gte(staticModelInput.getJysjStart()).lte(staticModelInput.getJysjEnd()));
|
|
|
}
|
|
|
+ List<String> strings1 = SplitCharacterEnum.splitByCharacter(staticModelInput.getJyztzhds());
|
|
|
+ if (null != staticModelInput.getStartNum() || null != staticModelInput.getEndNum()) {
|
|
|
+ Query queryDs = new Query();
|
|
|
+ if (null != staticModelInput.getStartNum()) {
|
|
|
+ query.addCriteria(Criteria.where("共同交易主体数").gte(staticModelInput.getStartNum()));
|
|
|
+ } else if (null != staticModelInput.getEndNum()) {
|
|
|
+ query.addCriteria(Criteria.where("共同交易主体数").lte(staticModelInput.getStartNum()));
|
|
|
+ } else if (null != staticModelInput.getStartNum() && null != staticModelInput.getEndNum()) {
|
|
|
+ query.addCriteria(Criteria.where("共同交易主体数").gte(staticModelInput.getStartNum()).lte(staticModelInput.getStartNum()));
|
|
|
+ }
|
|
|
+ query.addCriteria(Criteria.where("fileId").is(dateFileIdDs));
|
|
|
+ List<DataMap> dataDsList = this.mongoTemplate.find(queryDs, DataMap.class);
|
|
|
+ if(CollectionUtils.isNotEmpty(dataDsList)){
|
|
|
+ for (DataMap dataMap : dataDsList) {
|
|
|
+ String jydszh = String.valueOf(dataMap.get("交易对手账号"));
|
|
|
+ if(!PublicStatic.checkStr(jydszh)){
|
|
|
+ strings1.add(jydszh);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(strings1)) {
|
|
|
+ query.addCriteria(Criteria.where("交易对手账号").in(Objects.requireNonNull(strings1)));
|
|
|
+ }
|
|
|
|
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
|
|
|
@@ -187,21 +211,21 @@ public class DataStaticService extends Ops {
|
|
|
for (DataMap map : dataMapDetail) {
|
|
|
String jydszh = String.valueOf(map.get("交易对手账号"));
|
|
|
String jyzthm = String.valueOf(map.get("交易主体户名"));
|
|
|
- if (PublicStatic.checkStr(jydszh)||PublicStatic.checkStr(jyzthm)) {
|
|
|
+ if (PublicStatic.checkStr(jydszh) || PublicStatic.checkStr(jyzthm)) {
|
|
|
continue;
|
|
|
}
|
|
|
Set<String> strings = zh.get(jydszh);
|
|
|
- if(CollectionUtils.isEmpty(strings)){
|
|
|
+ if (CollectionUtils.isEmpty(strings)) {
|
|
|
strings = new HashSet<>();
|
|
|
strings.add(jyzthm);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
strings.add(jyzthm);
|
|
|
}
|
|
|
- zh.put(jydszh,strings);
|
|
|
+ zh.put(jydszh, strings);
|
|
|
|
|
|
List<DataMap> dataMaps1 = Optional.ofNullable(dsMap.get(jydszh)).orElse(new ArrayList<DataMap>());
|
|
|
dataMaps1.add(map);
|
|
|
- dsMap.put(jydszh,dataMaps1);
|
|
|
+ dsMap.put(jydszh, dataMaps1);
|
|
|
}
|
|
|
if (dsMap == null) {
|
|
|
return Mapped.ERROR("数据有误,请重新查询");
|
|
@@ -322,8 +346,8 @@ public class DataStaticService extends Ops {
|
|
|
//total.put("relationships", dataDetailList);
|
|
|
relationshipGraphList.add(total);
|
|
|
userAllList.add(userAllId);
|
|
|
- if (partyDataList.size() > 300) {
|
|
|
- return Mapped.ERROR("节点超过300个,请重新查询");
|
|
|
+ if (partyDataList.size() > 400) {
|
|
|
+ return Mapped.ERROR("节点超过400个,请重新查询");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -363,7 +387,8 @@ public class DataStaticService extends Ops {
|
|
|
"公司", "慈善", "红十字", "店", "工作室", "商行", "中心", "经营部", "水果行", "餐厅", "超市", "市场", "商贸", "西饼屋", "科技", "酒楼", "停车场", "ETC", "etc", "服务", "批发",
|
|
|
"渔场", "浴场", "设计", "物业", "咨询", "批发", "合作社", "工厂", "鞋厂", "动物园", "植物园", "土黑猪", "猫狗", "学校", "学院", "大学", "棋牌", "娱乐", "袜厂", "制品厂", "加油站",
|
|
|
"体育馆", "研究所", "保健院", "龙虾", "羊蝎子", "足道", "公安局", "税务局", "法院", "菜馆", "棋牌", "水产行", "海鲜行", "公司", "服饰", "服装", "基金", "宠物", "车行", "保险", "理财",
|
|
|
- "支付宝", "财付通", "apple", "烟酒", "经营者", "商户"
|
|
|
+ "支付宝", "财付通", "apple", "烟酒", "经营者", "商户", "null", "借呗", "花呗", "网商银行", "LIMITED", "INC.", "幼儿园", "备用金", "淘宝现金红包", "基金蚂蚁", "耐克", "航空", "滴滴出行", "果格",
|
|
|
+ "拉扎斯", "网络科技", "字节跳动", "Incorporated", "Limited", "道达尔", "欧莱雅", "星巴克", "咖啡", "实业", "百胜餐饮", "优酷", "爱奇艺", "挚享科技", "云账户", "吱信"
|
|
|
);
|
|
|
for (String s : filedsList) {
|
|
|
for (String noQueryDatum : noQueryData) {
|