Commit 9ff1c68b29c7c2f102e287fb84e539b7e31d501d
1 parent
721e92aaa3
Exists in
master
and in
6 other branches
建册统计相关代码
Showing 2 changed files with 32 additions and 20 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
9ff1c68
| ... | ... | @@ -1113,31 +1113,32 @@ |
| 1113 | 1113 | } |
| 1114 | 1114 | |
| 1115 | 1115 | List<Patients> patients = mongoTemplate.find(Query.query(criteria), Patients.class); |
| 1116 | - | |
| 1117 | - /* AggregationOperation match = Aggregation.match( | |
| 1118 | - Criteria.where("hospitalId").is(hospitalId) | |
| 1119 | -// .and("bookbuildingDate").gte(DateUtil.getYearDate(year)).lt(DateUtil.getNextYearDate(year)) | |
| 1120 | - .and("id").in(patientIds)); | |
| 1121 | - AggregationOperation provinceGroup = Aggregation.group("bookbuildingDate").count().as("provinceCount"); | |
| 1122 | -// AggregationOperation cityGroup = Aggregation.group("cityId").count().as("cityCount"); | |
| 1123 | -// AggregationOperation areaGroup = Aggregation.group("areaId").count().as("areaCount"); | |
| 1124 | - Aggregation aggregation = Aggregation.newAggregation(match, provinceGroup); | |
| 1125 | - AggregationResults<HashMap> result = mongoTemplate.aggregate(aggregation, Patients.class, HashMap.class); | |
| 1126 | - List<HashMap> mappedResults = result.getMappedResults(); | |
| 1127 | - | |
| 1128 | - for (HashMap mappedResult : mappedResults) { | |
| 1129 | - System.out.println(mappedResult); | |
| 1130 | - } | |
| 1131 | -*/ | |
| 1132 | 1116 | ReportModel reportModel = new ReportModel(); |
| 1133 | 1117 | reportModel.setLegend(Arrays.asList("秦皇岛市", "辖区外")); |
| 1134 | 1118 | |
| 1135 | 1119 | reportModel.setxAxis(Arrays.asList("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月")); |
| 1136 | 1120 | |
| 1137 | - | |
| 1138 | 1121 | List<Map<String, Object>> mapList = mongoUtil.getListByGroup(patients); |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1139 | 1125 | List<Series> series = createPatientSeries(mapList); |
| 1140 | 1126 | reportModel.setSeries(series); |
| 1127 | + | |
| 1128 | + Map<String, Object> countMap = new HashMap<>(); | |
| 1129 | + countMap.put("id", -1); | |
| 1130 | + countMap.put("parentId", null); | |
| 1131 | + countMap.put("name", "建册人数(按居住地)"); | |
| 1132 | + List<Object> qhdData = series.get(0).getData(); | |
| 1133 | + List<Object> otherData = series.get(0).getData(); | |
| 1134 | + Integer count = 0; | |
| 1135 | + for(int i = 0; i< 12; i++) { | |
| 1136 | + countMap.put(i + 1 + "", Integer.parseInt(qhdData.get(i) + "") + Integer.parseInt(otherData.get(i) + "")); | |
| 1137 | + count += Integer.parseInt(qhdData.get(i) + "") + Integer.parseInt(otherData.get(i) + ""); | |
| 1138 | + } | |
| 1139 | + countMap.put("count", count); | |
| 1140 | + mapList.add(countMap); | |
| 1141 | + | |
| 1141 | 1142 | return RespBuilder.buildSuccess("patients", mapList, "report", reportModel); |
| 1142 | 1143 | } |
| 1143 | 1144 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java
View file @
9ff1c68
| ... | ... | @@ -53,7 +53,6 @@ |
| 53 | 53 | public List<Map<String, Object>> getListByGroup(List<Patients> patients) { |
| 54 | 54 | Map<String, Integer> codeMap = new HashMap<>(); /** key为 id_month */ |
| 55 | 55 | |
| 56 | - Map<String, Integer> otherCountMap = new HashMap<>(); | |
| 57 | 56 | Map<String, Integer> otherMonthMap = new HashMap<>(); |
| 58 | 57 | for (int i = 1; i <= 12; i++) { |
| 59 | 58 | otherMonthMap.put(i + "", 0); |
| ... | ... | @@ -129,7 +128,7 @@ |
| 129 | 128 | } |
| 130 | 129 | } |
| 131 | 130 | |
| 132 | - System.out.println("===================================== codemap ================================="); | |
| 131 | + /* System.out.println("===================================== codemap ================================="); | |
| 133 | 132 | Set<Map.Entry<String, Integer>> codeMapEntries = codeMap.entrySet(); |
| 134 | 133 | for (Map.Entry<String, Integer> codeMapEntry : codeMapEntries) { |
| 135 | 134 | System.out.println(codeMapEntry.getKey() + " : " + codeMapEntry.getValue()); |
| ... | ... | @@ -140,7 +139,7 @@ |
| 140 | 139 | for (Map.Entry<String, Map<Integer, Integer>> mapEntry : set) { |
| 141 | 140 | System.out.println(mapEntry.getKey() + " : " + mapEntry.getValue()); |
| 142 | 141 | } |
| 143 | - } | |
| 142 | + }*/ | |
| 144 | 143 | |
| 145 | 144 | List<Map<String, Object>> restMap = new ArrayList<>(); |
| 146 | 145 | |
| ... | ... | @@ -163,6 +162,7 @@ |
| 163 | 162 | map.put(0, count); |
| 164 | 163 | tempMap.put("count", count); |
| 165 | 164 | tempMap.put("id", entry.getKey()); |
| 165 | + tempMap.put("parentId", findParentId(entry.getKey())); | |
| 166 | 166 | tempMap.put("name", findName(entry.getKey())); |
| 167 | 167 | restMap.add(tempMap); |
| 168 | 168 | } |
| ... | ... | @@ -174,6 +174,7 @@ |
| 174 | 174 | tempMap.put("count", otherCount); |
| 175 | 175 | tempMap.put("name", "其他"); |
| 176 | 176 | tempMap.put("id", null); |
| 177 | + tempMap.put("parentId", -1); | |
| 177 | 178 | for (int i = 1; i <= 12; i++) { |
| 178 | 179 | if(otherMonthMap.containsKey(i + "")) { |
| 179 | 180 | tempMap.put(i + "", otherMonthMap.get(i + "")); |
| ... | ... | @@ -191,6 +192,16 @@ |
| 191 | 192 | System.out.println("rest>> " + map); |
| 192 | 193 | }*/ |
| 193 | 194 | return restMap; |
| 195 | + } | |
| 196 | + | |
| 197 | + private String findParentId(String key) { | |
| 198 | + if(key != null) { | |
| 199 | + BasicConfig basicConfig = mongoTemplate.findById(key, BasicConfig.class); | |
| 200 | + if(basicConfig != null) { | |
| 201 | + return basicConfig.getParentId(); | |
| 202 | + } | |
| 203 | + } | |
| 204 | + return null; | |
| 194 | 205 | } |
| 195 | 206 | |
| 196 | 207 | public String findName(Object id) { |