Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java =================================================================== diff -u -r34025 -r34425 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 34025) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 34425) @@ -7494,7 +7494,6 @@ Map>> invoicePlanToTousseItemMapListMap , Map> allForeignTousseAppIdToNotSentForeignTousseInstanceListMap){ Map idToAmountMap = new HashMap(); - List cleanTousseItems = new ArrayList(); invoicePlanToTousseItemMapListMap.entrySet().stream().forEach(entry -> { InvoicePlan invoicePlan = entry.getKey(); List> list = entry.getValue(); @@ -7529,36 +7528,21 @@ } //如果是外来器械拆分小包,则同一个申请项对应装配拆分出来的不管多少个包数量都只算作1 idToAmountMap.put(tousseItem.getId(), amount); - if(tousseItem.getUrgentAmount() > 0 && amount >= tousseItem.getUrgentAmount()){ - cleanTousseItems.add(tousseItem); - } }else if(value instanceof Map){ Map identiToAmountMap = (Map)value; - Integer amount3 = identiToAmountMap.values().stream().reduce((amount1,amount2) -> { + idToAmountMap.put(tousseItem.getId(), identiToAmountMap.values().stream().reduce((amount1,amount2) -> { return MathTools.add(amount1 , amount2).intValue(); - }).orElse(0); - idToAmountMap.put(tousseItem.getId(), amount3); - if(tousseItem.getUrgentAmount() > 0 && amount3 != null && amount3 >= tousseItem.getUrgentAmount()){ - cleanTousseItems.add(tousseItem); - } + }).orElse(0) + ); } }); }); }); batchExcuteUpdateTousseItem(idToAmountMap); - batchExcuteUpdateRecyclingItem(cleanTousseItems); } /** * 批量执行申请项的发货数量等有关字段的更新 - */ - private void batchExcuteUpdateRecyclingItem(List cleanTousseItems){ - for (TousseItem cleanTousseItem : cleanTousseItems) { - updateRecyclingItemUrgentInfo(cleanTousseItem); - } - } - /** - * 批量执行申请项的发货数量等有关字段的更新 * @param idToAmountMap key为申请项id,value为本次的发货数量(非更新的发货数量) */ private void batchExcuteUpdateTousseItem(Map idToAmountMap){ @@ -8764,14 +8748,11 @@ //批量更新TousseItem,InvoicePlan表数据 List invoicePlanIdList = new ArrayList(); Map tousseItemIdToAmountMap = new HashMap(); - List cleanTousseItems = new ArrayList(); for(Entry> entry : tousseItemToSubTousseInstanceListMap.entrySet()){ TousseItem tousseItem = entry.getKey(); List subTiList = entry.getValue(); tousseItemIdToAmountMap.put(tousseItem.getId() , subTiList.size()); - if(tousseItem.getUrgentAmount() > 0 && subTiList.size() >= tousseItem.getUrgentAmount()){ - cleanTousseItems.add(tousseItem); - } + Long ipId = tousseItem.getInvoicePlan().getId(); if(!invoicePlanIdList.contains(ipId)){ invoicePlanIdList.add(ipId); @@ -8797,7 +8778,6 @@ } batchExcuteUpdateTousseItem(tousseItemIdToAmountMap); - batchExcuteUpdateRecyclingItem(cleanTousseItems); batchUpdateInvoicePlanTableData(invoicePlanIdList,currentDateTime,invoiceOrigin,tousseDeliverOccasion); //批量新增invoice_InvoicePlan记录 Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r34422 -r34425 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 34422) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 34425) @@ -100,8 +100,6 @@ import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; import com.forgon.disinfectsystem.entity.printinvoiceconfig.PrintInvoiceConfig; import com.forgon.disinfectsystem.entity.recyclingapplication.RecyclingApplication; -import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingItem; -import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyDisinfection; import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyItem; @@ -2190,7 +2188,6 @@ if(actualSendAmount >= urgentAmount){ applicationItem.setUrgentAmount(0); applicationItem.setUrgent(Constants.STR_NO);// 修改紧急状态 - updateRecyclingItemUrgentInfo(applicationItem); if(CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction", false) && invoicePlan != null){//紧急物品完全发货时,重新计算申请单的紧急情况 UrgentLevel urgentLevel = urgentLevelManager.getMostUrgentByItemsList(invoicePlan.getApplicationItems()); invoicePlan.setUrgentLevel(urgentLevel); @@ -8194,7 +8191,6 @@ if(submitInvoiceContext.isSendOnlyUrgentGoods()){ item.setUrgentAmount(0);// 修改紧急数量 item.setUrgent(Constants.STR_NO);// 修改紧急状态 - updateRecyclingItemUrgentInfo(item); } }else{ invoicePlan.setDeliverStatus(InvoicePlan.DELIVERSTATUS_PARTDELIVERED); @@ -8205,7 +8201,6 @@ if(submitInvoiceContext.isSendOnlyUrgentGoods()){ item.setUrgentAmount(0);// 修改紧急数量 item.setUrgent(Constants.STR_NO);// 修改紧急状态 - updateRecyclingItemUrgentInfo(item); } // 最后一起验证 if(!verifyPartInvoiceImmediately){ @@ -8261,7 +8256,6 @@ if(submitInvoiceContext.isSendOnlyUrgentGoods()){ item.setUrgentAmount(0);// 修改紧急数量 item.setUrgent(Constants.STR_NO);// 修改紧急状态 - updateRecyclingItemUrgentInfo(item); } }else{ partDelivered = true; @@ -8705,7 +8699,6 @@ if(actualSendAmount >= urgentAmount){ applicationItem.setUrgentAmount(0); applicationItem.setUrgent(Constants.STR_NO);// 修改紧急状态 - updateRecyclingItemUrgentInfo(applicationItem); if(CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction", false) && invoicePlan != null){//紧急物品完全发货时,重新计算申请单的紧急情况 UrgentLevel urgentLevel = urgentLevelManager.getMostUrgentByItemsList(invoicePlan.getApplicationItems()); invoicePlan.setUrgentLevel(urgentLevel); @@ -8718,20 +8711,6 @@ // sendOutGoods.put(applicationGoodsName, scannedAmount); sendOutGoodsTdIdToAmountMap.put(ancestorId, scannedAmount); } - /** - * 清空回收项的加急信息 - * @param cleanTousseItem - */ - protected void updateRecyclingItemUrgentInfo(TousseItem cleanTousseItem){ - String sql = "update "+ RecyclingItem.class.getSimpleName() +" set urgentLevel=null,urgentAmount=0 " - + "where recyclingRecord_id in( select id from " - + RecyclingRecord.class.getSimpleName() - +" where recyclingApplication_id="+ - cleanTousseItem.getInvoicePlan().getId() - +") and tousseDefinitionId=" - + cleanTousseItem.getTousseDefinitionId(); - objectDao.excuteSQL(sql); - } private Set getAvaliableInvoiceItemForOperationReservationAppliaction(InvoicePlan invoicePlan, SubmitInvoiceContext submitInvoiceContext) { Set invoiceItemSet = new HashSet();