Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r33229 -r33230 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33229) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33230) @@ -172,7 +172,7 @@ //重新获取代理灭菌单的接收状态 setProxyDisinfectionReceiveStatus(proxyDisinfection, tousseInstanceList); //重新获取代理灭菌单的发货状态 - setProxyDisinfectionDeliverStatus(proxyDisinfection, tousseInstanceList); + invoicePlanManager.computeAndSetInvoiceStatus(proxyDisinfection); //计算代理灭菌单物品tousseItem已接收数量GDSZYY-131 setProxyDisinfectionReceiveAmount(proxyDisinfection, tousseInstanceList); proxyDisinfection.setTotalAmountOfTousses(tousseInstanceList.size()); @@ -189,32 +189,6 @@ } /** - * 重新获取代理灭菌单的发货状态 - * @param proxyDisinfection - * @param tousseInstanceList - */ - private void setProxyDisinfectionDeliverStatus(ProxyDisinfection proxyDisinfection, - Set tousseInstanceList) { - int awaitDeliverTousseAmount = 0; - if(tousseInstanceList != null){ - for (TousseInstance ti : tousseInstanceList) { - if(!DatabaseUtil.isPoIdValid(ti.getInvoice_id()) - && !DatabaseUtil.isPoIdValid(ti.getInvoice2_id())){ - awaitDeliverTousseAmount++; - } - } - if(0 == awaitDeliverTousseAmount){ - proxyDisinfection.setDeliverStatus(ProxyDisinfection.DELIVERSTATUS_DELIVERED); - }else if(tousseInstanceList.size() > awaitDeliverTousseAmount){ - proxyDisinfection.setDeliverStatus(ProxyDisinfection.DELIVERSTATUS_PARTDELIVERED); - }else{ - proxyDisinfection.setDeliverStatus(ProxyDisinfection.DELIVERSTATUS_AWAITDELIVER); - } - } - } - - - /** * 计算代理灭菌单上物品tousseItem的接收数量 * @param proxyDisinfection * @param tousseInstanceList @@ -480,7 +454,9 @@ List applicationItems = proxyDisinfection.getApplicationItems(); //需要删除的物品 List deleteTousseItems = new ArrayList(); - deleteTousseItems.addAll(applicationItems); + if(CollectionUtils.isNotEmpty(applicationItems)){ + deleteTousseItems.addAll(applicationItems); + } // 设置发货物品明细 List tousseInfos = generateTousseItemInfo(proxyDisinfection, newProxyTousseInstanceList); List tousseItemList = new ArrayList(); @@ -541,8 +517,13 @@ * @return */ private TousseItem getApplicationTousseItem(List applicationItems, TousseItenInfo tii){ + if(CollectionUtils.isEmpty(applicationItems)){ + return null; + } for (TousseItem tousseItem : applicationItems) { - if(tousseItem.getTousseDefinitionId().equals(tii.getTousseDefinitionId())){ + if(tousseItem.getTousseDefinitionId() != null + && tii.getTousseDefinitionId() != null + && tousseItem.getTousseDefinitionId().equals(tii.getTousseDefinitionId())){ return tousseItem; } }