Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r14230 -r14238 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 14230) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 14238) @@ -2652,7 +2652,7 @@ TousseInstanceManagerImpl .isNotExpire(new Date()), tousseInstanceManager - .checkTousseInstanceHasNotRecall())); + .checkTousseInstanceHasNotRecall(),tousseInstanceManager.checkTousseInstanceNotInWarningPeriod())); return tousseInstanceList; } // 根据固定条码获取能发货的外部代理灭菌包实例 @@ -2778,8 +2778,7 @@ } // 不追溯的器械包(除消毒物品外),发货扫描固定条码,返回多个器械包 - if (TousseDefinition.STR_NO.equals(tousseDefinition - .getIsTraceable())) { + if (!tousseDefinition.traceable()) { // 非可追溯器械包,返回多个器械包实例 Collection resultTousseInstanceList = getCanInvoiceTousseInstancesByFixedTousseInstance(tousseInstance); @@ -2788,16 +2787,16 @@ return buildErrorMsgJsonResult("该物品库存不足"); JsonObject result = new JsonObject(); - tousseInstance.setStockForFixedBarcode(new Long(resultTousseInstanceList.size())); - result.addProperty("success", true); - result.addProperty("barcode", barcode); - result.addProperty("type", "tousseInstance"); - result.add("data", buildJSONObjectForTousseInstance(tousseInstance)); -// result.addProperty("type", "tousseInstanceList"); -// result.add("fixedBarcodeInfo", getFixedBarcodeInfo(tousseInstance, resultTousseInstanceList)); -// result.add( -// "data", -// buildJSONArrayForTousseInstances(resultTousseInstanceList)); + tousseInstance.setStockForFixedBarcode(new Long(resultTousseInstanceList.size())); + result.addProperty("success", true); + result.addProperty("barcode", barcode); + result.addProperty("type", "tousseInstance"); + result.add("data", buildJSONObjectForTousseInstance(tousseInstance)); + // result.addProperty("type", "tousseInstanceList"); + // result.add("fixedBarcodeInfo", getFixedBarcodeInfo(tousseInstance, resultTousseInstanceList)); + // result.add( + // "data", + // buildJSONArrayForTousseInstances(resultTousseInstanceList)); return result; } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r14205 -r14238 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 14205) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 14238) @@ -111,8 +111,15 @@ public boolean deleteAllExpiredTousseGoods(String orgUnitCoding,String warningType,String reason,String userName); public List getTousseInstanceByBasket(String barcode); - + /** + * 验证器械包是否被召回 + */ public Predicate checkTousseInstanceHasNotRecall(); + /** + * 验证器械包是否在预警期内。如果在预警期内,并且配置为预警期内不发货,那么返回false,否则返回true + * @return + */ + public Predicate checkTousseInstanceNotInWarningPeriod(); public void updateTousseValidUntil(String sql); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r14223 -r14238 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 14223) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 14238) @@ -1046,7 +1046,9 @@ } - // 根据虚拟的器械包实例,按条件查找对应的多个器械包实例 + /** + * 根据虚拟的器械包实例,按条件查找对应的多个器械包实例 + */ @Override public Collection getUnTraceableTousseInstanceListByFictitiousTousseDefinition( TousseDefinition tousseDefinition, Collection sqlWheres, Predicate predicate) { @@ -1148,7 +1150,7 @@ @Override public Predicate checkTousseInstanceHasNotRecall() { - // 验证器械包是否被召回 + return new Predicate() { @Override public boolean evaluate(TousseInstance tousseInstance) { @@ -1160,6 +1162,22 @@ } }; } + + public Predicate checkTousseInstanceNotInWarningPeriod(){ + return new Predicate() { + @Override + public boolean evaluate(TousseInstance tousseInstance) { + if(supplyRoomConfigManager.getSystemParamsObj().getWarningTousseWhetherDelivery()){ + return true; + } + if (DateTools.isDuringWarningPeriod(tousseInstance.getValidUntil(), tousseInstance.getWarningUntil(), + new Date())) + return false; + else + return true; + } + }; + } @Override public void updateTousseValidUntil(String sql) {