From 6d06746ec219cd9660fff07763182c1788ebfb20 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期五, 11 四月 2025 14:52:01 +0800
Subject: [PATCH] 成品检验任务功能开发

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java |  256 +++++++++++++++++++++++++--------------------------
 1 files changed, 125 insertions(+), 131 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index aeba583..513ba8c 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -1,6 +1,8 @@
 package com.ruoyi.inspect.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
@@ -8,14 +10,12 @@
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
 import com.ruoyi.basic.mapper.StandardProductListMapper;
@@ -26,27 +26,31 @@
 import com.ruoyi.common.core.domain.entity.User;
 import com.ruoyi.common.numgen.NumberGenerator;
 import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.api.IfsApiUtils;
 import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.inspect.dto.*;
 import com.ruoyi.inspect.mapper.*;
 import com.ruoyi.inspect.pojo.*;
 import com.ruoyi.inspect.service.InsOrderService;
+import com.ruoyi.inspect.service.InsOrderStateService;
 import com.ruoyi.inspect.service.InsProductService;
 import com.ruoyi.inspect.service.InsSampleService;
 import com.ruoyi.inspect.vo.InsOrderPrintingVo;
-import com.ruoyi.inspect.vo.SampleDefectsFatherVo;
-import com.ruoyi.system.mapper.CustomMapper;
+import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHoursTemporary;
+import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursTemporaryService;
 import com.ruoyi.system.mapper.UserMapper;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.Month;
@@ -70,25 +74,23 @@
     private InsSampleMapper insSampleMapper;
     private InsProductService insProductService;
     private InsProductMapper insProductMapper;
-    private InsProductUserMapper insProductUserMapper;
     private InsSampleUserMapper insSampleUserMapper;
-    private InsOrderStateMapper insOrderStateMapper;
+    private InsOrderStateService insOrderStateService;
     private UserMapper userMapper;
     private IfsInventoryQuantityMapper ifsInventoryQuantityMapper;
-    private CustomMapper customMapper;
     private final NumberGenerator<InsOrder> numberGenerator;
     private InsReportMapper insReportMapper;
     private InsUnqualifiedRetestProductMapper insUnqualifiedRetestProductMapper;
     private IfsApiUtils ifsApiUtils;
     private SpotCheckQuarterItemMapper spotCheckQuarterItemMapper;
     private StandardProductListMapper standardProductListMapper;
+    private AuxiliaryOutputWorkingHoursTemporaryService auxiliaryOutputWorkingHoursTemporaryService;
 
 
 
     //鑾峰彇妫�楠屼笅鍗曟暟鎹�
     @Override
     public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
-        //todo: 鍙湅鎴戝垽鏂叏閮�,涓汉,缁勭粐鐨勬潈闄�
         String laboratory = null;
         // 鍒ゆ柇鏄惁鏄叏閮�
         String isOrderAll = null;
@@ -96,10 +98,20 @@
             isOrderAll = "1";
             sampleOrderDto.setState(null);
         }
-        return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll);
+        SampleOrderDto otherParam = new SampleOrderDto();
+        otherParam.setLaboratory(laboratory);
+        otherParam.setIsOrderAll(isOrderAll);
+        otherParam.setCheckUserId(SecurityUtils.getUserId());
+        IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
+        return sampleOrderDtoIPage;
     }
 
 
