Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r35505 -r35506 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 35505) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 35506) @@ -3380,19 +3380,29 @@ } } + //器械包实例条码,如果扫描的器械包实例或标识牌实例条码,则需要返回相应的器械包实例条码(QYSRMYY-54) + String tousseInstanceBarcode = null; TousseDefinition tousseDefinition = null; if(barcodeDevice instanceof IDCardInstance){ //标识牌条码 - IDCardInstance IDCardInstance = (IDCardInstance) barcodeDevice; - IDCardDefinition IDCardDefinition = IDCardInstance.getIDCardDefinition(objectDao); + IDCardInstance idCardInstance = (IDCardInstance) barcodeDevice; + IDCardDefinition IDCardDefinition = idCardInstance.getIDCardDefinition(objectDao); if(IDCardDefinition != null){ Long tousseDefinitonId = IDCardDefinition.getTousseDefinitionID(); tousseDefinition = tousseDefinitionManager.get(tousseDefinitonId); } + Long lastTousseInstanceId = idCardInstance.getLastTousseInstanceId(); + if(DatabaseUtil.isPoIdValid(lastTousseInstanceId)){ + TousseInstance tousseInstance = tousseInstanceManager.get(lastTousseInstanceId); + if(tousseInstance != null){ + tousseInstanceBarcode = tousseInstance.getBarcode(); + } + } }else if(barcodeDevice instanceof TousseInstance){ //包实例条码/固定条码 TousseInstance tousseInstance = (TousseInstance) barcodeDevice; tousseDefinition = tousseInstance.getTousseDefinition(); + tousseInstanceBarcode = tousseInstance.getBarcode(); }else{ throw new SystemException(errorBarcodeMessage); } @@ -3484,7 +3494,7 @@ }else{ throw new SystemException("【" + invoicePlan.getType() + "】不允许添加新的物品,只能回收申请单中的物品!"); } - return buildTousseDefinitionJson(tousseDefinition); + return buildTousseDefinitionJson(tousseDefinition,tousseInstanceBarcode); } } @@ -3501,13 +3511,17 @@ /** * {success:true,type:"器械包",data:{tousseName:"器械包名称",defineId:"包定义id",type:"器械包" * ,applyEntireTousse:"是否整包申请",materialInstancesJsonArray:"材料清单json"} - * @param tousseDefinition + * @param tousseDefinition 器械包定义 + * @param tousseInstanceBarcode 包实例条码 * @return */ - private JSONObject buildTousseDefinitionJson(TousseDefinition tousseDefinition) { + private JSONObject buildTousseDefinitionJson(TousseDefinition tousseDefinition,String tousseInstanceBarcode) { JSONObject result = JSONUtil.buildJsonObject(true); result.put("type", BarcodeDevice.BARCODE_TYPE_PACKAGE); JSONObject data = new JSONObject(); + if(StringUtils.isNotBlank(tousseInstanceBarcode)){ + data.put("barcode", tousseInstanceBarcode); + } data.put("tousseName", tousseDefinition.getName()); data.put("defineId", tousseDefinition.getId()); data.put("type", tousseDefinition.getTousseType());