Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r34409 -r34422 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 34409) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 34422) @@ -997,7 +997,7 @@ List voList = map.get(goodsItem.getName()); Double totalPrice = MathTools.mul(goodsItem.getPrice(), goodsItem.getAmount()).doubleValue(); // 合并名称相同的物品,灭菌日期、灭菌炉、炉次都要相同 - String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); + String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + (invoice.getInvoicePlan() == null ? "" : invoice.getInvoicePlan().getId()); if (voList != null) { InvoicePrintVo tempVo = null; for (InvoicePrintVo vo : voList) { @@ -10540,7 +10540,7 @@ // 合并名称相同的物品,灭菌日期、灭菌炉、炉次都要相同 InvoicePrintVo tempVo = null; - String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); + String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + (invoice.getInvoicePlan() == null ? "" : invoice.getInvoicePlan().getId()); for (InvoicePrintVo vo : voList) { if (vo.getBatchNumber().equals(batchNumber) && vo.getDiposableGoodsPrice() @@ -10658,7 +10658,7 @@ continue; } //key=一次性物品定义ID+_+发货单ID+_+申请单ID - String key = disposableGoodsId + "_" + invoiceID + "_" + invoicePlanID; + String key = disposableGoodsId + "_" + invoiceID + "_" + (invoicePlanID == null ? "" : invoicePlanID); remarkMap.put(key, remarkOfApplyGoods); } } catch (SQLException e) { @@ -10722,7 +10722,7 @@ } // 合并名称,单价,型号同时相同的物品(型号可能为空) InvoicePrintVo tempVo = null; - String key = goodsItem.getExpensiveGoodsId() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); + String key = goodsItem.getExpensiveGoodsId() + "_" + invoice.getId() + "_" + (invoice.getInvoicePlan() == null ? "" : invoice.getInvoicePlan().getId()); for (InvoicePrintVo vo : voList) { if (vo.getExpensiveGoodsName().equals(goodsName) && vo.getExpensiveGoodsPrice().toString().equals(price.toString()) @@ -10798,7 +10798,7 @@ if(StringUtils.isBlank(remarkOfApplyGoods)){ continue; } - String key = expensiveGoodsId + "_" + invoiceID + "_" + invoicePlanID; + String key = expensiveGoodsId + "_" + invoiceID + "_" + (invoicePlanID == null ? "" : invoicePlanID); map.put(key, remarkOfApplyGoods); } } catch (SQLException e) {