Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r33167 -r33171 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33167) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33171) @@ -1195,17 +1195,18 @@ throw new SystemException("请扫描器械包条码!"); } TousseInstance tousseInstance = (TousseInstance) barcodeDevice; - if(!DatabaseUtil.isPoIdValid(tousseInstance.getProxyDisinfection_id())){ - throw new SystemException("未找到" + tousseInstance.getTousseDefinitionName() + "(条码" + tousseInstance.getBarcode() + ")所属的代理灭菌单"); - } - String sql = " where (po.handleDepartCoding='" + AcegiHelper.getLoginUser().getCurrentOrgUnitCode() - + "' or (po.departCoding = '" + AcegiHelper.getLoginUser().getCurrentOrgUnitCode() + "' and po.isConvertPackingRecord = '" + Constants.STR_YES + "')) " - + " and po.id = " + tousseInstance.getProxyDisinfection_id(); - ProxyDisinfection proxyDisinfection = (ProxyDisinfection) this.objectDao.getBySql(ProxyDisinfection.class.getSimpleName(), sql); + ProxyDisinfection proxyDisinfection = this.get(tousseInstance.getProxyDisinfection_id()); if(proxyDisinfection == null){ throw new SystemException("未找到" + tousseInstance.getTousseDefinitionName() + "(条码" + tousseInstance.getBarcode() + ")所属的代理灭菌单"); } - return proxyDisinfection; + if(StringUtils.equals(proxyDisinfection.getHandleDepartCoding(), AcegiHelper.getLoginUser().getCurrentOrgUnitCode()) + || (StringUtils.equals(proxyDisinfection.getDepartCoding(), AcegiHelper.getLoginUser().getCurrentOrgUnitCode()) + && StringUtils.equals(proxyDisinfection.getIsConvertPackingRecord(), Constants.STR_YES))){ + return proxyDisinfection; + }else{ + throw new SystemException(tousseInstance.getTousseDefinitionName() + "(条码" + tousseInstance.getBarcode() + ")所属的代理灭菌单不存在于当前科室"); + } + } @Override