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