Sfoglia il codice sorgente

修改缺陷

shuiqilin-optimize
JianShengFei 9 mesi fa
parent
commit
94a058a92d

+ 14
- 9
src/main/java/com/qtzl/alterSales/manager/service/AflReportExportServiceImpl.java Vedi File

import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.file.Files; import java.nio.file.Files;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@Resource @Resource
private ReportExcelConfig reportExcelConfig; private ReportExcelConfig reportExcelConfig;


private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");


@Override @Override
public String getFilePathAndName(ReportEnum reportEnum) { public String getFilePathAndName(ReportEnum reportEnum) {
// 使用redis生成6位不重复的随机数 // 使用redis生成6位不重复的随机数
ExcelHeadIncomeCostVO sheetData1 = new ExcelHeadIncomeCostVO(); ExcelHeadIncomeCostVO sheetData1 = new ExcelHeadIncomeCostVO();


if (StringUtils.isNotEmpty(timeEnd)) { if (StringUtils.isNotEmpty(timeEnd)) {
LocalDateTime timeEndLocal = LocalDateTime.parse(timeEnd, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime timeEndLocal = LocalDateTime.parse(timeEnd, formatter);
sheetData1.setYear(timeEndLocal.getYear()); sheetData1.setYear(timeEndLocal.getYear());
sheetData1.setMonth(timeEndLocal.getMonth().getValue()); sheetData1.setMonth(timeEndLocal.getMonth().getValue());
} }
sheetData1.setActualUserCount(actualUserCount); sheetData1.setActualUserCount(actualUserCount);


// 实际收款金额 actualSaleAmount = 50 * actualUserNum // 实际收款金额 actualSaleAmount = 50 * actualUserNum
sheetData1.setActualSaleAmount(BigDecimal.valueOf(50L * actualUserCount));
sheetData1.setActualSaleAmount(BigDecimal.valueOf(50L * actualUserCount).setScale(2, RoundingMode.HALF_UP));


// 特约商户号(1638682973)收款金额 // 特约商户号(1638682973)收款金额
int actualSaleAmount2973 = orderNum * 50; int actualSaleAmount2973 = orderNum * 50;
sheetData1.setActualSaleAmount2973(BigDecimal.valueOf(actualSaleAmount2973));
sheetData1.setActualSaleAmount2973(BigDecimal.valueOf(actualSaleAmount2973).setScale(2, RoundingMode.HALF_UP));


// 当月激活订单(户) // 当月激活订单(户)
sheetData1.setActiveOrderCount(orderNum); sheetData1.setActiveOrderCount(orderNum);


// 收入金额 // 收入金额
int incomeAmount = 50 * sheetData1.getActiveOrderCount(); int incomeAmount = 50 * sheetData1.getActiveOrderCount();
sheetData1.setIncomeAmount(BigDecimal.valueOf(incomeAmount));
sheetData1.setIncomeAmount(BigDecimal.valueOf(incomeAmount).setScale(2, RoundingMode.HALF_UP));


// 通道手续费 // 通道手续费
double bydChannelFee = actualUserCount * 20.5 * 0.001; double bydChannelFee = actualUserCount * 20.5 * 0.001;
sheetData1.setBdyChannelFee(BigDecimal.valueOf(bydChannelFee));
sheetData1.setBdyChannelFee(BigDecimal.valueOf(bydChannelFee).setScale(2, RoundingMode.HALF_UP));


double satChannelFee = actualUserCount * 13.7 * 0.001; double satChannelFee = actualUserCount * 13.7 * 0.001;
sheetData1.setSatChannelFee(BigDecimal.valueOf(satChannelFee));
sheetData1.setSatChannelFee(BigDecimal.valueOf(satChannelFee).setScale(2, RoundingMode.HALF_UP));


BigDecimal channelFee = BigDecimal.valueOf(bydChannelFee + satChannelFee); BigDecimal channelFee = BigDecimal.valueOf(bydChannelFee + satChannelFee);
sheetData1.setChannelFee(channelFee); sheetData1.setChannelFee(channelFee);


double bdyCostAmount = actualUserCount * 20.5 - bydChannelFee; double bdyCostAmount = actualUserCount * 20.5 - bydChannelFee;
sheetData1.setBdyCostAmount(BigDecimal.valueOf(bdyCostAmount));
sheetData1.setBdyCostAmount(BigDecimal.valueOf(bdyCostAmount).setScale(2, RoundingMode.HALF_UP));


double satCostAmount = actualUserCount * 13.7 - satChannelFee; double satCostAmount = actualUserCount * 13.7 - satChannelFee;
sheetData1.setSatCostAmount(BigDecimal.valueOf(satCostAmount));
sheetData1.setSatCostAmount(BigDecimal.valueOf(satCostAmount).setScale(2, RoundingMode.HALF_UP));


// 成本金额 // 成本金额
double costAmount = bdyCostAmount + satCostAmount; double costAmount = bdyCostAmount + satCostAmount;
sheetData1.setCostAmount(BigDecimal.valueOf(costAmount));
sheetData1.setCostAmount(BigDecimal.valueOf(costAmount).setScale(2, RoundingMode.HALF_UP));


WriteSheet writeSheet0 = EasyExcelFactory.writerSheet(0).build(); WriteSheet writeSheet0 = EasyExcelFactory.writerSheet(0).build();
excelWriter.fill(sheetData1, writeSheet0); excelWriter.fill(sheetData1, writeSheet0);

Loading…
Annulla
Salva