refactor(sip): 调整项目订单信息导出逻辑- 修改列宽自适应逻辑,将基础列范围从 35 列调整为 33列

- 移除部分软件产品相关列头,包括 WS瘦授权、WS 胖授权和 LS 软件的的数量和金额列
- 新增软件产品相关列头,包括 WS 瘦授权、WS胖授权和 LS 软件的数量和金额列,但指定了具体型号
- 调整软件产品数据在行中的插入位置,从原来的固定位置改为根据行索引动态插入
master
chenhao 2025-07-02 14:31:27 +08:00
parent d8ef3450dd
commit 87663d3f4b
1 changed files with 23 additions and 22 deletions

View File

@ -429,7 +429,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
int columnIndex = cell.getColumnIndex();
Sheet sheet = writeSheetHolder.getSheet();
// 基础列范围(前 25 列)
if (columnIndex >= 0 && columnIndex <= 35) {
if (columnIndex >= 0 && columnIndex <= 33) {
// 自适应列宽逻辑
sheet.setColumnWidth(columnIndex, 256 * 30); // 设置固定宽度为 20 个字符
}
@ -458,20 +458,6 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
headerList.add(Collections.singletonList("汇智责任人"));
headerList.add(Collections.singletonList("下单通路"));
headerList.add(Collections.singletonList("最终客户"));
headerList.add(Collections.singletonList("WS瘦授权软件数量"));
headerList.add(Collections.singletonList("WS瘦授权软件金额"));
headerList.add(Collections.singletonList("WS胖授权软件数量"));
headerList.add(Collections.singletonList("WS胖授权软件金额"));
headerList.add(Collections.singletonList("LS软件数量"));
headerList.add(Collections.singletonList("LS软件金额"));
addHeadList(maxOne, headerList, "ONEstor");
addHeadList(maxNvidia, headerList, "nVIDIA");
// headerList.add(Collections.singletonList("ONEstor数量"));
// headerList.add(Collections.singletonList("ONEstor金额"));
// headerList.add(Collections.singletonList("nVIDIA授权数量"));
// headerList.add(Collections.singletonList("nVIDIA授权金额"));
headerList.add(Collections.singletonList("BG"));
headerList.add(Collections.singletonList("行业"));
@ -498,6 +484,21 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
headerList.add(Collections.singletonList("联系方式"));
// headerList.add(Collections.singletonList("其他特别说明"));
// headerList.add(Collections.singletonList("订单状态"));
headerList.add(Collections.singletonList("WS瘦授权软件数量-3130A6LC"));
headerList.add(Collections.singletonList("WS瘦授权软件金额"));
headerList.add(Collections.singletonList("WS胖授权软件数量-3130A6LE"));
headerList.add(Collections.singletonList("WS胖授权软件金额"));
headerList.add(Collections.singletonList("LS软件数量-3130A6LD"));
headerList.add(Collections.singletonList("LS软件金额"));
addHeadList(maxOne, headerList, "ONEstor");
addHeadList(maxNvidia, headerList, "nVIDIA");
// headerList.add(Collections.singletonList("ONEstor数量"));
// headerList.add(Collections.singletonList("ONEstor金额"));
// headerList.add(Collections.singletonList("nVIDIA授权数量"));
// headerList.add(Collections.singletonList("nVIDIA授权金额"));
// 添加软件产品列
@ -622,13 +623,13 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
totalPrice = processProducts(deployList, maxDeployService, row, totalPrice);
//添加维保
totalPrice = processProducts(maintenanceList, maxMaintenanceService, row, totalPrice);
row.add(8, wssDto.getQuantity().toString());
row.add(9, wssDto.getAllPrice().toString());
row.add(10, wspDto.getQuantity().toString());
row.add(11, wspDto.getAllPrice().toString());
row.add(12, lsDto.getQuantity().toString());
row.add(13, lsDto.getAllPrice().toString());
int insertIndex=14;
int insertIndex=17;
row.add(insertIndex++, wssDto.getQuantity().toString());
row.add(insertIndex++, wssDto.getAllPrice().toString());
row.add(insertIndex++, wspDto.getQuantity().toString());
row.add(insertIndex++, wspDto.getAllPrice().toString());
row.add(insertIndex++, lsDto.getQuantity().toString());
row.add(insertIndex++, lsDto.getAllPrice().toString());
for (int i = 0; i < maxOne; i++) {
ProjectProductInfo projectProductInfo = i < oneList.size() ? oneList.get(i) : null;
insertIndex = addProductRowByIndex(projectProductInfo, row, insertIndex);