|
@@ -1,12 +1,18 @@
|
|
|
package com.ruoyi.project.business.service.impl;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.ExcelWriter;
|
|
|
+import com.alibaba.excel.write.metadata.WriteSheet;
|
|
|
+import com.alibaba.excel.write.metadata.WriteTable;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.ruoyi.common.importExcel.excel.EasyPoiHelper;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.google.common.base.Functions;
|
|
@@ -54,6 +60,7 @@ import com.ruoyi.project.business.service.ITqContractService;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import static com.ruoyi.common.utils.DateUtils.getMonthEnd;
|
|
|
import static com.ruoyi.common.utils.DateUtils.getMonthStart;
|
|
@@ -670,4 +677,26 @@ public class TqContractServiceImpl implements ITqContractService
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean contractSigningStatisticExport(TqContractDto params) {
|
|
|
+ ContractSigningStatistic contractSigningStatistic = contractSigningStatistic(params);
|
|
|
+ Integer year = contractSigningStatistic.getYear();
|
|
|
+
|
|
|
+ // 返回生成的excel文件
|
|
|
+ HttpServletResponse response =ServletUtils.getResponse();
|
|
|
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
|
|
+ response.setCharacterEncoding("utf-8");
|
|
|
+ try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build()) {
|
|
|
+
|
|
|
+ excelWriter.write(contractSigningStatistic.getSigningAreaColStatistics(), EasyExcel.writerSheet(year + "国际各区域签单").build());
|
|
|
+ excelWriter.write(contractSigningStatistic.getProductionAreaColStatistics(), EasyExcel.writerSheet(year + "国际各区域排产").build());
|
|
|
+ excelWriter.write(contractSigningStatistic.getDeliveryMonthColStatistics(), EasyExcel.writerSheet(year + "发货金额").build());
|
|
|
+ excelWriter.write(contractSigningStatistic.getProductionMonthColStatistics(), EasyExcel.writerSheet(year + "排产金额").build());
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("导出失败");
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|