Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r14206 -r14219 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 14206) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 14219) @@ -159,6 +159,23 @@ //更新器械包库存 List goodsStockList = new ArrayList(); for(TousseInstance tousseInstance : outdateTousseInstanceList){ + tousseInstance.setWasteReason("失效期过期定时废弃处理"); + tousseInstance.setWasteDate(new Date()); + tousseInstance.setStatus(TousseInstance.STATUS_DISCARD); + + //状态为已装配或已审核的器械包实例将不扣减库存,包实例关联的篮筐实例属性清空 + if(TousseInstance.STATUS_PACKED.equals(tousseInstance.getStatus()) || TousseInstance.STATUS_REVIEWED.equals(tousseInstance.getStatus())){ + tousseInstance.setReviewBasket_id(null); + objectDao.saveOrUpdate(tousseInstance); + continue; + }else { + //所在位置,所属仓库等属性也清空 + tousseInstance.setLocation(null); + tousseInstance.setLocationForDisplay(null); + tousseInstance.setWareHouseId(null); + tousseInstance.setWareHouseName(null); + objectDao.saveOrUpdate(tousseInstance); + } GoodsStock goodsStock = new GoodsStock(); goodsStock.setAmount(1); goodsStock.setGoodsType(GoodsStock.TYPE_TOUSSE); @@ -194,16 +211,16 @@ tousseInstance.setWareHouseId(null); tousseInstance.setWareHouseName(null); - //如果状态为已装配、已审核,则包实例关联的篮筐实例属性清空 + //如果状态为已装配、已审核,则包实例关联的篮筐实例属性清空,器械包实例将不扣减库存 if(TousseInstance.STATUS_PACKED.equals(tousseInstance.getStatus()) || TousseInstance.STATUS_REVIEWED.equals(tousseInstance.getStatus())){ tousseInstance.setReviewBasket_id(null); + }else{ + //更新器械包库存 + List goodsStockList = new ArrayList(); + goodsStockList.add(goodsStock); + goodsStockManager.saveOrUpdateGoodsStock(goodsStockList, GoodsStockManager.MODE_OUTSTOCK); } objectDao.saveOrUpdate(tousseInstance); - - //更新器械包库存 - List goodsStockList = new ArrayList(); - goodsStockList.add(goodsStock); - goodsStockManager.saveOrUpdateGoodsStock(goodsStockList, GoodsStockManager.MODE_OUTSTOCK); } public void discardTousseInstance(TousseInstance tousseInstance,