From a746fa722dbe2975e4a7fd2a2028acf1be93cdaf Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 06 十月 2023 21:05:38 +0800
Subject: [PATCH] 导出功能

---
 ycl-platform/src/main/java/com/ycl/controller/smoke/InTimeController.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/smoke/InTimeController.java b/ycl-platform/src/main/java/com/ycl/controller/smoke/InTimeController.java
index a703a9b..fd2b6f2 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/smoke/InTimeController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/smoke/InTimeController.java
@@ -5,15 +5,28 @@
 import com.ycl.api.CommonPage;
 import com.ycl.api.CommonResult;
 import com.ycl.controller.BaseController;
+import com.ycl.dto.caseHandler.QueryForViolationParam;
 import com.ycl.dto.smoker.InTimeCountDto;
+import com.ycl.dto.smoker.QueryInTimeParam;
 import com.ycl.entity.smoke.OdsCustomer;
 import com.ycl.entity.smoke.OdsInTime;
 import com.ycl.service.smoke.IOdsCustomerService;
 import com.ycl.service.smoke.IOdsInTimeService;
+import com.ycl.utils.EasyExcelUtils;
+import com.ycl.vo.casePool.QueryForViolationVO;
+import com.ycl.vo.smoke.OdsInTimeVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @RestController
 @RequestMapping("/smoke")
@@ -62,6 +75,57 @@
         return CommonResult.success(CommonPage.restPage(inTimePage));
     }
 
+    @ApiOperation("瀵煎嚭瀹炴椂鏁版嵁")
+    @PostMapping(value = "/inTime/export")
+    @LogSave(operationType = "娌圭儫妯″潡", contain = "鏌ヨ瀹炴椂鏁版嵁")
+    public void exportInTimeList(HttpServletResponse response, QueryInTimeParam param) throws IOException {
+        Page<OdsInTime> inTimePage = inTimeService.findList(param.getOwner(), param.getOnlineStatus(), param.getStartTime(),
+                param.getEndTime(), param.getType(), param.getStatus(), 99999, 1);
+
+        List<OdsInTimeVo> odsInTimeVos = new ArrayList<>();
+        Dictionary<Integer, String> fanStatusDic = new Hashtable<>();
+        fanStatusDic.put(1, "寮�");
+        fanStatusDic.put(2, "鍏�");
+        fanStatusDic.put(3, "寮傚父");
+        fanStatusDic.put(0, "寮傚父");
+
+        Dictionary<Integer, String> onlineStatusDic = new Hashtable<>();
+        onlineStatusDic.put(1, "鍦ㄧ嚎");
+        onlineStatusDic.put(2, "绂荤嚎");
+        onlineStatusDic.put(3, "寮傚父绂荤嚎");
+        onlineStatusDic.put(0, "寮傚父绂荤嚎");
+
+        Dictionary<String, String> statusDic = new Hashtable<>();
+        statusDic.put("NORMAL", "姝e父");
+        statusDic.put("ALARM", "棰勮");
+        statusDic.put("EXCESS", "瓒呮爣");
+        statusDic.put("DOWN", "绂荤嚎");
+        statusDic.put("OFF", "寮傚父绂荤嚎");
+
+        inTimePage.getRecords().stream().forEach(o -> {
+            OdsInTimeVo vo = new OdsInTimeVo();
+            BeanUtils.copyProperties(o, vo);
+            vo.setAcquitAtStr(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(o.getAcquitAt() * 1000)));
+            vo.setFanStatusStr(fanStatusDic.get(o.getFanStatus()));
+            vo.setFilterStatusStr(fanStatusDic.get(o.getFilterStatus()));
+            vo.setOnlineStatusStr(onlineStatusDic.get(o.getOnlineStatus()));
+            vo.setStatusStr(statusDic.get(o.getStatus()));
+            odsInTimeVos.add(vo);
+        });
+
+        String sheetName = "瀹炴椂鏁版嵁";
+
+        String fileName = URLEncoder.encode(sheetName + ".xlsx", "UTF-8");
+        //璁剧疆鍝嶅簲瀛楃闆�
+        response.setCharacterEncoding("UTF-8");
+        //璁剧疆鍝嶅簲濯掍綋绫诲瀷
+        response.setContentType("application/vnd.ms-excel");
+        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+
+        EasyExcelUtils.export(response, sheetName, OdsInTimeVo.class, odsInTimeVos);
+    }
+
+
     @ApiOperation("鑾峰彇璁惧鍦ㄧ嚎鎯呭喌")
     @RequestMapping(value = "/inTime/count", method = RequestMethod.GET)
     @ResponseBody

--
Gitblit v1.8.0