+    /**
+     * 鍒嗛厤妫�楠屼汉
+     *
+     * @return
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) {
@@ -108,13 +120,14 @@
         insOrder.setAppointed(StringUtils.isNotEmpty(appointed) ? LocalDate.parse(appointed) : null);
         insOrder.setSendTime(LocalDateTime.now());
         insOrderMapper.updateById(insOrder);
-        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
-        List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
+        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
+        List<Integer> ids = insSamples.stream().map(InsSample::getId).collect(Collectors.toList());
         List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .in(InsProduct::getInsSampleId, ids)
                 .eq(InsProduct::getState, 1)
                 .select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
-        for (InsProduct insProduct : insProducts) {
+        // 鎵归噺娣诲姞妫�楠屼换鍔$姸鎬佽〃
+        List<InsOrderState> insOrderStateList = insProducts.stream().map(insProduct -> {
             InsOrderState insOrderState = new InsOrderState();
             insOrderState.setInsOrderId(orderId);
             try {
@@ -123,8 +136,10 @@
                 throw new ErrorException("璇ユ楠屽崟鏈夋湭缁存姢瀹為獙瀹ょ殑妫�楠岄」鐩�");
             }
             insOrderState.setInsState(0);
-            insOrderStateMapper.insert(insOrderState);
-        }
+            return insOrderState;
+        }).collect(Collectors.toList());
+        insOrderStateService.saveBatch(insOrderStateList);
+
         if (userId != null) {
             InsSampleUser insSampleUser = new InsSampleUser();
             insSampleUser.setState(0);
@@ -144,12 +159,92 @@
             spotCheckQuarterItem.setSamplingUser(user.getName());
             spotCheckQuarterItemMapper.updateById(spotCheckQuarterItem);
         }
+
+
+        // 鍒涘缓宸ユ椂鏆傚瓨
+        // 缂撳瓨鏍峰搧id, 缂栧彿map
+        Map<Integer, String> sampleMap = insSamples.stream().collect(Collectors.toMap(InsSample::getId, InsSample::getSampleCode));
+        List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .in(InsProduct::getInsSampleId, ids)
+                .eq(InsProduct::getState, 1));
+        List<AuxiliaryOutputWorkingHoursTemporary> outputWorkingHours = insProductList.stream().map(insProduct -> {
+            AuxiliaryOutputWorkingHoursTemporary auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHoursTemporary();
+            auxiliaryOutputWorkingHours.setInspectionItemClass(insProduct.getInspectionItemClass());//妫�娴嬮」鍒嗙被
+            auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
+            auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
+            auxiliaryOutputWorkingHours.setSample(sampleMap.get(insProduct.getInsSampleId()));//鏍峰搧缂栧彿
+            auxiliaryOutputWorkingHours.setOrderId(order.getId());//璁㈠崟id
+            auxiliaryOutputWorkingHours.setOrderNo(order.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+            auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
+            auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+            auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : BigDecimal.ZERO));//浜ч噺宸ユ椂
+            auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+            LocalDateTime localDateTime = LocalDateTime.now();
+            DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+            auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+            auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+            auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+            auxiliaryOutputWorkingHours.setPrice(insProduct.getPrice());//鍗曚环
+            auxiliaryOutputWorkingHours.setSampleId(insProduct.getInsSampleId());//鏍峰搧id
+            auxiliaryOutputWorkingHours.setInsProductId(Math.toIntExact(insProduct.getId()));//妫�楠岄」id
+
+            return auxiliaryOutputWorkingHours;
+        }).collect(Collectors.toList());
+
+        // 鍒濇鍒嗛厤妫�楠屼汉锛屽悇涓楠岄」榛樿璁㈠崟鐨勬楠屼汉
+        List<Integer> insProductIds  = insProductList.stream().map(insproduct -> {
+            return Math.toIntExact(insproduct.getId());
+        }).collect(Collectors.toList());
+        if(!CollectionUtils.isEmpty(insProductIds)){
+            insProductMapper.batchUpdateInsProductCheckUserId(insProductIds, userId);
+        }
+        auxiliaryOutputWorkingHoursTemporaryService.saveBatch(outputWorkingHours);
+
         return 1;
+    }
+
+    public static String getWeek(String dayStr) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            Date date = sdf.parse(dayStr);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(date);
+            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+            int day = calendar.get(Calendar.DAY_OF_MONTH);
+            return getWeekDay(dayOfWeek);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public static String getWeekDay(int dayOfWeek) {
+        switch (dayOfWeek) {
+            case Calendar.MONDAY:
+                return "鍛ㄤ竴";
+            case Calendar.TUESDAY:
+                return "鍛ㄤ簩";
+            case Calendar.WEDNESDAY:
+                return "鍛ㄤ笁";
+            case Calendar.THURSDAY:
+                return "鍛ㄥ洓";
+            case Calendar.FRIDAY:
+                return "鍛ㄤ簲";
+            case Calendar.SATURDAY:
+                return "鍛ㄥ叚";
+            case Calendar.SUNDAY:
+                return "鍛ㄦ棩";
+            default:
+                return "鏈煡";
+        }
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing) {
+    public int addInsOrder(List<SampleProductDto> list, InsOrder insOrder) {
         // todo: 涓嬪崟鍒ゆ柇鎶芥牱璁″垝鐨勫敮涓�鎬�
         if (insOrder.getQuarterItemId() != null) {
             Long quarterItemCount = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
@@ -159,7 +254,6 @@
                 throw new ErrorException("璇ユ娊鏍疯鍒掑凡琚粦瀹氳繃");
             }
         }
-
         insOrder.setState(0);
 
         LocalDate appointed = insOrder.getAppointed();
@@ -212,7 +306,7 @@
                     ip2.addAll(insProducts);
                 }
                 for (InsProduct product : ip2) {
-                    product.setStandardMethodListId(a.getInsulating().getStandardMethodListId());
+                    product.setStandardMethodListId(a.getInsulating().getStandardMethodListIds().toString());
                 }
                 addInsProductMethod(a.getId(), ip2);
             }
@@ -230,7 +324,7 @@
                     ip2.addAll(insProducts);
                 }
                 for (InsProduct product : ip2) {
-                    product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId());
+                    product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId().toString());
                 }
                 addInsProductMethod(a.getId(), ip2);
             }
@@ -285,9 +379,11 @@
                         .set(IfsInventoryQuantity::getInspectStatus, 0));
             }
 
+            // 瀹℃牳妫�楠屽崟
             upInsOrderOfState(insOrder);
-            upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), "鍘熸潗鏂�");
 
+            // 鍒嗛厤妫�楠屼汉
+            upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), "鍘熸潗鏂�");
 
             // 鏍规嵁闆朵欢鍙峰垽鏂槸鍚︽槸杈呮潗
             boolean isRaw = false;
@@ -354,6 +450,9 @@
                 if (StringUtils.isBlank(product.getAsk()) || StringUtils.isBlank(product.getTell())) {
                     throw new ErrorException("鏈夋楠岄」鐨勮姹傚�兼垨瑕佹眰鎻忚堪涓虹┖, 璇峰厛鍘绘爣鍑嗗簱閰嶇疆瑕佹眰鍊兼垨瑕佹眰鎻忚堪");
                 }
+                if (StringUtils.isBlank(product.getSonLaboratory())) {
+                    throw new ErrorException("鏈夋楠岄」鐨勭殑瀛愬疄楠屽涓虹粦瀹�, 璇峰厛缁戝畾瀛愬疄楠屽");
+                }
                 insProductMapper.insert(product);
             }
         }
@@ -378,6 +477,11 @@
         return map;
     }
 
+    /**
+     * 瀹℃牳妫�楠屽崟
+     * @param insOrder
+     * @return
+     */
     @Override
     public int upInsOrderOfState(InsOrder insOrder) {
         insOrder.setExamineTime(LocalDateTime.now());
@@ -400,7 +504,7 @@
             }
             // 鐢熸垚缂栧彿
             String no = numberGenerator.generateNumberWithPrefix(3,
-                    "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()),
+                    "JCZX/SP-" + code + LimsDateUtil.resetDate(LocalDateTime.now()),
                     InsOrder::getEntrustCode);
             // 鍒ゆ柇鏄惁鏄搴︽楠�, 鏄搴︽楠屽彇娑堝師鏉愭枡瀛e害妫�楠屼笅鍗�
             if (InsOrderTypeConstants.QUARTERLY_TEST.equals(order.getOrderType())) {
@@ -445,16 +549,6 @@
         Map<String, Object> map = new HashMap<>();
         InsOrder insOrder = insOrderMapper.selectById(id);
         List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory);
