Преглед изворни кода

网络关系图增加共同主体数

hankunkun пре 10 месеци
родитељ
комит
05f5fea64a

+ 6 - 0
src/main/java/ieven/server/webapp/domain/data/StaticModelInput.java

@@ -29,4 +29,10 @@ public class StaticModelInput {
 
     //交易结束时间
     private String jysjEnd;
+
+    //共同主端数-开始
+    private Integer startNum;
+
+    //共同主端数-结束
+    private Integer endNum;
 }

+ 41 - 16
src/main/java/ieven/server/webapp/service/datastatic/DataStaticService.java

@@ -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) {