Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r29856 -r29865 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 29856) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 29865) @@ -2489,7 +2489,7 @@ } thisBasketItems.add(thisVo); }else{ - if(thisTousseItemVo.getLastTousseInstanceId() != null && basketItem.getLastTousseInstanceId() != null && thisTousseItemVo.getLastTousseInstanceId().longValue() != basketItem.getLastTousseInstanceId().longValue()){ + if(DatabaseUtil.isPoIdValid(thisTousseItemVo.getLastTousseInstanceId()) && DatabaseUtil.isPoIdValid(basketItem.getLastTousseInstanceId()) && thisTousseItemVo.getLastTousseInstanceId().longValue() != basketItem.getLastTousseInstanceId().longValue()){ continue; } if(basketItem.getAmount() == null || basketItem.getAmount().intValue() == 0){ @@ -4270,6 +4270,13 @@ //设置申请单状态 if(!isForeignTousseApplication){ invoicePlanManager.computeAndSetStatus(application); + if(DatabaseUtil.isPoIdValid(application.getId()) && InvoicePlan.TYPE_APPLYING_FOR_RETURN_FORM.equals(application.getType())){ + InvoicePlan ip = (InvoicePlan)objectDao.getById(InvoicePlan.class.getSimpleName(), application.getId()); + if(ip != null && StringUtils.isNotBlank(application.getRecyclingStatus()) && !application.getRecyclingStatus().equals(ip.getRecyclingStatus())){ + ip.setRecyclingStatus(application.getRecyclingStatus()); + ip.setRecyclingTime(application.getRecyclingTime()); + } + } //手术室使用记录转换的申请单是否需要发货 if(application instanceof RecyclingApplication){ boolean needInvoice = recyclingApplicationManager.isUseRecord2ApplicationNeedInvoice((RecyclingApplication)application); @@ -4810,7 +4817,12 @@ } invoicePlanManager.computeAndSetStatus(borrowApplication); - + if(DatabaseUtil.isPoIdValid(borrowApplication.getId()) && InvoicePlan.TYPE_BORROWINGSINGLE.equals(borrowApplication.getType())){ + InvoicePlan ip = (InvoicePlan)objectDao.getById(InvoicePlan.class.getSimpleName(), borrowApplication.getId()); + if(ip != null && StringUtils.isNotBlank(borrowApplication.getReturnStatus()) && !borrowApplication.getReturnStatus().equals(ip.getReturnStatus())){ + ip.setReturnStatus(borrowApplication.getReturnStatus()); + } + } } }