-        for (SampleProductDto sampleProductDto : list) {
-            List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
-            List<InsProductUser> insProductUsers = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery()
-                    .in(InsProductUser::getInsProductId, ids));
-            if (CollectionUtils.isNotEmpty(insProductUsers)) {
-                List<Integer> userIds = insProductUsers.stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
-                String collect = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
-                sampleProductDto.setCheckName(collect);
-            }
-        }
         map.put("insOrder", insOrder);
         map.put("sampleProduct", list);
         //鏌ヨ鎵�鏈夎褰曟ā鐗堝幓閲�
@@ -474,112 +568,12 @@
         return productDto2IPage;
     }
 
-    @Override
-    public IPage<CostStatisticsDto> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto) {
-        String dates = costStatisticsDto.getDates();
-        String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-        costStatisticsDto.setDates(null);
-
-        //todo:浠呯湅鑷繁
-
-        IPage<CostStatisticsDto> dtoIPage = insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
-        List<CostStatisticsDto> collect = dtoIPage.getRecords().stream().map(dto -> {
-            Set<String> uniqueTags = new HashSet<>();
-            if (dto.getInspectionItem().contains(",")) {
-                for (String s : dto.getInspectionItem().split(",")) {
-                    uniqueTags.add(s.split("@")[0]);
-                }
-            } else {
-                uniqueTags.add(dto.getInspectionItem().split("@")[0]);
-            }
-            dto.setInspectionItem(uniqueTags.toString());
-            return dto;
-        }).collect(Collectors.toList());
-        dtoIPage.setRecords(collect);
-        return dtoIPage;
-    }
-
-    @Override
-    public Map<String, Object> costStatistics2(CostStatisticsDto costStatisticsDto) {
-        Map<String, Object> map = new HashMap<>();
-        String dates = costStatisticsDto.getDates();
-        String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-        costStatisticsDto.setDates(null);
-        List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
-        double totalPrice = costStatisticsDtos.stream()
-                .filter(dto -> dto.getPrice() != null) // 杩囨护鎺変环鏍间负 null 鐨勫璞�
-                .mapToDouble(value -> value.getPrice().doubleValue() * value.getNum())
-                .sum();
-        map.put("total", totalPrice);
-        return map;
-    }
-
-    @Override
-    public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber) {
-        List<SampleDefectsFatherVo> sampleDefectsFatherVos = insOrderMapper.selectSampleDefects(page, inspectionItems, orderNumber);
-        Map<String, Object> map = new HashMap<>();
-        map.put("records", sampleDefectsFatherVos);
-        Long aLong = insOrderMapper.getCount(inspectionItems, orderNumber);
-        map.put("total", aLong);
-        return map;
-    }
 
     @Override
     public int updateStatus(Integer id) {
         return insOrderMapper.updateStatus(id);
     }
 
