Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.js =================================================================== diff -u -r31863 -r32639 --- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.js (.../foreignTousseApplicationView.js) (revision 31863) +++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.js (.../foreignTousseApplicationView.js) (revision 32639) @@ -112,15 +112,19 @@ var color = ""; var fontColor = ""; if(packageStatus == '已归还'){ - color = '#fff';//白色 + if(recyclingStatus == '已提前归还'){ + color = '#ffa500';//橙色 + }else{ + color = '#fff';//白色 + } }else { if(recyclingStatus == '已终止'){ color = "red"; fontColor = '#fff'; }else if(recyclingStatus == '待回收'){ color = '#a52a2a';//棕色 fontColor = '#fff'; - }else if(recyclingStatus == '二次回收'){ + }else if(recyclingStatus == '二次回收' || recyclingStatus == '已提前归还'){ color = '#ffa500';//橙色 } } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r32564 -r32639 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 32564) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 32639) @@ -1446,6 +1446,15 @@ if(task != null && task.getUnPackAmount() > 0){ packingManager.delete(task,ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN); } + }else if(TousseInstance.STATUS_USED.equals(oldStatus)){ + //DGSETYY-19 外来器械提前归还 回收状态变为已提前归还 + foreignTousseApplication.setRecyclingStatus(InvoicePlan.RECYCLINGSTATUS_RETURNEDINADVANCE); + //删除对应的装配任务。由于invoicePlanManager.terminateInvoicePlan方法没有删除外来器械对应的装配任务,所以此处再处理一下 + PackingTask task = packingManager.getForeignToussePackingTask(foreignTousseApplication.getId()); + if(task != null && task.getUnPackAmount() > 0){ + packingManager.delete(task,ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN); + } + objectDao.saveOrUpdate(foreignTousseApplication); } } } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r32626 -r32639 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 32626) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 32639) @@ -3402,7 +3402,7 @@ List applicationItems = invoicePlan.getApplicationItems(); terminateTousseItems(applicationItems); - setInvoicePlanToTerminateStatus(invoicePlan);// 某些情况下,计算状态的方法有问题 + setInvoicePlanToTerminateStatus(invoicePlan, endCause);// 某些情况下,计算状态的方法有问题 objectDao.saveOrUpdate(invoicePlan); applicationLogManager.saveApplicationLog(invoicePlan, "申请单被终止,原因如下:" + endCause, ApplicationLogStatusEnum.TERMINATE); // 单上的物品被全部终止或者部分终止:将被终止的物品的总金额,写入负数到中间表(GDSZYY-57 科研项目耗材申领(一次性物品申领)功能开发) @@ -3429,8 +3429,11 @@ /** * 整张单终止时直接设置为终止状态 */ - private void setInvoicePlanToTerminateStatus(InvoicePlan invoicePlan){ - if(StringUtils.isBlank(invoicePlan.getRecyclingStatus())){ + private void setInvoicePlanToTerminateStatus(InvoicePlan invoicePlan, String endCase){ + if(ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN.equals(endCase)){ + //DGSETYY-19 外来器械提前归还 回收状态变为已提前归还 + invoicePlan.setRecyclingStatus(InvoicePlan.RECYCLINGSTATUS_RETURNEDINADVANCE); + }else if(StringUtils.isBlank(invoicePlan.getRecyclingStatus())){ invoicePlan.setRecyclingStatus(InvoicePlan.STATUS_END); } if(StringUtils.isBlank(invoicePlan.getDeliverStatus())){