TASK:mixi;
This commit is contained in:
@@ -76,9 +76,9 @@ public class MiTuExportScheduledTask {
|
||||
public void executeWeeklyHeavyStockReport() {
|
||||
// customerPurchaseReport();
|
||||
// NewJoinVIPReport();
|
||||
// weeklySellThrReport();
|
||||
// WeeklyHeavyStockReport();
|
||||
// QuarterlyProductGroupingReport();
|
||||
weeklySellThrReport();
|
||||
WeeklyHeavyStockReport();
|
||||
QuarterlyProductGroupingReport();
|
||||
// customerTypeAnalysis();
|
||||
// getBestSell30Days();
|
||||
// getData();
|
||||
@@ -655,8 +655,10 @@ public class MiTuExportScheduledTask {
|
||||
}
|
||||
// 处理最后一个PLU_CODE的数据
|
||||
if (startRow < rowNum) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum - 1, headers.length - 1, imagePath, channelSftp);
|
||||
String currentPluCode = transactionSummaryList.get(transactionSummaryList.size() - 1).getPLU_CODE();
|
||||
imagePath = getImagePath(currentPluCode);
|
||||
mergeCells(sheet, startRow, rowNum);
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum, headers.length - 1, imagePath, channelSftp);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -719,7 +721,6 @@ public class MiTuExportScheduledTask {
|
||||
|
||||
int rowNum = 1;
|
||||
int startRow = rowNum;
|
||||
String previousPluCode = "";
|
||||
String imagePath = "";
|
||||
|
||||
// 创建并配置SFTP连接
|
||||
@@ -737,53 +738,60 @@ public class MiTuExportScheduledTask {
|
||||
channelSftp = (ChannelSftp) session.openChannel("sftp");
|
||||
channelSftp.connect();
|
||||
|
||||
for (WeeklyHeavyStock weeklyHeavyStock : weeklyHeavyStockList) {
|
||||
String currentPluCode = weeklyHeavyStock.getPLU_CODE();
|
||||
if (!currentPluCode.equals(previousPluCode)) {
|
||||
imagePath = getImagePath(currentPluCode);
|
||||
if (startRow < rowNum - 1) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
if (imagePath != null && !imagePath.isEmpty()) {
|
||||
if (weeklyHeavyStockList.size() > 0) {
|
||||
String previousPluCode = weeklyHeavyStockList.get(0).getPLU_CODE();
|
||||
for (WeeklyHeavyStock weeklyHeavyStock : weeklyHeavyStockList) {
|
||||
String currentPluCode = weeklyHeavyStock.getPLU_CODE();
|
||||
|
||||
// 当 PLU_CODE 改变时处理图片和单元格合并
|
||||
if (!currentPluCode.equals(previousPluCode)) {
|
||||
imagePath = getImagePath(previousPluCode);
|
||||
|
||||
// 合并单元格并插入图片
|
||||
if (startRow < rowNum - 1) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum - 1, headers.length - 1, imagePath, channelSftp);
|
||||
}
|
||||
|
||||
startRow = rowNum;
|
||||
previousPluCode = currentPluCode;
|
||||
}
|
||||
startRow = rowNum;
|
||||
previousPluCode = currentPluCode;
|
||||
|
||||
Row row = sheet.createRow(rowNum);
|
||||
row.createCell(0).setCellValue(weeklyHeavyStock.getPLU_CODE());
|
||||
// 填充其他列的数据
|
||||
row.createCell(1).setCellValue(weeklyHeavyStock.getItem_name());
|
||||
row.createCell(2).setCellValue(weeklyHeavyStock.getItem_barcode());
|
||||
row.createCell(3).setCellValue(weeklyHeavyStock.getCat());
|
||||
row.createCell(4).setCellValue(weeklyHeavyStock.getSub_cat());
|
||||
row.createCell(5).setCellValue(weeklyHeavyStock.getCol());
|
||||
row.createCell(6).setCellValue(weeklyHeavyStock.getPrice_sales());
|
||||
row.createCell(7).setCellValue(weeklyHeavyStock.getMAS());
|
||||
row.createCell(8).setCellValue(weeklyHeavyStock.getMEL());
|
||||
row.createCell(9).setCellValue(weeklyHeavyStock.getMPC());
|
||||
row.createCell(10).setCellValue(weeklyHeavyStock.getMPS());
|
||||
row.createCell(11).setCellValue(weeklyHeavyStock.getMTF());
|
||||
row.createCell(12).setCellValue(weeklyHeavyStock.getMWP());
|
||||
row.createCell(13).setCellValue(weeklyHeavyStock.getMYO());
|
||||
row.createCell(14).setCellValue(weeklyHeavyStock.getMHZ());
|
||||
row.createCell(15).setCellValue(weeklyHeavyStock.getMRT());
|
||||
row.createCell(16).setCellValue(weeklyHeavyStock.getMBZ());
|
||||
row.createCell(17).setCellValue(weeklyHeavyStock.getTLT());
|
||||
row.createCell(18).setCellValue(weeklyHeavyStock.getSubtotal());
|
||||
row.createCell(19).setCellValue(weeklyHeavyStock.getG_TLT());
|
||||
|
||||
rowNum++;
|
||||
}
|
||||
|
||||
Row row = sheet.createRow(rowNum);
|
||||
row.createCell(0).setCellValue(weeklyHeavyStock.getPLU_CODE());
|
||||
// 填充其他列的数据
|
||||
row.createCell(1).setCellValue(weeklyHeavyStock.getItem_name());
|
||||
row.createCell(2).setCellValue(weeklyHeavyStock.getItem_barcode());
|
||||
row.createCell(3).setCellValue(weeklyHeavyStock.getCat());
|
||||
row.createCell(4).setCellValue(weeklyHeavyStock.getSub_cat());
|
||||
row.createCell(5).setCellValue(weeklyHeavyStock.getCol());
|
||||
row.createCell(6).setCellValue(weeklyHeavyStock.getPrice_sales());
|
||||
row.createCell(7).setCellValue(weeklyHeavyStock.getMAS());
|
||||
row.createCell(8).setCellValue(weeklyHeavyStock.getMEL());
|
||||
row.createCell(9).setCellValue(weeklyHeavyStock.getMPC());
|
||||
row.createCell(10).setCellValue(weeklyHeavyStock.getMPS());
|
||||
row.createCell(11).setCellValue(weeklyHeavyStock.getMTF());
|
||||
row.createCell(12).setCellValue(weeklyHeavyStock.getMWP());
|
||||
row.createCell(13).setCellValue(weeklyHeavyStock.getMYO());
|
||||
row.createCell(14).setCellValue(weeklyHeavyStock.getMHZ());
|
||||
row.createCell(15).setCellValue(weeklyHeavyStock.getMRT());
|
||||
row.createCell(16).setCellValue(weeklyHeavyStock.getMBZ());
|
||||
row.createCell(17).setCellValue(weeklyHeavyStock.getTLT());
|
||||
row.createCell(18).setCellValue(weeklyHeavyStock.getSubtotal());
|
||||
row.createCell(19).setCellValue(weeklyHeavyStock.getG_TLT());
|
||||
|
||||
rowNum++;
|
||||
}
|
||||
|
||||
if (startRow < rowNum - 1) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
if (imagePath != null && !imagePath.isEmpty()) {
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum - 1, headers.length - 1, imagePath, channelSftp);
|
||||
if (startRow < rowNum) {
|
||||
String currentPluCode = weeklyHeavyStockList.get(weeklyHeavyStockList.size() - 1).getPLU_CODE();
|
||||
imagePath = getImagePath(currentPluCode);
|
||||
mergeCells(sheet, startRow, rowNum);
|
||||
if (imagePath != null && !imagePath.isEmpty()) {
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum, headers.length - 1, imagePath, channelSftp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
log.info(imagePath);
|
||||
throw new RuntimeException("Error while processing the report", e);
|
||||
@@ -898,7 +906,6 @@ public class MiTuExportScheduledTask {
|
||||
|
||||
int rowNum = 3; // 数据从第四行开始
|
||||
int startRow = rowNum;
|
||||
String previousPluCode = "";
|
||||
String imagePath = "";
|
||||
|
||||
// 创建并配置SFTP连接
|
||||
@@ -916,75 +923,77 @@ public class MiTuExportScheduledTask {
|
||||
channelSftp = (ChannelSftp) session.openChannel("sftp");
|
||||
channelSftp.connect();
|
||||
|
||||
for (WeeklyHeavyStock weeklyHeavyStock : weeklyHeavyStockList) {
|
||||
if (!weeklyHeavyStock.getPLU_CODE().equals(previousPluCode)) {
|
||||
imagePath = getImagePath(weeklyHeavyStock.getPLU_CODE());
|
||||
// 新的PLU_CODE,合并之前的单元格,并插入图片
|
||||
if (startRow < rowNum - 1) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
if (imagePath != null && !imagePath.isEmpty()) {
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum - 1, 0, imagePath, channelSftp); // 插入图片到合并单元格
|
||||
if (weeklyHeavyStockList.size() > 0) {
|
||||
String previousPluCode = weeklyHeavyStockList.get(0).getPLU_CODE();
|
||||
for (WeeklyHeavyStock weeklyHeavyStock : weeklyHeavyStockList) {
|
||||
String currentPluCode = weeklyHeavyStock.getPLU_CODE();
|
||||
if (!currentPluCode.equals(previousPluCode)) {
|
||||
imagePath = getImagePath(previousPluCode);
|
||||
// 新的PLU_CODE,合并之前的单元格,并插入图片
|
||||
if (startRow < rowNum - 1) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum - 1, 0, imagePath, channelSftp);
|
||||
}
|
||||
startRow = rowNum;
|
||||
previousPluCode = weeklyHeavyStock.getPLU_CODE();
|
||||
}
|
||||
startRow = rowNum;
|
||||
previousPluCode = weeklyHeavyStock.getPLU_CODE();
|
||||
|
||||
// 计算“Shop total Sold”
|
||||
int shopTotalSold = weeklyHeavyStock.getMASSOLD() + weeklyHeavyStock.getMELSOLD() +
|
||||
weeklyHeavyStock.getMPCSOLD() + weeklyHeavyStock.getMPSSOLD() +
|
||||
weeklyHeavyStock.getMTFSOLD() + weeklyHeavyStock.getMWPSOLD() +
|
||||
weeklyHeavyStock.getMYOSOLD();
|
||||
|
||||
// 计算“HK Sell-thru”
|
||||
int stockOnHand = weeklyHeavyStock.getMAS() + weeklyHeavyStock.getMEL() +
|
||||
weeklyHeavyStock.getMPC() + weeklyHeavyStock.getMPS() +
|
||||
weeklyHeavyStock.getMTF() + weeklyHeavyStock.getMWP() +
|
||||
weeklyHeavyStock.getMYO() + weeklyHeavyStock.getMRT() +
|
||||
weeklyHeavyStock.getMBZ() + weeklyHeavyStock.getMHZ();
|
||||
|
||||
String hkSellThru = stockOnHand > 0 ? String.format("%.0f%%", (double) shopTotalSold / stockOnHand * 100) : "0%";
|
||||
|
||||
Row row = sheet.createRow(rowNum);
|
||||
row.createCell(1).setCellValue(weeklyHeavyStock.getPLU_CODE());
|
||||
row.createCell(2).setCellValue(weeklyHeavyStock.getCol());
|
||||
row.createCell(3).setCellValue(weeklyHeavyStock.getSize());
|
||||
row.createCell(4).setCellValue(weeklyHeavyStock.getItem_barcode());
|
||||
row.createCell(5).setCellValue(weeklyHeavyStock.getItem_name());
|
||||
row.createCell(6).setCellValue(weeklyHeavyStock.getCat());
|
||||
row.createCell(7).setCellValue(weeklyHeavyStock.getSub_cat());
|
||||
row.createCell(8).setCellValue(weeklyHeavyStock.getPrice_sales());
|
||||
row.createCell(9).setCellValue(hkSellThru); // 填入计算的HK Sell-thru
|
||||
row.createCell(10).setCellValue(shopTotalSold); // 填入计算的Shop total Sold
|
||||
row.createCell(11).setCellValue(weeklyHeavyStock.getMASSOLD());
|
||||
row.createCell(12).setCellValue(weeklyHeavyStock.getMELSOLD());
|
||||
row.createCell(13).setCellValue(weeklyHeavyStock.getMPCSOLD());
|
||||
row.createCell(14).setCellValue(weeklyHeavyStock.getMPSSOLD());
|
||||
row.createCell(15).setCellValue(weeklyHeavyStock.getMTFSOLD());
|
||||
row.createCell(16).setCellValue(weeklyHeavyStock.getMWPSOLD());
|
||||
row.createCell(17).setCellValue(weeklyHeavyStock.getMYOSOLD());
|
||||
row.createCell(18).setCellValue(weeklyHeavyStock.getMAS());
|
||||
row.createCell(19).setCellValue(weeklyHeavyStock.getMEL());
|
||||
row.createCell(20).setCellValue(weeklyHeavyStock.getMPC());
|
||||
row.createCell(21).setCellValue(weeklyHeavyStock.getMPS());
|
||||
row.createCell(22).setCellValue(weeklyHeavyStock.getMTF());
|
||||
row.createCell(23).setCellValue(weeklyHeavyStock.getMWP());
|
||||
row.createCell(24).setCellValue(weeklyHeavyStock.getMYO());
|
||||
row.createCell(25).setCellValue(weeklyHeavyStock.getMRT());
|
||||
row.createCell(26).setCellValue(weeklyHeavyStock.getMBZ());
|
||||
row.createCell(27).setCellValue(weeklyHeavyStock.getMHZ());
|
||||
|
||||
rowNum++;
|
||||
}
|
||||
|
||||
// 计算“Shop total Sold”
|
||||
int shopTotalSold = weeklyHeavyStock.getMASSOLD() + weeklyHeavyStock.getMELSOLD() +
|
||||
weeklyHeavyStock.getMPCSOLD() + weeklyHeavyStock.getMPSSOLD() +
|
||||
weeklyHeavyStock.getMTFSOLD() + weeklyHeavyStock.getMWPSOLD() +
|
||||
weeklyHeavyStock.getMYOSOLD();
|
||||
|
||||
// 计算“HK Sell-thru”
|
||||
int stockOnHand = weeklyHeavyStock.getMAS() + weeklyHeavyStock.getMEL() +
|
||||
weeklyHeavyStock.getMPC() + weeklyHeavyStock.getMPS() +
|
||||
weeklyHeavyStock.getMTF() + weeklyHeavyStock.getMWP() +
|
||||
weeklyHeavyStock.getMYO() + weeklyHeavyStock.getMRT() +
|
||||
weeklyHeavyStock.getMBZ() + weeklyHeavyStock.getMHZ();
|
||||
|
||||
String hkSellThru = stockOnHand > 0 ? String.format("%.0f%%", (double) shopTotalSold / stockOnHand * 100) : "0%";
|
||||
|
||||
Row row = sheet.createRow(rowNum);
|
||||
row.createCell(1).setCellValue(weeklyHeavyStock.getPLU_CODE());
|
||||
row.createCell(2).setCellValue(weeklyHeavyStock.getCol());
|
||||
row.createCell(3).setCellValue(weeklyHeavyStock.getSize());
|
||||
row.createCell(4).setCellValue(weeklyHeavyStock.getItem_barcode());
|
||||
row.createCell(5).setCellValue(weeklyHeavyStock.getItem_name());
|
||||
row.createCell(6).setCellValue(weeklyHeavyStock.getCat());
|
||||
row.createCell(7).setCellValue(weeklyHeavyStock.getSub_cat());
|
||||
row.createCell(8).setCellValue(weeklyHeavyStock.getPrice_sales());
|
||||
row.createCell(9).setCellValue(hkSellThru); // 填入计算的HK Sell-thru
|
||||
row.createCell(10).setCellValue(shopTotalSold); // 填入计算的Shop total Sold
|
||||
row.createCell(11).setCellValue(weeklyHeavyStock.getMASSOLD());
|
||||
row.createCell(12).setCellValue(weeklyHeavyStock.getMELSOLD());
|
||||
row.createCell(13).setCellValue(weeklyHeavyStock.getMPCSOLD());
|
||||
row.createCell(14).setCellValue(weeklyHeavyStock.getMPSSOLD());
|
||||
row.createCell(15).setCellValue(weeklyHeavyStock.getMTFSOLD());
|
||||
row.createCell(16).setCellValue(weeklyHeavyStock.getMWPSOLD());
|
||||
row.createCell(17).setCellValue(weeklyHeavyStock.getMYOSOLD());
|
||||
row.createCell(18).setCellValue(weeklyHeavyStock.getMAS());
|
||||
row.createCell(19).setCellValue(weeklyHeavyStock.getMEL());
|
||||
row.createCell(20).setCellValue(weeklyHeavyStock.getMPC());
|
||||
row.createCell(21).setCellValue(weeklyHeavyStock.getMPS());
|
||||
row.createCell(22).setCellValue(weeklyHeavyStock.getMTF());
|
||||
row.createCell(23).setCellValue(weeklyHeavyStock.getMWP());
|
||||
row.createCell(24).setCellValue(weeklyHeavyStock.getMYO());
|
||||
row.createCell(25).setCellValue(weeklyHeavyStock.getMRT());
|
||||
row.createCell(26).setCellValue(weeklyHeavyStock.getMBZ());
|
||||
row.createCell(27).setCellValue(weeklyHeavyStock.getMHZ());
|
||||
|
||||
rowNum++;
|
||||
}
|
||||
|
||||
// 确保处理最后一个Plu Code
|
||||
if (startRow < rowNum - 1 || previousPluCode != null) {
|
||||
mergeCells(sheet, startRow, rowNum - 1);
|
||||
if (imagePath != null && !imagePath.isEmpty()) {
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum - 1, 0, imagePath, channelSftp); // 插入图片到合并单元格
|
||||
// 确保处理最后一个Plu Code
|
||||
if (startRow < rowNum) {
|
||||
String currentPluCode = weeklyHeavyStockList.get(weeklyHeavyStockList.size() - 1).getPLU_CODE();
|
||||
imagePath = getImagePath(currentPluCode);
|
||||
mergeCells(sheet, startRow, rowNum);
|
||||
linkImageToCell(workbook, sheet, startRow, rowNum, 0, imagePath, channelSftp);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Error while processing the report", e);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user