-
-    @Override
-    public void export(CostStatisticsDto costStatisticsDto, HttpServletResponse response) throws IOException {
-        //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
-        String dates = costStatisticsDto.getDates();
-        String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-        costStatisticsDto.setDates(null);
-        List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
-        costStatisticsDtos = costStatisticsDtos.stream().map(dto -> {
-            Set<String> uniqueTags = new HashSet<>();
-            if (dto.getInspectionItem().contains(",")) {
-                for (String s : dto.getInspectionItem().split(",")) {
-                    uniqueTags.add(s.split("@")[0]);
-                }
-            } else {
-                uniqueTags.add(dto.getInspectionItem().split("@")[0]);
-            }
-            dto.setInspectionItem(uniqueTags.toString());
-            return dto;
-        }).collect(Collectors.toList());
-
-        response.setContentType("application/vnd.ms-excel");
-        response.setCharacterEncoding("UTF-8");
-        // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
-        String fileName = URLEncoder.encode("鏍峰搧璐圭敤缁熻瀵煎嚭", "UTF-8");
-        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        Map<String, List<CostStatisticsDto>> groupByCompany =
-                costStatisticsDtos.stream().filter(e -> StrUtil.isNotEmpty(e.getCompany()))
-                        .collect(Collectors.groupingBy(CostStatisticsDto::getCompany));
-        try {
-            // 鏂板缓ExcelWriter
-            // 鏂板缓ExcelWriter
-            ExcelWriter excelWriter =
-                    EasyExcel.write(response.getOutputStream())
-                            .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25))
-                            .build();
-            for (Map.Entry<String, List<CostStatisticsDto>> companyDataEntry : groupByCompany.entrySet()) {
-                String sheetName = companyDataEntry.getKey();
-                List<CostStatisticsDto> dataList = companyDataEntry.getValue();
-                WriteSheet mainSheet = EasyExcel.writerSheet(sheetName)
-                        .head(CostStatisticsDto.class)
-                        .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25))
-                        .build();
-                excelWriter.write(dataList, mainSheet);
-            }
-            // 鍏抽棴娴�
-            excelWriter.finish();
-        } catch (IOException e) {
-            throw new RuntimeException("瀵煎嚭澶辫触");
-        }
-    }
 
     /**
      * 鑾峰彇ifs搴撳瓨淇℃伅

--
Gitblit v1.9.3