Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r12553 -r13667 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 12553) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 13667) @@ -425,12 +425,14 @@ String sterileStartTime = TousseInstanceUtils.buildSterileStartTime(currentTime); synchronized(serialNumManager){ // 避免并发配包时数据库死锁 - - // 篮筐 - ReviewedBasket basket = reviewedBasketManager.getReviewedBasketButNew( - basketBarcode); - if(tousseAmount > 0){ - reviewedBasketManager.saveOrUpdate(basket); + ReviewedBasket basket = null; + if(StringUtils.isNotBlank(basketBarcode)){ + // 篮筐 + basket = reviewedBasketManager.getReviewedBasketButNew( + basketBarcode); + if(tousseAmount > 0){ + reviewedBasketManager.saveOrUpdate(basket); + } } t2 = System.currentTimeMillis(); @@ -461,7 +463,7 @@ tousseInstance.setWarningUntil(warningUntil.getTime()); } tousseInstance.setTousseName(tousseName); - tousseInstance.setStatus(TousseInstance.STATUS_REVIEWED); + tousseInstance.setStatus(TousseInstance.STATUS_PACKED); tousseInstance.setReviewTime(currentTime); tousseInstance.setPackageType(packageType); @@ -471,7 +473,10 @@ tousseInstance.setBarcode(serialNumberStr); tousseInstance.setOrgUnitCoding(orgUnitCoding); tousseInstance.setOperationTime(currentTime); - tousseInstance.setReviewBasket_id(basket.getId()); + if(basket != null){ + tousseInstance.setReviewBasket_id(basket.getId()); + tousseInstance.setStatus(TousseInstance.STATUS_REVIEWED); + } tousseInstance.setForeignProxyItem_id(newItem.getId()); objectDao.save(tousseInstance); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java =================================================================== diff -u -r13557 -r13667 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 13557) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 13667) @@ -142,16 +142,20 @@ */ @Override public ReviewedBasket getReviewedBasketButNew(String basketBarcode) { - Container container = containerManager - .getContainerByBarcode(basketBarcode); - if(container == null) - throw new RuntimeException("no this container"); - container.setStatus(Container.CONTAINER_STATUS_STERILIZELOADING); - - ReviewedBasket basket = getBasketByBarcode(basketBarcode); - if (basket == null) { - basket = new ReviewedBasket(); - basket.setContainer(container); + ReviewedBasket basket = null; + if(StringUtils.isNotBlank(basketBarcode)){ + Container container = containerManager + .getContainerByBarcode(basketBarcode); + if(container == null){ + throw new RuntimeException("未找到条码为" + basketBarcode + "的篮筐"); + } + container.setStatus(Container.CONTAINER_STATUS_STERILIZELOADING); + + basket = getBasketByBarcode(basketBarcode); + if (basket == null) { + basket = new ReviewedBasket(); + basket.setContainer(container); + } } return basket; }