Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r40436 -r40462 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 40436) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 40462) @@ -462,7 +462,7 @@ oldRecyclingAmount = 0; } recyclingItem.setAmount(oldRecyclingAmount + amount); - if(!DatabaseUtil.isPoIdValid(recyclingItem.getId())){ + if(!DatabaseUtil.isPoIdValid(recyclingItem.getId()) && recyclingItem.getAmount() > 0){ objectDao.save(recyclingItem); } if(saveLogForUpdateRecyAmount(oldRecyclingAmount, recyclingItem, updateAmountMap) && StringUtils.isNotBlank(td.getTaskGroup())){ @@ -1805,7 +1805,9 @@ //历史回收记录,或者回收申请单,那设置为已确认 recyclingRecord.setRecycleAmountNeedConfirm(Constants.STR_NO); } - objectDao.saveOrUpdate(recyclingRecord); + if(recyclingContext.isSaveRecyclingRecord()){ + objectDao.saveOrUpdate(recyclingRecord); + } // throw new RuntimeException("测试"); } @@ -2718,6 +2720,7 @@ //都已经归还了,就删除 delete(record); } + recyclingContext.setSaveRecyclingRecord(saveRecyclingRecord); // 广东省中医院外来器械包同步后,要求给平台返回申请单id及回收成功信息 if (syncForeignTousseApplicationDao != null) { if (InvoicePlan.TYPE_FOREIGNTOUSSEAPPLIACTION.equals(application.getType())){ Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java =================================================================== diff -u -r39453 -r40462 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java (.../RecyclingContext.java) (revision 39453) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java (.../RecyclingContext.java) (revision 40462) @@ -197,7 +197,10 @@ * 用于外来器械快速二次回收时保存日志信息 */ private String patientName; - + /** + * 保存回收记录 为false时 会把生成的记录删除掉 删除后 后续的代码如果调用update或者saveorupdate就会报错 + */ + private boolean saveRecyclingRecord; public String getHospitalNum() { return hospitalNum; } @@ -588,5 +591,12 @@ Boolean quickSecondaryRecyclingForgonTousse) { this.quickSecondaryRecyclingForgonTousse = quickSecondaryRecyclingForgonTousse; } - + + public boolean isSaveRecyclingRecord() { + return saveRecyclingRecord; + } + + public void setSaveRecyclingRecord(boolean saveRecyclingRecord) { + this.saveRecyclingRecord = saveRecyclingRecord; + } }