|
|
@ -29,18 +29,23 @@ import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateExcelVo; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateQuery; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.*; |
|
|
|
import com.yxt.common.base.utils.ExportExcelUtils; |
|
|
|
import com.yxt.common.base.utils.StringUtils; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
|
import io.swagger.annotations.Api; |
|
|
|
import io.swagger.annotations.ApiOperation; |
|
|
|
import org.apache.commons.compress.utils.IOUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.poi.ss.usermodel.*; |
|
|
|
import org.apache.poi.ss.util.CellRangeAddress; |
|
|
|
import org.apache.poi.xssf.usermodel.*; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.io.FileOutputStream; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.UnsupportedEncodingException; |
|
|
|
import java.net.URLEncoder; |
|
|
@ -90,16 +95,184 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { |
|
|
|
@PostMapping("/excelList") |
|
|
|
public void excelList(@RequestBody ScmVehRebateQuery query) { |
|
|
|
//得到所有要导出的数据
|
|
|
|
List<ScmVehRebateExcelVo> exportVoList = scmVehRebateService.excelList(query); |
|
|
|
//定义导出的excel名字
|
|
|
|
String excelName = "单车返利管理"; |
|
|
|
String fileNameURL = ""; |
|
|
|
List<ScmVehRebateExcelVo> dataList = scmVehRebateService.excelList(query); |
|
|
|
// 创建一个新的Excel文档
|
|
|
|
XSSFWorkbook wb = new XSSFWorkbook(); |
|
|
|
// 创建一个名为Sheet1的工作表
|
|
|
|
XSSFSheet sheet = wb.createSheet("单车返利管理"); |
|
|
|
//样式
|
|
|
|
XSSFCellStyle titleStyle = createTitleCellStyle(wb); |
|
|
|
XSSFCellStyle headerStyle = createHeadCellStyle(wb); |
|
|
|
XSSFCellStyle contentStyle = createContentCellStyle(wb); |
|
|
|
// 行号
|
|
|
|
int rowNum = 0; |
|
|
|
// 创建第一页的第一行,索引从0开始
|
|
|
|
XSSFRow row0 = sheet.createRow(rowNum++); |
|
|
|
// 设置行高
|
|
|
|
row0.setHeight((short) 600); |
|
|
|
String[] row_Text = {"序号", "采购系统", "车架号", "车型", "所属年月", "返利类型", "返利名称", "返利金额", "", "", "", "", "", "其中费用", "", "日期", "", "", "", "状态", "", "", "车辆入库价", "其中", "", "返利计算", "", "备注", "品牌", "分公司"}; |
|
|
|
for (int i = 0; i < row_Text.length; i++) { |
|
|
|
XSSFCell c00 = row0.createCell(i); |
|
|
|
c00.setCellValue(row_Text[i]); |
|
|
|
c00.setCellStyle(headerStyle); |
|
|
|
} |
|
|
|
// 合并单元格,参数依次为起始列,结束列,起始行,结束行 (索引0开始)
|
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, 2)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 3, 3)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 4, 4)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 5, 5)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 6, 6)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 7, 12)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 13, 14)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 15, 18)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 19, 21)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 22, 22)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 23, 24)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 25, 26)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 27, 27)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 28, 28)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 29, 29)); |
|
|
|
//第二行
|
|
|
|
XSSFRow row2 = sheet.createRow(rowNum++); |
|
|
|
row2.setHeight((short) 700); |
|
|
|
String[] row_third = {"", "", "", "", "", "", "", "预提", "上传", "二次上传", "待确定", "调整", "未上传", "预提", "上传", "创建", "预提", "上传", "二次上传", "流程", "一次核对", "二次核对", "", "运费", "上装", "方式", "标准", "", "", ""}; |
|
|
|
for (int i = 0; i < row_third.length; i++) { |
|
|
|
XSSFCell tempCell = row2.createCell(i); |
|
|
|
tempCell.setCellValue(row_third[i]); |
|
|
|
tempCell.setCellStyle(headerStyle); |
|
|
|
} |
|
|
|
for (ScmVehRebateExcelVo value : dataList) { |
|
|
|
XSSFRow tempRow = sheet.createRow(rowNum++); |
|
|
|
tempRow.setHeight((short) 500); |
|
|
|
// 循环单元格填入数据
|
|
|
|
for (int j = 0; j < 30; j++) { |
|
|
|
//列宽自适应,j为自适应的列,true就是自适应,false就是不自适应,默认不自适应
|
|
|
|
sheet.autoSizeColumn(j, true); |
|
|
|
XSSFCell tempCell = tempRow.createCell(j); |
|
|
|
tempCell.setCellStyle(contentStyle); |
|
|
|
String tempValue = ""; |
|
|
|
switch (j) { |
|
|
|
case 0: |
|
|
|
tempValue = value.getRankNo().toString(); |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
tempValue = value.getPurchaseSystemName(); |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
tempValue = value.getVinNo(); |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
tempValue = value.getVehModelName(); |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
tempValue = value.getPalceGenDate(); |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
tempValue = value.getRebateTypeValue(); |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
tempValue = value.getRebateName(); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
tempValue = value.getEstimateRebate(); |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
tempValue = value.getUploadMoney(); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
tempValue = value.getSecondaryUploadMoney(); |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
tempValue = value.getStayDetermineMoney(); |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
tempValue = value.getAdjustmentMoney(); |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
tempValue = value.getNotUploadMoney(); |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
tempValue = value.getWithholdCost(); |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
tempValue = value.getMoney(); |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
tempValue = value.getCreateTime(); |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
tempValue = value.getWithholdingDate(); |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
tempValue = value.getUploadDate(); |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
tempValue = value.getSecondaryUploadDate(); |
|
|
|
break; |
|
|
|
case 19: |
|
|
|
tempValue = value.getState(); |
|
|
|
break; |
|
|
|
case 20: |
|
|
|
tempValue = value.getOnceCheckState(); |
|
|
|
break; |
|
|
|
case 21: |
|
|
|
tempValue = value.getSecondCheckState(); |
|
|
|
break; |
|
|
|
case 22: |
|
|
|
tempValue = value.getManufactorSettlementPrice(); |
|
|
|
break; |
|
|
|
case 23: |
|
|
|
tempValue = value.getFreight(); |
|
|
|
break; |
|
|
|
case 24: |
|
|
|
tempValue = value.getTopAmount(); |
|
|
|
break; |
|
|
|
case 25: |
|
|
|
tempValue = value.getCalculationModeValue(); |
|
|
|
break; |
|
|
|
case 26: |
|
|
|
tempValue = value.getCalculationStandard(); |
|
|
|
break; |
|
|
|
case 27: |
|
|
|
tempValue = value.getRemarks(); |
|
|
|
break; |
|
|
|
case 28: |
|
|
|
tempValue = value.getBrandName(); |
|
|
|
break; |
|
|
|
case 29: |
|
|
|
tempValue = value.getCreateOrgName(); |
|
|
|
break; |
|
|
|
} |
|
|
|
tempCell.setCellValue(tempValue); |
|
|
|
} |
|
|
|
} |
|
|
|
//导出到浏览器下载
|
|
|
|
buildExcelDocument("单车返利管理", wb, response); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description: [导出到浏览器] |
|
|
|
* @Param: [fileName, wb, response] |
|
|
|
* @return: void |
|
|
|
* @Author: yangyongzhuo |
|
|
|
* @Date: 2021/7/25 9:40 |
|
|
|
*/ |
|
|
|
private static void buildExcelDocument(String fileName, Workbook wb, HttpServletResponse response) { |
|
|
|
try { |
|
|
|
fileNameURL = URLEncoder.encode(excelName, "UTF-8"); |
|
|
|
} catch (UnsupportedEncodingException e) { |
|
|
|
response.setContentType("application/octet-stream"); |
|
|
|
// 可自行定义编码格式
|
|
|
|
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); |
|
|
|
//清除jsp编译html文件的空白,防止excel出现空行
|
|
|
|
response.flushBuffer(); |
|
|
|
//写出
|
|
|
|
wb.write(response.getOutputStream()); |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} finally { |
|
|
|
IOUtils.closeQuietly(wb); |
|
|
|
} |
|
|
|
ExportExcelUtils.export(fileNameURL, exportVoList, ScmVehRebateExcelVo.class, response); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -126,16 +299,147 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { |
|
|
|
@Override |
|
|
|
public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) { |
|
|
|
//得到所有要导出的数据
|
|
|
|
List<OneExcelVo> exportVoList = scmVehRebateService.excelListOne(scmVehRebateQuery); |
|
|
|
//定义导出的excel名字
|
|
|
|
String excelName = "一次导出"; |
|
|
|
String fileNameURL = ""; |
|
|
|
try { |
|
|
|
fileNameURL = URLEncoder.encode(excelName, "UTF-8"); |
|
|
|
} catch (UnsupportedEncodingException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
List<OneExcelVo> dataList = scmVehRebateService.excelListOne(scmVehRebateQuery); |
|
|
|
// 创建一个新的Excel文档
|
|
|
|
XSSFWorkbook wb = new XSSFWorkbook(); |
|
|
|
// 创建一个名为Sheet1的工作表
|
|
|
|
XSSFSheet sheet = wb.createSheet("一次导出"); |
|
|
|
//样式
|
|
|
|
XSSFCellStyle titleStyle = createTitleCellStyle(wb); |
|
|
|
XSSFCellStyle headerStyle = createHeadCellStyle(wb); |
|
|
|
XSSFCellStyle contentStyle = createContentCellStyle(wb); |
|
|
|
// 行号
|
|
|
|
int rowNum = 0; |
|
|
|
// 创建第一页的第一行,索引从0开始
|
|
|
|
XSSFRow row0 = sheet.createRow(rowNum++); |
|
|
|
// 设置行高
|
|
|
|
row0.setHeight((short) 600); |
|
|
|
String[] row_Text = {"序号", "采购系统", "车架号", "车型", "所属年月", "返利类型", "返利名称", "返利金额", "", "", "", "", "", "其中费用", "", "日期", "", "", "", "状态", "", "", "是否调整", "调整说明", "品牌", "分公司"}; |
|
|
|
for (int i = 0; i < row_Text.length; i++) { |
|
|
|
XSSFCell c00 = row0.createCell(i); |
|
|
|
c00.setCellValue(row_Text[i]); |
|
|
|
c00.setCellStyle(headerStyle); |
|
|
|
} |
|
|
|
// 合并单元格,参数依次为起始列,结束列,起始行,结束行 (索引0开始)
|
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, 2)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 3, 3)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 4, 4)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 5, 5)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 6, 6)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 7, 12)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 13, 14)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 15, 18)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 19, 21)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 22, 22)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 23, 23)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 24, 24)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 25, 25)); |
|
|
|
//第二行
|
|
|
|
XSSFRow row2 = sheet.createRow(rowNum++); |
|
|
|
row2.setHeight((short) 700); |
|
|
|
String[] row_third = {"", "", "", "", "", "", "", "预提", "上传", "二次上传", "待确定", "调整", "未上传", "预提", "上传", "创建", "预提", "上传", "二次上传", "上传", "一次核对", "二次核对", "", "", "", ""}; |
|
|
|
for (int i = 0; i < row_third.length; i++) { |
|
|
|
XSSFCell tempCell = row2.createCell(i); |
|
|
|
tempCell.setCellValue(row_third[i]); |
|
|
|
tempCell.setCellStyle(headerStyle); |
|
|
|
} |
|
|
|
for (OneExcelVo value : dataList) { |
|
|
|
XSSFRow tempRow = sheet.createRow(rowNum++); |
|
|
|
tempRow.setHeight((short) 500); |
|
|
|
// 循环单元格填入数据
|
|
|
|
for (int j = 0; j < 26; j++) { |
|
|
|
//列宽自适应,j为自适应的列,true就是自适应,false就是不自适应,默认不自适应
|
|
|
|
sheet.autoSizeColumn(j, true); |
|
|
|
XSSFCell tempCell = tempRow.createCell(j); |
|
|
|
tempCell.setCellStyle(contentStyle); |
|
|
|
String tempValue = ""; |
|
|
|
switch (j) { |
|
|
|
case 0: |
|
|
|
tempValue = value.getRankNo().toString(); |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
tempValue = value.getPurchaseSystemName(); |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
tempValue = value.getVinNo(); |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
tempValue = value.getVehModelName(); |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
tempValue = value.getPalceGenDate(); |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
tempValue = value.getRebateTypeValue(); |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
tempValue = value.getRebateName(); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
tempValue = value.getEstimateRebate(); |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
tempValue = value.getUploadMoney(); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
tempValue = value.getSecondaryUploadMoney(); |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
tempValue = value.getStayDetermineMoney(); |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
tempValue = value.getAdjustmentMoney(); |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
tempValue = value.getNotUploadMoney(); |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
tempValue = value.getWithholdCost(); |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
tempValue = value.getMoney(); |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
tempValue = value.getCreateTime(); |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
tempValue = value.getWithholdingDate(); |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
tempValue = value.getUploadDate(); |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
tempValue = value.getSecondaryUploadDate(); |
|
|
|
break; |
|
|
|
case 19: |
|
|
|
tempValue = value.getUploadState(); |
|
|
|
break; |
|
|
|
case 20: |
|
|
|
tempValue = value.getOnceCheckState(); |
|
|
|
break; |
|
|
|
case 21: |
|
|
|
tempValue = value.getSecondCheckState(); |
|
|
|
break; |
|
|
|
case 22: |
|
|
|
tempValue = value.getIsAdjustment(); |
|
|
|
break; |
|
|
|
case 23: |
|
|
|
tempValue = value.getAdjustmentRemarks(); |
|
|
|
break; |
|
|
|
case 24: |
|
|
|
tempValue = value.getBrandName(); |
|
|
|
break; |
|
|
|
case 25: |
|
|
|
tempValue = value.getCreateOrgName(); |
|
|
|
break; |
|
|
|
} |
|
|
|
tempCell.setCellValue(tempValue); |
|
|
|
} |
|
|
|
} |
|
|
|
ExportExcelUtils.export(fileNameURL, exportVoList, OneExcelVo.class, response); |
|
|
|
//导出到浏览器下载
|
|
|
|
buildExcelDocument("一次导出", wb, response); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -147,16 +451,147 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { |
|
|
|
@Override |
|
|
|
public void excelListTwo(ScmVehRebateQuery scmVehRebateQuery) { |
|
|
|
//得到所有要导出的数据
|
|
|
|
List<TwoExcelVo> exportVoList = scmVehRebateService.excelListTwo(scmVehRebateQuery); |
|
|
|
//定义导出的excel名字
|
|
|
|
String excelName = "二次导出"; |
|
|
|
String fileNameURL = ""; |
|
|
|
try { |
|
|
|
fileNameURL = URLEncoder.encode(excelName, "UTF-8"); |
|
|
|
} catch (UnsupportedEncodingException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
List<TwoExcelVo> dataList = scmVehRebateService.excelListTwo(scmVehRebateQuery); |
|
|
|
// 创建一个新的Excel文档
|
|
|
|
XSSFWorkbook wb = new XSSFWorkbook(); |
|
|
|
// 创建一个名为Sheet1的工作表
|
|
|
|
XSSFSheet sheet = wb.createSheet("二次导出"); |
|
|
|
//样式
|
|
|
|
XSSFCellStyle titleStyle = createTitleCellStyle(wb); |
|
|
|
XSSFCellStyle headerStyle = createHeadCellStyle(wb); |
|
|
|
XSSFCellStyle contentStyle = createContentCellStyle(wb); |
|
|
|
// 行号
|
|
|
|
int rowNum = 0; |
|
|
|
// 创建第一页的第一行,索引从0开始
|
|
|
|
XSSFRow row0 = sheet.createRow(rowNum++); |
|
|
|
// 设置行高
|
|
|
|
row0.setHeight((short) 600); |
|
|
|
String[] row_Text = {"序号", "采购系统", "车架号", "车型", "所属年月", "返利类型", "返利名称", "返利金额", "", "", "", "", "", "其中费用", "", "日期", "", "", "", "状态", "", "", "是否调整", "调整说明", "品牌", "分公司"}; |
|
|
|
for (int i = 0; i < row_Text.length; i++) { |
|
|
|
XSSFCell c00 = row0.createCell(i); |
|
|
|
c00.setCellValue(row_Text[i]); |
|
|
|
c00.setCellStyle(headerStyle); |
|
|
|
} |
|
|
|
// 合并单元格,参数依次为起始列,结束列,起始行,结束行 (索引0开始)
|
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, 2)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 3, 3)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 4, 4)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 5, 5)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 6, 6)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 7, 12)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 13, 14)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 15, 18)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 19, 21)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 22, 22)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 23, 23)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 24, 24)); |
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 25, 25)); |
|
|
|
//第二行
|
|
|
|
XSSFRow row2 = sheet.createRow(rowNum++); |
|
|
|
row2.setHeight((short) 700); |
|
|
|
String[] row_third = {"", "", "", "", "", "", "", "预提", "上传", "二次上传", "待确定", "调整", "未上传", "预提", "上传", "创建", "预提", "上传", "二次上传", "上传", "一次核对", "二次核对", "", "", "", ""}; |
|
|
|
for (int i = 0; i < row_third.length; i++) { |
|
|
|
XSSFCell tempCell = row2.createCell(i); |
|
|
|
tempCell.setCellValue(row_third[i]); |
|
|
|
tempCell.setCellStyle(headerStyle); |
|
|
|
} |
|
|
|
ExportExcelUtils.export(fileNameURL, exportVoList, TwoExcelVo.class, response); |
|
|
|
for (TwoExcelVo value : dataList) { |
|
|
|
XSSFRow tempRow = sheet.createRow(rowNum++); |
|
|
|
tempRow.setHeight((short) 500); |
|
|
|
// 循环单元格填入数据
|
|
|
|
for (int j = 0; j < 26; j++) { |
|
|
|
//列宽自适应,j为自适应的列,true就是自适应,false就是不自适应,默认不自适应
|
|
|
|
sheet.autoSizeColumn(j, true); |
|
|
|
XSSFCell tempCell = tempRow.createCell(j); |
|
|
|
tempCell.setCellStyle(contentStyle); |
|
|
|
String tempValue = ""; |
|
|
|
switch (j) { |
|
|
|
case 0: |
|
|
|
tempValue = value.getRankNo().toString(); |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
tempValue = value.getPurchaseSystemName(); |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
tempValue = value.getVinNo(); |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
tempValue = value.getVehModelName(); |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
tempValue = value.getPalceGenDate(); |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
tempValue = value.getRebateTypeValue(); |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
tempValue = value.getRebateName(); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
tempValue = value.getEstimateRebate(); |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
tempValue = value.getUploadMoney(); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
tempValue = value.getSecondaryUploadMoney(); |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
tempValue = value.getStayDetermineMoney(); |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
tempValue = value.getAdjustmentMoney(); |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
tempValue = value.getNotUploadMoney(); |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
tempValue = value.getWithholdCost(); |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
tempValue = value.getMoney(); |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
tempValue = value.getCreateTime(); |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
tempValue = value.getWithholdingDate(); |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
tempValue = value.getUploadDate(); |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
tempValue = value.getSecondaryUploadDate(); |
|
|
|
break; |
|
|
|
case 19: |
|
|
|
tempValue = value.getUploadState(); |
|
|
|
break; |
|
|
|
case 20: |
|
|
|
tempValue = value.getOnceCheckState(); |
|
|
|
break; |
|
|
|
case 21: |
|
|
|
tempValue = value.getSecondCheckState(); |
|
|
|
break; |
|
|
|
case 22: |
|
|
|
tempValue = value.getIsAdjustment(); |
|
|
|
break; |
|
|
|
case 23: |
|
|
|
tempValue = value.getAdjustmentRemarks(); |
|
|
|
break; |
|
|
|
case 24: |
|
|
|
tempValue = value.getBrandName(); |
|
|
|
break; |
|
|
|
case 25: |
|
|
|
tempValue = value.getCreateOrgName(); |
|
|
|
break; |
|
|
|
} |
|
|
|
tempCell.setCellValue(tempValue); |
|
|
|
} |
|
|
|
} |
|
|
|
//导出到浏览器下载
|
|
|
|
buildExcelDocument("二次导出", wb, response); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -231,6 +666,80 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultBean delByVehSid2(String vehSid, String useOrgSid, String key) { |
|
|
|
return scmVehRebateService.delByVehSid2(vehSid,useOrgSid,key); |
|
|
|
return scmVehRebateService.delByVehSid2(vehSid, useOrgSid, key); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建标题样式 |
|
|
|
* |
|
|
|
* @param wb |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private static XSSFCellStyle createTitleCellStyle(XSSFWorkbook wb) { |
|
|
|
XSSFCellStyle cellStyle = wb.createCellStyle(); |
|
|
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
|
|
|
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直对齐
|
|
|
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
|
|
|
// cellStyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());//背景颜色
|
|
|
|
|
|
|
|
XSSFFont headerFont1 = (XSSFFont) wb.createFont(); // 创建字体样式
|
|
|
|
headerFont1.setBold(true); //字体加粗
|
|
|
|
headerFont1.setFontName("黑体"); // 设置字体类型
|
|
|
|
headerFont1.setFontHeightInPoints((short) 15); // 设置字体大小
|
|
|
|
cellStyle.setFont(headerFont1); // 为标题样式设置字体样式
|
|
|
|
return cellStyle; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建表头样式 |
|
|
|
* |
|
|
|
* @param wb |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private static XSSFCellStyle createHeadCellStyle(XSSFWorkbook wb) { |
|
|
|
XSSFCellStyle cellStyle = wb.createCellStyle(); |
|
|
|
cellStyle.setWrapText(true);// 设置自动换行
|
|
|
|
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//背景颜色
|
|
|
|
cellStyle.setAlignment(HorizontalAlignment.CENTER); //水平居中
|
|
|
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //垂直对齐
|
|
|
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
|
|
|
// cellStyle.setBottomBorderColor(IndexedColors.BLACK.index);
|
|
|
|
cellStyle.setBorderBottom(BorderStyle.THIN); //下边框
|
|
|
|
cellStyle.setBorderLeft(BorderStyle.THIN); //左边框
|
|
|
|
cellStyle.setBorderRight(BorderStyle.THIN); //右边框
|
|
|
|
cellStyle.setBorderTop(BorderStyle.THIN); //上边框
|
|
|
|
|
|
|
|
XSSFFont headerFont = (XSSFFont) wb.createFont(); // 创建字体样式
|
|
|
|
headerFont.setBold(true); //字体加粗
|
|
|
|
headerFont.setFontName("黑体"); // 设置字体类型
|
|
|
|
headerFont.setFontHeightInPoints((short) 12); // 设置字体大小
|
|
|
|
cellStyle.setFont(headerFont); // 为标题样式设置字体样式
|
|
|
|
|
|
|
|
return cellStyle; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建内容样式 |
|
|
|
* |
|
|
|
* @param wb |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private static XSSFCellStyle createContentCellStyle(XSSFWorkbook wb) { |
|
|
|
XSSFCellStyle cellStyle = wb.createCellStyle(); |
|
|
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中
|
|
|
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);// 水平居中
|
|
|
|
cellStyle.setWrapText(false);// 设置自动换行
|
|
|
|
cellStyle.setBorderBottom(BorderStyle.THIN); //下边框
|
|
|
|
cellStyle.setBorderLeft(BorderStyle.THIN); //左边框
|
|
|
|
cellStyle.setBorderRight(BorderStyle.THIN); //右边框
|
|
|
|
cellStyle.setBorderTop(BorderStyle.THIN); //上边框
|
|
|
|
|
|
|
|
// 生成12号字体
|
|
|
|
XSSFFont font = wb.createFont(); |
|
|
|
font.setColor((short) 8); |
|
|
|
font.setFontHeightInPoints((short) 12); |
|
|
|
cellStyle.setFont(font); |
|
|
|
|
|
|
|
return cellStyle; |
|
|
|
} |
|
|
|
} |
|
|
|