Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r35227 -r35254 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 35227) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 35254) @@ -3205,7 +3205,10 @@ case Invoice.TYPE_OPERATION_RESERVATION_MERGE: return submitInvoiceForOperationReservation(params); case Invoice.TYPE_CUSTOM: - return submitInvoiceForCustom(params); + SubmitInvoiceContext submitInvoiceContext = submitInvoiceForCustom(params); + //添加标识牌实例的器械实例发货数据SSTS-584(自定义发货的包,包内的器械实例的已使用次数没有增加的问题) + addIdCardInstanceInstrumentInstanceInvoiceData(submitInvoiceContext); + return submitInvoiceContext; } //校验是否符合科研项目发货条件(该业务方法仅用于广东省中医院,前提是有开启科室研目配置项.中山眼科中心的科室项目接口的配置不同,不适用于此业务) validateProjectBeforeSubmitInvoice(params); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r35248 -r35254 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 35248) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 35254) @@ -7897,6 +7897,8 @@ } //灭菌程序对应灭菌方式的map Map sterilingTypeToSterilingModeMap = new HashMap(); + boolean enableInstrumentLifeCycleTraceabilityManagement = + ConfigUtils.getSystemSetConfigByNameBool("enableInstrumentLifeCycleTraceabilityManagement"); for (int i = 0; i < packAmount; i++) { TousseInstance tousseInstance = new TousseInstance(); @@ -8027,7 +8029,18 @@ idCardDefinitionIdNumber = idCardDefinition.getIdNumber(); idCardDefinitionDescription = idCardDefinition.getDescription(); } - + Long packignRecordId = null; + if(packingRecord != null){ + List packingRecordIdList = new ArrayList(); + packignRecordId = packingRecord.getId(); + packingRecordIdList.add(packignRecordId); + IDCardInstance idCardInstance = idCardInstanceManager.getIDCardInstanceByID(idCardInstanceId); + if(enableInstrumentLifeCycleTraceabilityManagement && idCardInstance != null){ + List addIdCardInstanceList = new ArrayList(); + addIdCardInstanceList.add(idCardInstance); + instrumentInstanceManager.addOrRemoveInstrumentInstanceBusinessData(InstrumentInstanceManager.operateTypeEnum.ADD, PackingRecord.class, packignRecordId, addIdCardInstanceList, null); + } + } break; } }