Browse Source

硬标(YB)箱单:无托盘时隐藏Pallet列(第9列,索引8)

master
han\hanst 1 week ago
parent
commit
509ddd8e55
  1. 21
      src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java
  2. 5
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java

21
src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java

@ -26,6 +26,8 @@ public class ExcelTemplateYB {
private List<int[]> mergeRegions = new ArrayList<>(); private List<int[]> mergeRegions = new ArrayList<>();
// 存储需要设置行高的行信息[起始行索引, 结束行索引, 行高] // 存储需要设置行高的行信息[起始行索引, 结束行索引, 行高]
private List<int[]> rowHeights = new ArrayList<>(); private List<int[]> rowHeights = new ArrayList<>();
// 需要隐藏的列0-based
private Set<Integer> hiddenColumns = new LinkedHashSet<>();
// 是否下移形状格式 // 是否下移形状格式
@Setter @Setter
private boolean moveShape = false; private boolean moveShape = false;
@ -138,11 +140,21 @@ public class ExcelTemplateYB {
} }
} }
/**
* 隐藏指定列0-based
*/
public void hideColumn(int colIndex) {
if (colIndex >= 0) {
hiddenColumns.add(colIndex);
}
}
public void clearAll(){ public void clearAll(){
variables.clear(); variables.clear();
listVariables.clear(); listVariables.clear();
mergeRegions.clear(); mergeRegions.clear();
rowHeights.clear(); rowHeights.clear();
hiddenColumns.clear();
moveShape = false; moveShape = false;
moveSeal = false; moveSeal = false;
cellStyle = false; cellStyle = false;
@ -797,6 +809,15 @@ public class ExcelTemplateYB {
} }
} }
// 处理列隐藏
if (!hiddenColumns.isEmpty()) {
for (Integer colIndex : hiddenColumns) {
if (colIndex != null && colIndex >= 0) {
sheet.setColumnHidden(colIndex, true);
}
}
}
return workbook; return workbook;
} }

5
src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java

@ -3048,6 +3048,11 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
.map(EcssCoDelPalletHeaderData::getPalletQty) .map(EcssCoDelPalletHeaderData::getPalletQty)
.filter(Objects::nonNull) // 防止空指针 .filter(Objects::nonNull) // 防止空指针
.reduce(0, Integer::sum); .reduce(0, Integer::sum);
boolean hasPalletData = !palletHeaderDataList.isEmpty() && totalPlt != null && totalPlt > 0;
if (!hasPalletData) {
// 仅硬标(YB)箱单无托盘时隐藏Pallet列第9列索引8
template.hideColumn(8);
}
// 发货通知单明细 // 发货通知单明细
List<Map> detailList = coDelMapper.exportEcssCoDelNotifyDetail(data); List<Map> detailList = coDelMapper.exportEcssCoDelNotifyDetail(data);
Set<String> poNoSet = detailList.stream() Set<String> poNoSet = detailList.stream()

Loading…
Cancel
Save