浏览代码

修复点小问题

wukai 5 天之前
父节点
当前提交
de3e0cad67

+ 17 - 3
jjt-biz/src/main/java/com/jjt/biz/controller/ApiController.java

@@ -229,11 +229,25 @@ public class ApiController extends BaseController {
     @GetMapping("/api/formula/calc/{month}")
     @CrossOrigin(origins = "*")
     public R formulaDetail(@PathVariable String month) {
-        Map<String, Object> result = new HashMap<>();
+        Map<String, Object> result = new HashMap<>(16);
         List<SpecVO> specs = specService.selectSpec(month, null);
-        specs.forEach(spec -> spec.setHeight(spec.getHeight().stripTrailingZeros()));
         Map<String, List<SpecVO>> specsGroup = specs.stream().collect(Collectors.groupingBy(s -> s.getHeight().stripTrailingZeros().toPlainString(), LinkedHashMap::new, Collectors.toList()));
-        result.put("trend", specsGroup);
+        List<String> time = new ArrayList<>();
+        List<Map<String, Object>> dataList = new ArrayList<>();
+        specsGroup.forEach((height, list) -> {
+            Map<String, Object> data = new HashMap<>(16);
+            List<Integer> trend = list.stream()
+                    .map(SpecVO::getNum)
+                    .collect(Collectors.toList());
+            data.put("height", height);
+            data.put("trend", trend);
+            dataList.add(data);
+            if (time.size() == 0) {
+                time.addAll(list.stream().map(s -> DateUtils.parseDateToStr("yyyy-MM-dd", s.getTime())).collect(Collectors.toList()));
+            }
+        });
+        result.put("time", time);
+        result.put("data", dataList);
         TwinCalcHourSpec hour = new TwinCalcHourSpec();
         Map<String, Object> params = new HashMap<>(16);
         params.put("month", month);

+ 2 - 2
jjt-biz/src/main/resources/mapper/calc/TwinCalcHourSpecMapper.xml

@@ -51,7 +51,7 @@
             </if>
             <if test="params.month != null and params.month!=''">
                 and FORMAT(DATEADD(hour, HOUR - 7, DATA_DATE), 'yyyy-MM') = #{params.month}
-                and hour=7
+                and hour=23
             </if>
         </where>
         order by DATEADD(hour, HOUR, DATA_DATE)
@@ -68,7 +68,7 @@
         <where>
             <if test="height!=null">and HEIGHT =#{height}</if>
             and FORMAT(DATEADD(hour, HOUR - 7, DATA_DATE), 'yyyy-MM') = #{month}
-            and hour=7
+            and hour=23
         </where>
         ) t
         group by t.time, t.height