From 849c3bfad21a3821f303413f82cda2d8d4d27733 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期二, 05 十一月 2024 18:41:31 +0800
Subject: [PATCH] tag查当前值

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java |   58 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 20 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
index f2f803f..c44bb02 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
@@ -1,6 +1,5 @@
 package com.iailab.module.data.api.controller.admin;
 
-import com.iailab.framework.apilog.core.annotation.ApiAccessLog;
 import com.iailab.framework.common.pojo.CommonResult;
 import com.iailab.framework.common.util.date.DateUtils;
 import com.iailab.framework.common.util.object.ConvertUtils;
@@ -12,6 +11,7 @@
 import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO;
 import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO;
 import com.iailab.module.data.api.plan.PlanItemApi;
+import com.iailab.module.data.api.plan.dto.ApiPlanDataDTO;
 import com.iailab.module.data.api.point.DataPointApi;
 import com.iailab.module.data.api.point.dto.ApiPointValueDTO;
 import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO;
@@ -28,7 +28,7 @@
 import com.iailab.module.data.api.dto.DeviceValueDTO;
 import com.iailab.module.data.common.utils.ApiSecurityUtils;
 import com.iailab.module.data.plan.item.service.PlanItemService;
-import com.iailab.module.data.point.vo.PointValueExportVO;
+import com.iailab.module.data.point.vo.DaPointExcelVO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
@@ -37,7 +37,6 @@
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -46,12 +45,9 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.iailab.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static com.iailab.framework.common.pojo.CommonResult.success;
 
 /**
@@ -216,8 +212,23 @@
             apiSecurityUtils.validate(request);
             result = planItemApi.queryPlanItemHistoryValue(dto);
             return new CommonResult<List<ApiDataValueDTO>>().setData(result);
-        }  catch (Exception ex) {
+        } catch (Exception ex) {
             return new CommonResult<List<ApiDataValueDTO>>().setMsg(ex.getMessage());
+        }
+    }
+
+    @PermitAll
+    @PostMapping("/query-plan/record-value")
+    @Operation(summary = "查询单个计划历史值")
+    public CommonResult<LinkedHashMap<String, List<ApiPlanDataDTO>>> queryPlanItemRecordValue(HttpServletResponse response, HttpServletRequest
+            request, @RequestBody ApiDataQueryDTO dto) {
+        LinkedHashMap<String, List<ApiPlanDataDTO>> result = new LinkedHashMap<>();
+        try {
+            apiSecurityUtils.validate(request);
+            result = planItemApi.queryPlanItemRecordValue(dto);
+            return new CommonResult<LinkedHashMap<String, List<ApiPlanDataDTO>>>().setData(result);
+        } catch (Exception ex) {
+            return new CommonResult<LinkedHashMap<String, List<ApiPlanDataDTO>>>().setMsg(ex.getMessage());
         }
     }
 
@@ -226,13 +237,16 @@
             request, @RequestBody ApiDataQueryDTO dto) {
 
         BarLineDTO CommonResult = new BarLineDTO();
+
         try {
             apiSecurityUtils.validate(request);
             List<String> legend = new ArrayList<>();
             List<SeriesItem> series = new ArrayList<>();
-            String endDateStr = dto.getEnd() == null ? DateUtils.format(new Date(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) : DateUtils.format(dto.getEnd(),  DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
-            Date endDate = DateUtils.parse(endDateStr, "yyyy-MM-dd HH:mm");
-            Date startDate = dto.getStart() == null ? DateUtils.addDateHours(endDate, -2) : dto.getStart();
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.MILLISECOND, 0);
+            calendar.set(Calendar.SECOND, 0);
+            Date endDate = dto.getEnd() == null ? DateUtils.addDateHours(calendar.getTime(), 2) : dto.getEnd();
+            Date startDate = dto.getStart() == null ? calendar.getTime() : dto.getStart();
             List<String> categories = DateUtils.getTimeScale(startDate, endDate, dto.getGranularity() == null ? 60 : dto.getGranularity());
             if (CollectionUtils.isEmpty(dto.getItemNos())) {
                 return new CommonResult<BarLineDTO>().setData(CommonResult);
@@ -268,24 +282,28 @@
         return new CommonResult<BarLineDTO>().setData(CommonResult);
     }
 
-    @GetMapping("/export-plan/history-value")
+    @PostMapping("/export-plan/history-value")
     @Operation(summary = "导出计划数据")
-    public void exportPlanHistoryValue(@RequestParam("itemNo") String itemNo,
-                                 @RequestParam("start") String start,
-                                 @RequestParam("end") String end,
-                                 HttpServletResponse response) throws IOException {
+    public void exportPlanHistoryValue(HttpServletResponse response, HttpServletRequest
+            request, @RequestBody ApiDataQueryDTO dto) throws IOException {
+        //apiSecurityUtils.validate(request);
         Calendar calendar = Calendar.getInstance();
         calendar.set(Calendar.MILLISECOND, 0);
         calendar.set(Calendar.SECOND, 0);
-        Date startDate = StringUtils.isBlank(start) ? DateUtils.addDateHours(calendar.getTime(), 0) : DateUtils.parse(start, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
-        Date endDate = StringUtils.isBlank(end) ? DateUtils.addDateHours(calendar.getTime(), 3) : DateUtils.parse(end, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
+        Date endDate = dto.getEnd() == null ? DateUtils.addDateHours(calendar.getTime(), 2) : dto.getEnd();
+        Date startDate = dto.getStart() == null ? calendar.getTime() : dto.getStart();
         ApiDataQueryDTO queryDto = new ApiDataQueryDTO();
-        queryDto.setItemNo(itemNo);
+        queryDto.setItemNo(dto.getItemNo());
         queryDto.setStart(startDate);
         queryDto.setEnd(endDate);
         List<ApiDataValueDTO> list = planItemApi.queryPlanItemHistoryValue(queryDto);
-        List<PlanItemValueExportVO> exportList = ConvertUtils.sourceToTarget(list, PlanItemValueExportVO.class);
-        ExcelUtils.write(response, "计划数据.xls", "数据", PlanItemValueExportVO.class, exportList);
+        List<PlanItemValueExportVO> exportList = list.stream().map(item -> {
+            PlanItemValueExportVO exportVO = new PlanItemValueExportVO();
+            exportVO.setDataTime(DateUtils.format(item.getDataTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
+            exportVO.setDataValue(new BigDecimal(item.getDataValue()).setScale(0, BigDecimal.ROUND_HALF_UP).toString());
+            return exportVO;
+        }).collect(Collectors.toList());
+        ExcelUtils.write(response, "计划数据.xls", "计划数据", PlanItemValueExportVO.class, exportList);
     }
 
     @PermitAll

--
Gitblit v1.9.3