Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r33925 -r33926 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 33925) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 33926) @@ -813,19 +813,14 @@ && vo.getSterilizationdate().equals( sterilizationdate) && vo.getSterilizerName().equals( - sterilizerName)) { + sterilizerName) + //ZJYY-95如果需要打印出【备注】信息,并且物品有备注,就不合并 + && ((isMergeRemark && StringUtils.equals(tousseInstance.getRemark(), vo.getRemark())) || !isMergeRemark)) { tempVo = vo; break; } } - //ZJYY-95如果需要打印出【备注】信息,并且物品有备注,就不合并 - if(isMergeRemark && tempVo != null){ - if(!StringUtils.equals(tousseInstance.getRemark(), tempVo.getRemark())){ - tempVo = null; - } - } - if (tempVo != null) { tempVo.setAmount(tempVo.getAmount() + 1); tempVo.setTotalPrice(tempVo.getTotalPrice() @@ -989,28 +984,23 @@ // 合并名称相同的物品,灭菌日期、灭菌炉、炉次都要相同 if (voList != null) { InvoicePrintVo tempVo = null; + String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); for (InvoicePrintVo vo : voList) { if (vo.getBatchNumber().equals(batchNumber) && vo.getDiposableGoodsPrice() .toString() .equals(goodsItem.getPrice() .toString()) && vo.getSpecification().equals( - specification)) { + specification) + //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, + //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 + && ((isMergeRemark && StringUtils.equals(applyRemarkMap.get(key), vo.getRemark())) || isMergeRemark)) { tempVo = vo; break; } } - String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); - if(isMergeRemark && tempVo != null){ - //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, - //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 - if(!StringUtils.equals(applyRemarkMap.get(key), tempVo.getRemark())){ - tempVo = null; - } - } - if (tempVo != null) { tempVo.setDiposableGoodsAmount(tempVo .getDiposableGoodsAmount() @@ -9150,29 +9140,28 @@ && StringUtils.equals(vo.getSterilizationdate(), sterilizationdate) && StringUtils.equals(vo.getSterilizerName(), - sterilizerName)) { + sterilizerName) + //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, + //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 + && ((isMergeRemark && StringUtils.equals(tousseInstance.getRemark(), vo.getRemark())) || !isMergeRemark)) { invoicePrintVo = vo; break; } } break; case SupplyRoomConfig.MERGETOUSSERULE_FOR_INVOICEBATCHPRINT_1: for (InvoicePrintVo vo : list) { - if (StringUtils.equals(vo.getName(), tousseName)) { + if (StringUtils.equals(vo.getName(), tousseName) + //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, + //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 + && ((isMergeRemark && StringUtils.equals(tousseInstance.getRemark(), vo.getRemark())) || !isMergeRemark)) { invoicePrintVo = vo; break; } } break; } - //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, - //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 - if(isMergeRemark && invoicePrintVo != null - && !StringUtils.equals(tousseInstance.getRemark(), invoicePrintVo.getRemark())){ - return null; - } - return invoicePrintVo; } /** @@ -10501,26 +10490,21 @@ // 合并名称相同的物品,灭菌日期、灭菌炉、炉次都要相同 InvoicePrintVo tempVo = null; + String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); for (InvoicePrintVo vo : voList) { if (vo.getBatchNumber().equals(batchNumber) && vo.getDiposableGoodsPrice() .toString() .equals(getDisplayPrice(invoiceItem,goodsItem).toString()) - && vo.nameWithSpecification().equals(goodsName)) { + && vo.nameWithSpecification().equals(goodsName) + //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, + //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 + && ((isMergeRemark && StringUtils.equals(applyRemarkMap.get(key), vo.getRemark()) || !isMergeRemark))) { tempVo = vo; break; } } - String key = goodsItem.getDisposableGoodsID() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); - if(isMergeRemark && tempVo != null){ - //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, - //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 - if(!StringUtils.equals(applyRemarkMap.get(key), tempVo.getRemark())){ - tempVo = null; - } - } - if (tempVo != null) { tempVo.setDiposableGoodsAmount(tempVo .getDiposableGoodsAmount() @@ -10686,24 +10670,19 @@ } // 合并名称,单价,型号同时相同的物品(型号可能为空) InvoicePrintVo tempVo = null; + String key = goodsItem.getExpensiveGoodsId() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); for (InvoicePrintVo vo : voList) { if (vo.getExpensiveGoodsName().equals(goodsName) && vo.getExpensiveGoodsPrice().toString().equals(price.toString()) - && (modelName != null ? modelName.equals(vo.getExpensiveGoodsModelName()): true)) { + && (modelName != null ? modelName.equals(vo.getExpensiveGoodsModelName()): true) + //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, + //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 + && ((isMergeRemark && StringUtils.equals(vo.getRemark(), expensiveGoodsApplyRemarkMap.get(key))) || !isMergeRemark)) { tempVo = vo; break; } } - String key = goodsItem.getExpensiveGoodsId() + "_" + invoice.getId() + "_" + invoice.getInvoicePlan().getId(); - if(isMergeRemark && tempVo != null){ - //打印发货单时,如果设置为多张发货单合并打印,多张单上的同名的物品,如果某物品有【备注】信息, - //则该物品不应与其它的同名物品合并打印,要单独作为一行打印。ZJYY-95 - if(!StringUtils.equals(tempVo.getRemark(), expensiveGoodsApplyRemarkMap.get(key))){ - tempVo = null; - } - } - //若已经有相同的物品 if(tempVo != null){ tempVo.setExpensiveGoodsAmount(MathTools.add(tempVo.getExpensiveGoodsAmount(), amount).intValue());//增加数量