Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java =================================================================== diff -u -r19642 -r19986 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 19642) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 19986) @@ -145,6 +145,11 @@ void calculateReturnStatus(InvoicePlan invoicePlan); public void terminateTousseItemByIds(Collection tousseItemIds,String endCase); + + /** + * 终止申请项. + * @param tousseItems 需要终止的申请项集合 + */ public void terminateTousseItems(Collection tousseItems); /** Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r19889 -r19986 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 19889) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 19986) @@ -571,6 +571,11 @@ return materialStr; } + /** + * 给申请追加备注信息. + * @param invoicePlan 申请单对象 + * @param remark 需要追加的备注信息 + */ public static void appendRemarkOfInvoicePlan(InvoicePlan invoicePlan, String remark){ if(invoicePlan == null || StringUtils.isBlank(remark)) return; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r19642 -r19986 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 19642) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 19986) @@ -1904,47 +1904,17 @@ int size = invoicePlans2.size(); if(size > 1){ throw new RuntimeException("tousseItems分别属于多张申请单"); - } - else if (size == 0){ + }else if (size == 0){ logger.debug("没有需要终止的TousseItem"); return; } InvoicePlan invoicePlan = invoicePlans2.iterator().next(); -// SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); -// final String invoiceOrigin = config.getInvoiceOrigin(); -// final boolean afterRecyclingTousseDeliver = config.getAfterRecyclingTousseDeliver(); -// final boolean isBorrowTousse = InvoicePlan.TYPE_BORROWINGSINGLE -// .equals(invoicePlan.getType()); - for(TousseItem tousseItem: tousseItems){ -// int waitDeliverAmount = CssdUtils.getWaitDeliverAmount( -// tousseItem, invoiceOrigin, -// afterRecyclingTousseDeliver, isBorrowTousse, objectDao); + tousseItem.setIsTerminated(true); -// boolean canTerminate; -// switch(invoicePlan.getType()){ -// case InvoicePlan.TYPE_BORROWINGSINGLE: -// // 借物单都能终止 -// canTerminate = true; -// break; -// default: -// // 其他情况只要完全发货就不能终止 -// canTerminate = !(waitDeliverAmount > 0 && tousseItem.getSendOutAmount() >= waitDeliverAmount); -// } -// -// if(canTerminate){ - tousseItem.setIsTerminated(true); - - // 删除关联的装配任务 -// deleteAssociatedPackingTask(invoicePlan.getId(), tousseItem.getTousseDefinitionId()); - deleteAssociatedPackingTask(tousseItem,"终止申请项删除装配任务"); -// }else{ -// JSONObject obj = new JSONObject(); -// obj.put("tousseName", tousseItem.getTousseName()); -// obj.put("case", "已发货不能终止!"); -// terminateFaildArray.add(obj); -// } + // 删除关联的装配任务 + deleteAssociatedPackingTask(tousseItem,"终止申请项删除装配任务"); } computeAndSetStatus(invoicePlan); @@ -2183,11 +2153,6 @@ //用来保存不能终止的器械包名字 List result = new ArrayList<>(); for (TousseItem tousseItem : list) { - //如果isTerminated为true则不让终止 - // if (tousseItem.terminated()){ - // result.add(tousseItem.getTousseName()); - // continue; - // } Integer recyclingAmount = IntegerUtils.parse(tousseItem.getRecyclingAmount()); Integer sendOutAmount = IntegerUtils.parse(tousseItem.getSendOutAmount()); Integer amount = IntegerUtils.parse(tousseItem.getAmount());