Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r30040 -r30054 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 30040) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 30054) @@ -395,6 +395,10 @@ } else { tousseInstance.setStatus(TousseInstance.STATUS_SHIPPED); } + //如果包实例有转换过申请单,则清空对应的申请项id字段 + if(DatabaseUtil.isPoIdValid(tousseInstance.getTousseItemId())){ + tousseInstance.setTousseItemId(null); + } needRollbackStatusTousseInstanceList.add(tousseInstance); }else{ //判断有没有被录入到其它使用记录,如果没有,则状态往前回滚 @@ -1956,6 +1960,10 @@ objectDao.saveOrUpdate(tousseInstance); //清空该器械包实例的丢失报损备注及删除其丢失报损记录 tousseInstance.clearDamageAndErrorRemarkAndData(objectDao); + //如果包实例有转换过申请单,则清空对应的申请项id字段 + if(DatabaseUtil.isPoIdValid(tousseInstance.getTousseItemId())){ + tousseInstance.setTousseItemId(null); + } //不为聚合包时才扣减临床科室库存 if(!tousseInstance.isComboTousse()){ needRollbackStatusTousseInstanceList.add(tousseInstance);