From bbd18f555ee3c0ed368b226cde7a3c64db4a4802 Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期二, 02 一月 2024 03:34:17 +0800 Subject: [PATCH] 修订版1.0 --- data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 76 insertions(+), 5 deletions(-) diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java index 24071b3..c978ba5 100644 --- a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java +++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java @@ -1,5 +1,9 @@ package com.yuanchu.mom.service.impl; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.io.file.FileReader; +import cn.hutool.core.net.URLDecoder; import cn.hutool.core.text.csv.CsvUtil; import cn.hutool.core.text.csv.CsvWriter; import cn.hutool.core.util.CharsetUtil; @@ -22,9 +26,13 @@ import com.yuanchu.mom.utils.QueryWrappers; import com.yuanchu.mom.utils.ServletUtils; import lombok.AllArgsConstructor; +import org.apache.tomcat.util.http.fileupload.IOUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.io.*; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; @@ -41,13 +49,17 @@ * @createDate 2023-12-23 10:39:43 */ @Service -@AllArgsConstructor public class DataReportingServiceImpl extends ServiceImpl<DataReportingMapper, DataReporting> implements DataReportingService { + @Resource private DataReportingMapper dataReportingMapper; + @Resource private GetLook getLook; + + @Value("${outPath}") + private String outPath; @Override public Map<String, Object> selectDataReportingList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) { @@ -161,9 +173,10 @@ @Override public String downDataReportingFile(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) { Map<String, Object> map = selectDataReportingList(page, dataReportingPageDto); - String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd HH_mm_ss")); - String name = "D:\\Download\\鏁版嵁涓婃姤 " + time + ".csv"; - CsvWriter writer = CsvUtil.getWriter(name, CharsetUtil.CHARSET_GBK); + String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss")); + String name = "鏁版嵁涓婃姤" + time + ".csv"; + String path = outPath + name; + CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); writer.write(new String[]{}); writer.write(new String[]{}); @@ -183,7 +196,65 @@ writer.write(str); }); writer.close(); - return null; + return name; + } + + @Override + public String downProductCountFile(IPage<ProductCountDto> page, ProductCountDto productCountDto) { + Map<String, Object> map = selectProductCountDtoPageList(page, productCountDto); + String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss")); + String name = "椤圭洰鏁版嵁缁熻" + time + ".csv"; + String path = outPath + name; + CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{}); + writer.write(new String[]{}); + writer.write(new String[]{}); + writer.write(new String[]{}); + List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class); + String[] str = new String[head.size()]; + for (int i = 0; i < head.size(); i++) { + str[i] = head.get(i).get("value"); + } + writer.write(str); + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); + for (int i = 0; i < head.size(); i++) { + str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + } + writer.write(str); + }); + writer.close(); + return name; + } + + @Override + public String downRegistrantCountFile(IPage<RegistrantCountDto> page, RegistrantCountDto registrantCountDto) { + Map<String, Object> map = selectRegistrantCountDtoPageList(page, registrantCountDto); + String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss")); + String name = "鍛樺伐鏁版嵁缁熻" + time + ".csv"; + String path = outPath + name; + CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{}); + writer.write(new String[]{}); + writer.write(new String[]{}); + writer.write(new String[]{}); + List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class); + String[] str = new String[head.size()]; + for (int i = 0; i < head.size(); i++) { + str[i] = head.get(i).get("value"); + } + writer.write(str); + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); + for (int i = 0; i < head.size(); i++) { + str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + } + writer.write(str); + }); + writer.close(); + return name; } } -- Gitblit v1.9.3