diff --git a/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java b/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java index 3824a68b..59c54ba8 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java +++ b/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java @@ -72,5 +72,6 @@ public class EcssDeclarationHeaderData extends EcssDeclarationHeader{ private BigDecimal allWeight; private Boolean mexicoShippingMarkFlag; private Boolean showOrderNoFlag; + private Boolean showInvoiceFlag; private String modelContentStr; } diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java index 9b8e75b7..82e3e0e2 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java @@ -2923,24 +2923,23 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { // 发货通知单明细 List nodifyDetailList = coDelMapper.exportEcssCoDelNotifyDetail(data); List rows = sqlSession.selectList("ecssMapper.getEcssCoDelNotifyDetailData", notifyHeader); - StringBuilder sb = new StringBuilder(); - StringBuilder sbEn = new StringBuilder(); - for (int i = 0; i < rows.size(); i++) { - if (i < rows.size() - 1) { - sb.append(rows.get( i).get("hsCodeDesc")).append("、"); - sbEn.append(rows.get( i).get("hsCodeDescEn")).append("、"); - } else { - sb.append(rows.get( i).get("hsCodeDesc")); - sbEn.append(rows.get( i).get("hsCodeDescEn")); - } - } + String sb = rows.stream() + .map(row -> Objects.toString(row.get("hsCodeDesc"), "").trim()) + .filter(StringUtils::isNotBlank) + .distinct() + .collect(Collectors.joining("、")); + String sbEn = rows.stream() + .map(row -> Objects.toString(row.get("hsCodeDescEn"), "").trim()) + .filter(StringUtils::isNotBlank) + .distinct() + .collect(Collectors.joining("、")); // 装箱明细 List palletDetailList = coDelMapper.exportCoDelPalletDetail(notifyHeader); BigDecimal totalQty = palletDetailList.stream() .map(o -> new BigDecimal(o.get("total_qty").toString())) .reduce(BigDecimal.ZERO, BigDecimal::add); template.addVar("hs_code_desc", data.getHsCodeDescType()!=null&& data.getHsCodeDescType().equals("N")? - sbEn.toString():sb.toString()); + sbEn:sb); String hsCodes = nodifyDetailList.stream() .map(m -> Objects.toString(m.get("hsCode"), "")) .filter(s -> !s.isEmpty()) // 去掉空值 @@ -2958,12 +2957,23 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { ttlAmount = ttlAmount.add((BigDecimal) map.get("ttl_amount")); } boolean showOrderNoFlag = data != null && Boolean.TRUE.equals(data.getShowOrderNoFlag()); + boolean showInvoiceFlag = data != null && Boolean.TRUE.equals(data.getShowInvoiceFlag()); String buNo = notifyHeader == null ? "" : notifyHeader.getBuNo(); String poNoDisplayText = formatPoNoForDisplay(poNoSet); if (isShowOrderNoBu(buNo)) { poNoDisplayText = showOrderNoFlag ? formatPoNoForHwDesc(poNoSet) : ""; } - template.addVar("hw_desc", (data.getHsCodeDescType()!=null&& data.getHsCodeDescType().equals("N")?sbEn:sb) + "\n" +poNoDisplayText); + String hsCodeDescText = data.getHsCodeDescType()!=null&& data.getHsCodeDescType().equals("N") ? sbEn : sb; + String hwDescText = hsCodeDescText + "\n" + poNoDisplayText; + if (isShowOrderNoBu(buNo) && showInvoiceFlag) { + String cmcInvoiceText = stringInput(notifyHeader.getCmcInvoice()); + if (StringUtils.isBlank(poNoDisplayText)) { + hwDescText = hsCodeDescText + "\n" + cmcInvoiceText; + } else { + hwDescText = hwDescText + "\n" + cmcInvoiceText; + } + } + template.addVar("hw_desc", hwDescText); template.addVar("shipping_port", stringInput(notifyHeader.getCnative())); template.addVar("cmc_invoice", stringInput(notifyHeader.getCmcInvoice())); // 导出时默认,可编辑的栏目