diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java index 4aea3aa78..845692052 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java @@ -20,6 +20,7 @@ public enum FileTypeEnum { EXPORT_PROGRESS("exportProgress","进度确认"), IMPORT_OA_OLD_SHOP_DATA_ERROR("OaOldShopDataError", "导入OA旧数据错误列表"), IMPORT_OA_OLD_SHOP_DATA("importOaOldShopData", "导入OA旧数据"), + ZXJP_OPEN_SHOP_REPORT("zxjpOpenShopReport","正新鸡排开店"), ; private String fileType; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java index 1ca3b0361..a896f8c2a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java @@ -1,5 +1,9 @@ package com.cool.store.response; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.cool.store.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,47 +19,75 @@ import java.math.BigDecimal; public class FranchiseReportResponse { @ApiModelProperty(value = "加盟集团") + @ExcelProperty(value = "加盟集团",order = 1) + @ColumnWidth(25) private String joinGroupName; @ApiModelProperty(value = "加盟分部/片区") + @ExcelProperty(value = "加盟分部/片区",order = 2) + @ColumnWidth(20) private String regionName; @ApiModelProperty(value = "门店数") + @ExcelProperty(value = "门店数",order = 3) + @ColumnWidth(15) private Integer storeNum = 0; @ApiModelProperty(value = "鸡排普通店") + @ExcelProperty(value = "鸡排普通店",order = 4) + @ColumnWidth(20) private Integer normalStoreNum = 0; @ApiModelProperty(value = "鸡排餐厅店") + @ExcelProperty(value = "鸡排餐厅店",order = 5) + @ColumnWidth(20) private Integer restaurantStoreNum = 0; @ApiModelProperty(value = "鸡排无展示门店") + @ExcelProperty(value = "鸡排无展示门店",order = 6) + @ColumnWidth(25) private Integer noShowStoreNum = 0; @ApiModelProperty(value = "加盟费") + @ExcelProperty(value = "加盟费",order = 7) + @ColumnWidth(20) private BigDecimal franchiseFeeTotal = BigDecimal.ZERO; @ApiModelProperty(value = "品牌费") + @ExcelProperty(value = "品牌费",order = 8) + @ColumnWidth(20) private BigDecimal firstYearBrandingFeeTotal = BigDecimal.ZERO; @ApiModelProperty(value = "管理费") + @ExcelProperty(value = "管理费",order = 9) + @ColumnWidth(20) private BigDecimal firstYearManagementFeeTotal = BigDecimal.ZERO; @ApiModelProperty(value = "设计费") + @ExcelProperty(value = "设计费",order = 10) + @ColumnWidth(20) private BigDecimal performanceBondTotal = BigDecimal.ZERO; @ApiModelProperty(value = "管理/品牌/设计费") + @ExcelProperty(value = "管理/品牌/设计费",order = 11) + @ColumnWidth(25) private BigDecimal managementBrandingDesignFeeTotal = BigDecimal.ZERO; @ApiModelProperty(value = "保证金") + @ExcelProperty(value = "保证金",order = 12) + @ColumnWidth(20) private BigDecimal loanMarginTotal = BigDecimal.ZERO; @ApiModelProperty(value = "昨日日期") + @ExcelProperty(value = "昨日日期",order = 13) + @ColumnWidth(15) private String yesterdayDate; @ApiModelProperty(value = "昨天门店数") + @ExcelProperty(value = "昨天门店数",order = 14) + @ColumnWidth(15) private Integer yesterdayStoreNum = 0; - + @ExcelIgnore private Long regionId; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/handler/CenterAlignHandler.java b/coolstore-partner-service/src/main/java/com/cool/store/handler/CenterAlignHandler.java new file mode 100644 index 000000000..57567c31e --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/handler/CenterAlignHandler.java @@ -0,0 +1,40 @@ +package com.cool.store.handler; + +import com.alibaba.excel.metadata.CellData; +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.write.handler.CellWriteHandler; +import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; +import com.alibaba.excel.write.metadata.holder.WriteTableHolder; +import org.apache.poi.ss.usermodel.*; + +import java.util.List; + +public class CenterAlignHandler implements CellWriteHandler { + @Override + public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { + + } + + @Override + public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, + Head head, Integer relativeRowIndex, Boolean isHead) { + // 行号从0开始,所以第3行及以后的行号>=2 + if (cell.getRowIndex() >= 3) { + Workbook workbook = writeSheetHolder.getSheet().getWorkbook(); + CellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setAlignment(HorizontalAlignment.CENTER); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + cell.setCellStyle(cellStyle); + } + } + + @Override + public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) { + + } + + @Override + public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List list, Cell cell, Head head, Integer integer, Boolean aBoolean) { + + } +} \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/handler/ImplProgressReportSheetWriteHandler.java b/coolstore-partner-service/src/main/java/com/cool/store/handler/ImplProgressReportSheetWriteHandler.java new file mode 100644 index 000000000..b2cc9e637 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/handler/ImplProgressReportSheetWriteHandler.java @@ -0,0 +1,54 @@ +package com.cool.store.handler; + +import com.alibaba.excel.write.metadata.holder.WriteTableHolder; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.util.CellRangeAddress; + +import com.alibaba.excel.write.handler.SheetWriteHandler; +import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; +import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; + +/** + * 第一行 拦截器 + */ +public class ImplProgressReportSheetWriteHandler implements SheetWriteHandler { + + private final String title; + + public ImplProgressReportSheetWriteHandler(String title) { + this.title = title; + } + @Override + public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { + + } + + @Override + public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { + Workbook workbook = writeWorkbookHolder.getWorkbook(); + Sheet sheet = workbook.getSheetAt(0); + // 设置第一行标题 + Row row1 = sheet.createRow(0); + row1.setHeight((short) 300); + Cell row1Cell1 = row1.createCell(0); + row1Cell1.setCellValue(title); + CellStyle row1CellStyle = workbook.createCellStyle(); + row1CellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + row1CellStyle.setAlignment(HorizontalAlignment.LEFT); + Font row1Font = workbook.createFont(); + row1Font.setBold(true); + row1Font.setFontName("方正小标宋_GBK"); + row1Font.setFontHeightInPoints((short) 10); + row1CellStyle.setFont(row1Font); + row1Cell1.setCellStyle(row1CellStyle); + //合并单元格,起始行,结束行,起始列,结束列 + sheet.addMergedRegionUnsafe(new CellRangeAddress(0, 1, 0, 17)); + } +} \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java index 269139b5e..bb839e02c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java @@ -4,7 +4,9 @@ import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.entity.ImportTaskDO; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.PointInfoDO; +import com.cool.store.request.FranchiseReportRequest; import com.cool.store.response.BranchShopResponse; +import com.cool.store.response.FranchiseReportResponse; import java.util.List; @@ -24,4 +26,6 @@ public interface ExportRealizeService { void exportJoinShop(List list,ImportTaskDO importTaskDO); void exportProgress(List list,ImportTaskDO importTaskDO); + + void exportZxjpOpenShopReport(List list, ImportTaskDO importTaskDO, FranchiseReportRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java index 889ba1be6..edb60899f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java @@ -18,5 +18,8 @@ public interface ExportService { //财务导出 //加盟开店申请 //进度确认 Long exportProgressBase(BranchShopRequest request, LoginUserInfo user, FileTypeEnum fileTypeEnum); + //正新加盟报表导出 + Long exportZxjpOpenShopReport(FranchiseReportRequest request, LoginUserInfo user); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseReportService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseReportService.java index 454eae385..df6303c17 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseReportService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseReportService.java @@ -14,5 +14,5 @@ import java.util.List; */ public interface FranchiseReportService { - List getFranchiseReport(FranchiseReportRequest request); + List zxjpOpenShopReport(FranchiseReportRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java index 9cb67737e..8c7326fea 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java @@ -14,8 +14,10 @@ import com.cool.store.enums.*; import com.cool.store.enums.point.*; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; +import com.cool.store.request.FranchiseReportRequest; import com.cool.store.request.InitiatingRequest; import com.cool.store.response.BranchShopResponse; +import com.cool.store.response.FranchiseReportResponse; import com.cool.store.service.*; import com.cool.store.utils.JSONUtils; import com.cool.store.utils.RedisUtilPool; @@ -413,7 +415,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { Map franchiseFeeDTOMap = franchiseFees.stream().filter(o -> o.getShopId() != null) .collect(Collectors.toMap(FranchiseFeeDTO::getShopId, Function.identity())); Set lineIds = list.stream().map(BranchShopResponse::getLineId).collect(Collectors.toSet()); - List lineInfoDOS = lineInfoDAO.getByLineIds( new ArrayList<>(lineIds)); + List lineInfoDOS = lineInfoDAO.getByLineIds(new ArrayList<>(lineIds)); Map lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, Function.identity())); List qualificationsInfoDOList = qualificationsInfoDAO.getByLineIds(new ArrayList<>(lineIds)); Map qualificationsInfoDOMap = qualificationsInfoDOList.stream().collect(Collectors.toMap(QualificationsInfoDO::getLineId, Function.identity())); @@ -627,6 +629,24 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { } } + @Override + public void exportZxjpOpenShopReport(List list, ImportTaskDO importTaskDO, FranchiseReportRequest request) { + String url = ""; + try { + url = easyExcelUtil.exportExcelSpecial(FranchiseReportResponse.class, list, null, + FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), + FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), + "建店资料完成日期:",request.getBuildStartTime(),request.getBuildEndTime()); + } catch (Throwable e) { + log.error("fileUpload upload err, originFileName={}", FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc(), e); + throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR); + } finally { + importTaskDO.setStatus(ImportStatusEnum.success.getCode()); + importTaskDO.setFileUrl(url); + importTaskMapper.update(eid, importTaskDO); + } + } + private String toString(Object o) { if (o == null) { return ""; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java index e954c5d24..3fedd6995 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java @@ -19,6 +19,7 @@ import com.cool.store.mapper.ImportTaskMapper; import com.cool.store.mapper.PointInfoMapper; import com.cool.store.request.*; import com.cool.store.response.BranchShopResponse; +import com.cool.store.response.FranchiseReportResponse; import com.cool.store.service.*; import com.cool.store.utils.easyExcel.EasyExcelUtil; import com.cool.store.utils.poi.DateUtils; @@ -71,6 +72,9 @@ public class ExportServiceImpl implements ExportService { private ShopInfoDAO shopInfoDAO; @Autowired private ShopService shopService; + @Resource + private FranchiseReportService franchiseReportService; + @Override @@ -109,7 +113,7 @@ public class ExportServiceImpl implements ExportService { if (total == CommonConstants.ZERO) { return CommonConstants.ZERO_LONG; } else if (total > CommonConstants.FIVE_SECONDS) { - throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_5000); + throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_5000); } ImportTaskDO importTaskDO = new ImportTaskDO(); importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode()); @@ -137,5 +141,25 @@ public class ExportServiceImpl implements ExportService { return total; } + @Override + public Long exportZxjpOpenShopReport(FranchiseReportRequest request, LoginUserInfo user) { + List franchiseReport = franchiseReportService.zxjpOpenShopReport(request); + if (CollectionUtils.isEmpty(franchiseReport)){ + log.error("导出数据为空"); + return 0L; + } + ImportTaskDO importTaskDO = new ImportTaskDO(); + importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode()); + importTaskDO.setFileName(FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date())); + importTaskDO.setIsImport(Boolean.FALSE); + importTaskDO.setFileType(FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getFileType()); + importTaskDO.setCreateUserId(user.getUserId()); + importTaskDO.setCreateTime(new Date().getTime()); + importTaskDO.setCreateName(user.getName()); + importTaskMapper.insert(eid, importTaskDO); + exportRealizeService.exportZxjpOpenShopReport(franchiseReport, importTaskDO,request); + return (long) franchiseReport.size(); + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java index c35e3221e..273192f3f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java @@ -46,13 +46,16 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { private FranchiseFeeMapper franchiseFeeMapper; @Override - public List getFranchiseReport(FranchiseReportRequest request) { + public List zxjpOpenShopReport(FranchiseReportRequest request) { if (StringUtils.isBlank(request.getBuildStartTime()) || StringUtils.isBlank(request.getBuildEndTime())) { throw new ServiceException(ErrorCodeEnum.TIME_NULL_FALSE); } //集团查大区 List regionIdByGroupName = bigRegionDAO.getRegionIdByGroupName(request.getJoinGroupName()); if (CollectionUtils.isNotEmpty(regionIdByGroupName)) { + if (CollectionUtils.isEmpty(request.getRegionIds())){ + request.setRegionIds(new ArrayList<>()); + } request.getRegionIds().addAll(regionIdByGroupName); } List shopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(request); @@ -75,7 +78,11 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { response = new FranchiseReportResponse(); response.setRegionId(shopFranchiseReportDTO.getRegionId()); response.setRegionName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getRegionName()); - response.setJoinGroupName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getGroupName()); + String groupName = bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getGroupName(); + if (StringUtils.isBlank(groupName)){ + continue; + } + response.setJoinGroupName(groupName); } if (StoreTypeEnum.NO_SHOW_STORE.getCode().equals(shopFranchiseReportDTO.getStoreType())) { response.setNoShowStoreNum(response.getNoShowStoreNum() + 1); @@ -93,7 +100,6 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { response.setFirstYearBrandingFeeTotal(response.getFirstYearBrandingFeeTotal().add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))); response.setPerformanceBondTotal(response.getPerformanceBondTotal().add(new BigDecimal(franchiseFeeDO.getPerformanceBond()))); response.setManagementBrandingDesignFeeTotal(response.getManagementBrandingDesignFeeTotal() - .add(new BigDecimal(franchiseFeeDO.getYearFranchiseFee())) .add(new BigDecimal(franchiseFeeDO.getFirstYearManageFee())) .add(new BigDecimal(franchiseFeeDO.getFirstYearFee())) .add(new BigDecimal(franchiseFeeDO.getPerformanceBond()))); @@ -129,6 +135,11 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { } } - return new ArrayList<>(responseByRegionIdMap.values()); + List list = new ArrayList<>(responseByRegionIdMap.values()); + if (CollectionUtils.isEmpty(list)){ + log.info("数据为空"); + return Collections.emptyList(); + } + return list.stream().sorted(Comparator.comparing(FranchiseReportResponse::getJoinGroupName)).collect(Collectors.toList()); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/easyExcel/EasyExcelUtil.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/easyExcel/EasyExcelUtil.java index 15e716027..6b89e2740 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/easyExcel/EasyExcelUtil.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/easyExcel/EasyExcelUtil.java @@ -3,6 +3,9 @@ package com.cool.store.utils.easyExcel; import cn.hutool.core.date.DateUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy; + +import com.cool.store.handler.CenterAlignHandler; +import com.cool.store.handler.ImplProgressReportSheetWriteHandler; import com.cool.store.mapper.ImportTaskMapper; import com.cool.store.oss.OssClientService; import com.cool.store.utils.UUIDUtils; @@ -42,24 +45,51 @@ public class EasyExcelUtil { * @throws IOException 异常捕获 */ public String exportExcel( Class head, List list, Set set, String sheetName, String fileName) throws Exception { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - if (set == null) { - EasyExcel.write(outputStream, head) - .autoCloseStream(true) - .registerWriteHandler(new SimpleRowHeightStyleStrategy((short)25,(short)25)) - .sheet(sheetName) - .doWrite(list); - } else { - EasyExcel.write(outputStream, head).autoCloseStream(true).includeColumnFiledNames(set).sheet(sheetName) - .doWrite(list); - } - byte[] bytes = outputStream.toByteArray(); - long size = bytes.length; - InputStream is = new ByteArrayInputStream(bytes); - if (StringUtils.isNotBlank(fileName) && fileName.contains(".")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")); - } - String file = getUploadPath(eid) + fileName + "_" + UUIDUtils.get32UUID() + EXCEL_SUFFIX; + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + if (set == null) { + EasyExcel.write(outputStream, head) + .autoCloseStream(true) + .registerWriteHandler(new SimpleRowHeightStyleStrategy((short)25,(short)25)) + .sheet(sheetName) + .doWrite(list); + } else { + EasyExcel.write(outputStream, head).autoCloseStream(true).includeColumnFiledNames(set).sheet(sheetName) + .doWrite(list); + } + byte[] bytes = outputStream.toByteArray(); + long size = bytes.length; + InputStream is = new ByteArrayInputStream(bytes); + if (StringUtils.isNotBlank(fileName) && fileName.contains(".")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")); + } + String file = getUploadPath(eid) + fileName + "_" + UUIDUtils.get32UUID() + EXCEL_SUFFIX; + return ossClientService.putObject(file, is, size, CONTENT_TYPE); + + } + + //表头从第二行开始,第一行显示日期 + public String exportExcelSpecial( Class head, List list, Set set, String sheetName, String fileName,String firstTitle,String startTime,String endTime) throws Exception { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + if (set == null) { + EasyExcel.write(outputStream) + .head(head) + .autoCloseStream(true) + .registerWriteHandler( new ImplProgressReportSheetWriteHandler(firstTitle+" "+startTime+" 至 "+endTime)) + .registerWriteHandler(new CenterAlignHandler()) + .sheet(sheetName) + .useDefaultStyle(false).relativeHeadRowIndex(2) + .doWrite(list); + } else { + EasyExcel.write(outputStream, head).autoCloseStream(true).includeColumnFiledNames(set).sheet(sheetName) + .doWrite(list); + } + byte[] bytes = outputStream.toByteArray(); + long size = bytes.length; + InputStream is = new ByteArrayInputStream(bytes); + if (StringUtils.isNotBlank(fileName) && fileName.contains(".")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")); + } + String file = getUploadPath(eid) + fileName + "_" + UUIDUtils.get32UUID() + EXCEL_SUFFIX; return ossClientService.putObject(file, is, size, CONTENT_TYPE); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java index 348046261..a2cfd6982 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java @@ -56,4 +56,10 @@ public class ExportController { public ResponseResult exportProgress(@RequestBody BranchShopRequest request) { return ResponseResult.success(exportService.exportProgressBase(request, CurrentUserHolder.getUser(), FileTypeEnum.EXPORT_PROGRESS)); } + + @PostMapping("/zxjpOpenShopReport") + @ApiOperation("正新鸡排开店") + public ResponseResult zxjpOpenShopReport(@RequestBody FranchiseReportRequest request) { + return ResponseResult.success(exportService.exportZxjpOpenShopReport(request, CurrentUserHolder.getUser())); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseReportController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseReportController.java index 13342ae2a..6a1f828d5 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseReportController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseReportController.java @@ -26,9 +26,9 @@ public class PCFranchiseReportController { @Resource private FranchiseReportService franchiseReportService; - @RequestMapping("/getList") + @RequestMapping("/getZxjpOpenShopReport") @ApiOperation("正新鸡排开店") public ResponseResult> getList(@RequestBody FranchiseReportRequest request) { - return ResponseResult.success( franchiseReportService.getFranchiseReport(request)); + return ResponseResult.success( franchiseReportService.zxjpOpenShopReport(request)); } }