diff --git a/inspur-service/inspur-order/src/main/java/com/inspur/order/service/impl/OmOrderAnalysisServiceImpl.java b/inspur-service/inspur-order/src/main/java/com/inspur/order/service/impl/OmOrderAnalysisServiceImpl.java index 739d0b6..a89167d 100644 --- a/inspur-service/inspur-order/src/main/java/com/inspur/order/service/impl/OmOrderAnalysisServiceImpl.java +++ b/inspur-service/inspur-order/src/main/java/com/inspur/order/service/impl/OmOrderAnalysisServiceImpl.java @@ -1,12 +1,14 @@ package com.inspur.order.service.impl; import com.inspur.common.utils.SecurityUtils; +import com.inspur.om.service.IOmTeamInfoService; import com.inspur.order.mapper.OmOrderAnalysisMapper; import com.inspur.order.service.IOmOrderAnalysisService; import com.inspur.order.utils.OmConstant; import org.apache.commons.math3.optim.InitialGuess; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.util.Units; +import org.apache.poi.xwpf.usermodel.ParagraphAlignment; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; @@ -32,6 +34,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.IntStream; /** * 订单收藏Service业务层处理 @@ -44,7 +48,8 @@ public class OmOrderAnalysisServiceImpl implements IOmOrderAnalysisService { @Autowired private OmOrderAnalysisMapper omOrderAnalysisMapper; - + @Autowired + private IOmTeamInfoService omTeamInfoService; /** * 查询分析数据 * @@ -66,14 +71,15 @@ public class OmOrderAnalysisServiceImpl implements IOmOrderAnalysisService { private Map getDateData() { Map typeOrderMap = new HashMap<>(); - List> list = omOrderAnalysisMapper.selectCountAndAmountByDate(SecurityUtils.getTenantId()); - // 获取最近三年 - // 今年 - int thisYear = LocalDate.now().getYear(); - // 去年 - int lastYear = LocalDate.now().minusYears(1).getYear(); - // 前年 - int theYearBeafor = LocalDate.now().minusYears(2).getYear(); + // 获取当前租户ID和当前日期 + String tenantId = SecurityUtils.getTenantId(); + LocalDate now = LocalDate.now(); + int thisYear = now.getYear(); + int lastYear = now.minusYears(1).getYear(); + int theYearBefore = now.minusYears(2).getYear(); + // 查询数据库 + List> list = omOrderAnalysisMapper.selectCountAndAmountByDate(tenantId); + // 初始化数据 List numList1 = new ArrayList<>(); List numList2 = new ArrayList<>(); @@ -101,7 +107,7 @@ public class OmOrderAnalysisServiceImpl implements IOmOrderAnalysisService { numList2.set(Integer.parseInt(String.valueOf(map.get("date_month"))) - 1, map.get("num")); amountList2.set(Integer.parseInt(String.valueOf(map.get("date_month"))) - 1, map.get("amount")); } - if (year == theYearBeafor) { + if (year == theYearBefore) { numList3.set(Integer.parseInt(String.valueOf(map.get("date_month"))) - 1, map.get("num")); amountList3.set(Integer.parseInt(String.valueOf(map.get("date_month"))) - 1, map.get("amount")); } @@ -110,13 +116,13 @@ public class OmOrderAnalysisServiceImpl implements IOmOrderAnalysisService { Map amountMap = new HashMap<>(); numMap.put(thisYear + "", numList1); numMap.put(lastYear + "", numList2); - numMap.put(theYearBeafor + "", numList3); + numMap.put(theYearBefore + "", numList3); amountMap.put(thisYear + "", amountList1); amountMap.put(lastYear + "", amountList2); - amountMap.put(theYearBeafor + "", amountList3); + amountMap.put(theYearBefore + "", amountList3); typeOrderMap.put("numMap", numMap); typeOrderMap.put("amountMap", amountMap); - typeOrderMap.put("year", new int[]{theYearBeafor, lastYear, thisYear}); + typeOrderMap.put("year", new int[]{theYearBefore, lastYear, thisYear}); typeOrderMap.put("month", OmConstant.MONTH_ARRAY); return typeOrderMap; } @@ -142,6 +148,16 @@ public class OmOrderAnalysisServiceImpl implements IOmOrderAnalysisService { XWPFDocument doc = new XWPFDocument(); XWPFParagraph p = doc.createParagraph(); XWPFRun r = p.createRun(); + // 设置文字为粗体 + r.setFontSize(24); // 设置字号 + r.setColor("000000"); // 设置字体颜色,此处为黑色 + r.setBold(true); // 设置为粗体 + // 获取团队名称 + String teamName = omTeamInfoService.selectOmTeamInfoByTenantId(SecurityUtils.getTenantId()).getTeamName(); + // 设置文本内容 + r.setText(teamName+"分析报告"); + // 设置段落居中 + p.setAlignment(ParagraphAlignment.CENTER); // 将BufferedImage转换为字节数组 try { ByteArrayOutputStream dateNumChartBaos = new ByteArrayOutputStream(); @@ -149,15 +165,15 @@ public class OmOrderAnalysisServiceImpl implements IOmOrderAnalysisService { byte[] dateNumChartBytes = dateNumChartBaos.toByteArray(); ByteArrayOutputStream dateAmountChartBaos = new ByteArrayOutputStream(); - ImageIO.write(dateNumChartImage, "png", dateAmountChartBaos); + ImageIO.write(dateAmountChartImage, "png", dateAmountChartBaos); byte[] dateAmountChartBytes = dateAmountChartBaos.toByteArray(); ByteArrayOutputStream typeNumChartBaos = new ByteArrayOutputStream(); - ImageIO.write(dateNumChartImage, "png", typeNumChartBaos); + ImageIO.write(typeNumChartImage, "png", typeNumChartBaos); byte[] typeNumChartBytes = typeNumChartBaos.toByteArray(); ByteArrayOutputStream typeAmountChartBaos = new ByteArrayOutputStream(); - ImageIO.write(dateNumChartImage, "png", typeAmountChartBaos); + ImageIO.write(typeAmountChartImage, "png", typeAmountChartBaos); byte[] typeAmountChartBytes = typeAmountChartBaos.toByteArray(); r.addPicture(new ByteArrayInputStream(dateNumChartBytes), XWPFDocument.PICTURE_TYPE_PNG, "dateNumChart", Units.toEMU(500), Units.toEMU(500)); // 设置图片大小和位置