Commit cad76275d772d5dd26652f18b7b51b4d5e9f40af

Authored by 胡翰林
1 parent dbb60003

可视化看板数据接口

... ... @@ -2,21 +2,23 @@ package com.ash.controller;
2 2
3 3 import com.ash.base.*;
4 4 import com.ash.entity.Case;
5   -import com.ash.entity.WarningInstance;
  5 +import com.ash.entity.CaseAnalysis;
  6 +import com.ash.service.CaseAnalysisService;
6 7 import com.ash.service.CaseService;
7 8 import com.ash.service.WarningInstanceAnalysisService;
8 9 import com.ash.service.WarningInstanceService;
9 10 import com.ash.util.DateUtils;
  11 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10 12 import lombok.extern.slf4j.Slf4j;
11 13 import org.apache.commons.collections.CollectionUtils;
12 14 import org.apache.commons.lang3.StringUtils;
13   -import org.springframework.web.bind.annotation.RequestBody;
14   -import org.springframework.web.bind.annotation.RequestMapping;
15   -import org.springframework.web.bind.annotation.RequestMethod;
16   -import org.springframework.web.bind.annotation.RestController;
  15 +import org.springframework.web.bind.annotation.*;
17 16
18 17 import javax.annotation.Resource;
19   -import java.util.*;
  18 +import java.util.ArrayList;
  19 +import java.util.HashMap;
  20 +import java.util.List;
  21 +import java.util.Map;
20 22 import java.util.stream.Collectors;
21 23 import java.util.stream.Stream;
22 24
... ... @@ -29,7 +31,7 @@ public class StatisticsController extends BaseController {
29 31 private WarningInstanceService warningInstanceService;
30 32
31 33 @Resource
32   - private WarningInstanceAnalysisService warningInstanceAnalysisService;
  34 + private CaseAnalysisService caseAnalysisService;
33 35
34 36 @Resource
35 37 private CaseService caseService;
... ... @@ -334,5 +336,21 @@ public class StatisticsController extends BaseController {
334 336 }
335 337 }
336 338
  339 + @PostMapping("/majorCasePage")
  340 + public JsonResult majorCasePage(@RequestBody StatisticsParams statisticsParams) {
  341 + statisticsParams.setStartTime(DateUtils.weeHours(statisticsParams.getStartTime(), 0));
  342 + statisticsParams.setEndTime(DateUtils.weeHours(statisticsParams.getEndTime(), 1));
  343 +
  344 + List<Case> dataList = caseService.majorCasePage(statisticsParams);
  345 + if (CollectionUtils.isNotEmpty(dataList)) {
  346 + List<String> caseIds = dataList
  347 + .stream().map(Case::getId).collect(Collectors.toList());
  348 + Map<String, CaseAnalysis> caseAnalysisMap = caseAnalysisService.listByCaseId(caseIds);
  349 + dataList.forEach(e -> e.setAnalysis(caseAnalysisMap.get(e.getId())));
  350 + }
  351 + return JsonResult.ok(OptionStatus.OPT_SUCCESS.getName(), dataList);
  352 +
  353 + }
  354 +
337 355
338 356 }
... ...
... ... @@ -308,6 +308,29 @@ public class CaseService {
308 308 return resultList;
309 309 }
310 310
  311 + public List<Case> majorCasePage(StatisticsParams params) {
  312 + MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<Case>();
  313 + mpjQueryWrapper.select("t.*")
  314 + .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
  315 +
  316 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  317 + if (params.getStartTime() != null) {
  318 + mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  319 +
  320 + }
  321 +
  322 + if (params.getEndTime() != null) {
  323 + mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  324 + }
  325 +
  326 + mpjQueryWrapper.ge("ca.total_amount", 500000);
  327 + mpjQueryWrapper.orderByDesc("total_amount");
  328 +
  329 + return caseMapper.selectJoinList(Case.class, mpjQueryWrapper);
  330 +
  331 +
  332 + }
  333 +
311 334 private QueryWrapper<Case> getCondition(Case params) {
312 335 QueryWrapper<Case> queryWrapper = new QueryWrapper<>();
313 336 LambdaQueryWrapper<Case> lambda = queryWrapper.lambda();
... ...