|
@@ -1,12 +1,17 @@
|
|
package org.jeecg.ctop.finance.settlement.service.serviceImpl;
|
|
package org.jeecg.ctop.finance.settlement.service.serviceImpl;
|
|
|
|
|
|
|
|
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
|
+import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.poi.hssf.usermodel.*;
|
|
import org.apache.poi.hssf.usermodel.*;
|
|
import org.apache.poi.ss.usermodel.ClientAnchor;
|
|
import org.apache.poi.ss.usermodel.ClientAnchor;
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
import org.jeecg.common.api.vo.Result;
|
|
import org.jeecg.common.api.vo.Result;
|
|
import org.jeecg.ctop.finance.policy.utils.Check;
|
|
import org.jeecg.ctop.finance.policy.utils.Check;
|
|
|
|
+import org.jeecg.ctop.finance.settlement.entity.vo.ProfitReportBytedanceVo;
|
|
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementFileParamsVo;
|
|
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementFileParamsVo;
|
|
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementReportBytedanceVo;
|
|
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementReportBytedanceVo;
|
|
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementReportKuaiShouVo;
|
|
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementReportKuaiShouVo;
|
|
@@ -19,12 +24,10 @@ import javax.annotation.Resource;
|
|
import javax.imageio.ImageIO;
|
|
import javax.imageio.ImageIO;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.awt.image.BufferedImage;
|
|
import java.awt.image.BufferedImage;
|
|
-import java.io.BufferedOutputStream;
|
|
|
|
-import java.io.ByteArrayOutputStream;
|
|
|
|
-import java.io.InputStream;
|
|
|
|
-import java.io.OutputStream;
|
|
|
|
|
|
+import java.io.*;
|
|
import java.net.URLEncoder;
|
|
import java.net.URLEncoder;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -409,4 +412,75 @@ public class ReportSettlementServiceImpl implements IReportSettlementService {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @description: 财务结算 利润表导出 头条
|
|
|
|
+ * @param paramsVo
|
|
|
|
+ * @param response
|
|
|
|
+ * @return: org.jeecg.common.api.vo.Result
|
|
|
|
+ * @author: zianY
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public Result porfitReportBytedance(SettlementFileParamsVo paramsVo, HttpServletResponse response) {
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ //查询 头条利润表 总花费
|
|
|
|
+ List<Map<String,String>> list = reportSettlementMapper.getProfitBytedanceCost(paramsVo.getStartTime(),paramsVo.getEndTime());
|
|
|
|
+ for (Map<String, String> map : list) {
|
|
|
|
+ ProfitReportBytedanceVo vo = new ProfitReportBytedanceVo();
|
|
|
|
+ vo.setCost(map.get("cost"));//总消耗
|
|
|
|
+ vo.setCashCost(map.get("cashCost"));//现金消耗
|
|
|
|
+ vo.setRewardCost(map.get("rewardCost"));//赠款消耗
|
|
|
|
+ vo.setProductName(map.get("productName"));//产品名称
|
|
|
|
+ //查询 头条利润表 销售人员姓名 以及 返点类型和比列
|
|
|
|
+ Map<String,String> slaeMap = reportSettlementMapper.getProfitBytedanceSale(map.get("productId"));
|
|
|
|
+
|
|
|
|
+ vo.setSaleName(slaeMap.get("saleName"));//销售
|
|
|
|
+
|
|
|
|
+ ////销售政策状态
|
|
|
|
+ if (StringUtils.equals(slaeMap.get("approvedStatus"),"3")){
|
|
|
|
+ vo.setRebateType(slaeMap.get("rebateType"));//返点类型
|
|
|
|
+ vo.setRebateRate(slaeMap.get("rebateRate"));//返点比列
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("这是表头", "这是sheet名称"), SettlementReportBytedanceVo.class, list);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ response.setCharacterEncoding("UTF-8");
|
|
|
|
+ response.setHeader("content-Type", "application/vnd.ms-excel");
|
|
|
|
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("文件名称.xlsx", "UTF-8"));
|
|
|
|
+ workbook.write(response.getOutputStream());
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ log.error("====>>>>", e.getMessage());
|
|
|
|
+ return Result.errorMsg(e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|