Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r40574 -r40592 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 40574) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 40592) @@ -10131,15 +10131,29 @@ } if (bd != null) { //检测器械包所属科室是否与当前用户所在科室为物品共用科室 - - if (bd instanceof TousseInstance) { - TousseInstance ti = (TousseInstance) bd; - + TousseInstance ti = null; + IDCardInstance idCardInstance = null; + //ZSWY-268 【患者使用记录】新增支持扫描标识牌条码录入使用记录功能 + boolean enableScanIdCardBarcodeToAddTousses = CssdUtils.getSystemSetConfigByNameBool("enableScanIdCardBarcodeToAddTousses", false); + if(enableScanIdCardBarcodeToAddTousses && bd instanceof IDCardInstance){ + idCardInstance = (IDCardInstance) bd; + if(DatabaseUtil.isPoIdValid(idCardInstance.getLastTousseInstanceId())){ + ti = tousseInstanceManager.get(idCardInstance.getLastTousseInstanceId()); + } + } + if (bd instanceof TousseInstance || ti != null) { + if(ti == null && bd instanceof TousseInstance){ + ti = (TousseInstance) bd; + } try { //判断包实例是否可以登记使用记录 this.canRegisterUseRecord(ti, currentOrgUnitCode, useInterfere, useRecordId); } catch (Exception e) { - obj.put(JSONUtil.JSON_KEY_MESSAGE, e.getMessage()); + if(idCardInstance != null){ + obj.put(JSONUtil.JSON_KEY_MESSAGE, e.getMessage().replace(ti.getBarcode(), idCardInstance.getBarcode())); + }else{ + obj.put(JSONUtil.JSON_KEY_MESSAGE, e.getMessage()); + } return obj; } @@ -10238,7 +10252,7 @@ } } }else{ - obj.put(JSONUtil.JSON_KEY_MESSAGE, ti.getTousseDefinitionName() + ti.getBarcode() + "所属科室为" + lastLocationForDisplayOfTi + ",未配置与当前科室共用,不能录入使用记录!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, ti.getTousseDefinitionName() + (idCardInstance == null?ti.getBarcode():idCardInstance.getBarcode()) + "所属科室为" + lastLocationForDisplayOfTi + ",未配置与当前科室共用,不能录入使用记录!"); return obj; } }else{ @@ -10305,7 +10319,7 @@ } } }else{ - obj.put(JSONUtil.JSON_KEY_MESSAGE, ti.getTousseDefinitionName() + ti.getBarcode() + "所属科室为" + lastLocationForDisplayOfTi + ",不能录入使用记录!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, ti.getTousseDefinitionName() + (idCardInstance == null?ti.getBarcode():idCardInstance.getBarcode()) + "所属科室为" + lastLocationForDisplayOfTi + ",不能录入使用记录!"); return obj; } }