报表列表接口
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
@@ -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<CellData> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
@@ -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<BranchShopResponse> list,ImportTaskDO importTaskDO);
|
||||
|
||||
void exportProgress(List<BranchShopResponse> list,ImportTaskDO importTaskDO);
|
||||
|
||||
void exportZxjpOpenShopReport(List<FranchiseReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request);
|
||||
}
|
||||
|
||||
@@ -18,5 +18,8 @@ public interface ExportService {
|
||||
//财务导出 //加盟开店申请 //进度确认
|
||||
Long exportProgressBase(BranchShopRequest request, LoginUserInfo user, FileTypeEnum fileTypeEnum);
|
||||
|
||||
//正新加盟报表导出
|
||||
Long exportZxjpOpenShopReport(FranchiseReportRequest request, LoginUserInfo user);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -14,5 +14,5 @@ import java.util.List;
|
||||
*/
|
||||
public interface FranchiseReportService {
|
||||
|
||||
List<FranchiseReportResponse> getFranchiseReport(FranchiseReportRequest request);
|
||||
List<FranchiseReportResponse> zxjpOpenShopReport(FranchiseReportRequest request);
|
||||
}
|
||||
|
||||
@@ -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<Long, FranchiseFeeDTO> franchiseFeeDTOMap = franchiseFees.stream().filter(o -> o.getShopId() != null)
|
||||
.collect(Collectors.toMap(FranchiseFeeDTO::getShopId, Function.identity()));
|
||||
Set<Long> lineIds = list.stream().map(BranchShopResponse::getLineId).collect(Collectors.toSet());
|
||||
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds( new ArrayList<>(lineIds));
|
||||
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(new ArrayList<>(lineIds));
|
||||
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, Function.identity()));
|
||||
List<QualificationsInfoDO> qualificationsInfoDOList = qualificationsInfoDAO.getByLineIds(new ArrayList<>(lineIds));
|
||||
Map<Long, QualificationsInfoDO> qualificationsInfoDOMap = qualificationsInfoDOList.stream().collect(Collectors.toMap(QualificationsInfoDO::getLineId, Function.identity()));
|
||||
@@ -627,6 +629,24 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportZxjpOpenShopReport(List<FranchiseReportResponse> 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 "";
|
||||
|
||||
@@ -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<FranchiseReportResponse> 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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -46,13 +46,16 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
||||
private FranchiseFeeMapper franchiseFeeMapper;
|
||||
|
||||
@Override
|
||||
public List<FranchiseReportResponse> getFranchiseReport(FranchiseReportRequest request) {
|
||||
public List<FranchiseReportResponse> zxjpOpenShopReport(FranchiseReportRequest request) {
|
||||
if (StringUtils.isBlank(request.getBuildStartTime()) || StringUtils.isBlank(request.getBuildEndTime())) {
|
||||
throw new ServiceException(ErrorCodeEnum.TIME_NULL_FALSE);
|
||||
}
|
||||
//集团查大区
|
||||
List<Long> regionIdByGroupName = bigRegionDAO.getRegionIdByGroupName(request.getJoinGroupName());
|
||||
if (CollectionUtils.isNotEmpty(regionIdByGroupName)) {
|
||||
if (CollectionUtils.isEmpty(request.getRegionIds())){
|
||||
request.setRegionIds(new ArrayList<>());
|
||||
}
|
||||
request.getRegionIds().addAll(regionIdByGroupName);
|
||||
}
|
||||
List<FranchiseReportDTO> 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<FranchiseReportResponse> 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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<String> 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<String> 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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,9 @@ public class PCFranchiseReportController {
|
||||
@Resource
|
||||
private FranchiseReportService franchiseReportService;
|
||||
|
||||
@RequestMapping("/getList")
|
||||
@RequestMapping("/getZxjpOpenShopReport")
|
||||
@ApiOperation("正新鸡排开店")
|
||||
public ResponseResult<List<FranchiseReportResponse>> getList(@RequestBody FranchiseReportRequest request) {
|
||||
return ResponseResult.success( franchiseReportService.getFranchiseReport(request));
|
||||
return ResponseResult.success( franchiseReportService.zxjpOpenShopReport(request));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user