Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r36719 -r37546 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 36719) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 37546) @@ -234,7 +234,7 @@ String barcodeSearch = sqlWhereParamMap.get("barcodeSearch"); //条码集合(用户启用多次扫描模式并且不是第一次扫描条码时才有值,此时要按照此条码集合查询) String barcodes = sqlWhereParamMap.get("barcodes"); - if(StringUtils.isNotBlank(barcodeSearch)){ + if(StringUtils.isNotBlank(barcodeSearch) && !StringUtils.equals("null", barcodeSearch)){ //根据条码获取BarcodeDevice BarcodeDevice barcodeDevice = barcodeManager.getBarcodeByBarcode(barcodeSearch); //1、若无此条码 2、用户没启用多次扫描模式,或者是启用了而且是第一次扫描 @@ -436,15 +436,24 @@ } //过滤条件: selectall为true则为查看所有科室器械包实体信息 - LoginUserData userData = AcegiHelper.getLoginUser(); - String currentOrgUnitCode = userData.getCurrentOrgUnitCode(); boolean isSelectAll = StringUtils.isNotBlank(sqlWhereParamMap.get("selectall")); if (!isSelectAll) { + String currentOrgUnitCode = null; + String orgUnitCodingFromSupplyRoomConfig = null; + LoginUserData userData = AcegiHelper.getLoginUser(); + if(userData != null){ + currentOrgUnitCode = userData.getCurrentOrgUnitCode(); + orgUnitCodingFromSupplyRoomConfig = userData.getOrgUnitCodingFromSupplyRoomConfig(); + } + if(StringUtils.isBlank(currentOrgUnitCode)){ + currentOrgUnitCode = sqlWhereParamMap.get("deptCode"); + orgUnitCodingFromSupplyRoomConfig = currentOrgUnitCode; + } if(StringUtils.isNotBlank(currentOrgUnitCode)){ String warehousePredicate = String.format("select id from %s where orgUnitCode = '%s' ", WareHouse.class.getSimpleName(),currentOrgUnitCode); sqlBuilder.append(String.format(" AND (po.orgUnitCoding = '%s' OR po.location='%s' OR po.wareHouseId in (%s))", - AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(),currentOrgUnitCode,warehousePredicate)); + orgUnitCodingFromSupplyRoomConfig,currentOrgUnitCode,warehousePredicate)); }else{ sqlBuilder.append(String.format(" AND 1=0 ")); }