Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java =================================================================== diff -u -r30937 -r31164 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 30937) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 31164) @@ -978,46 +978,49 @@ return; } Container container = newContainer(idCardDefinition); - objectDao.save(container); - idCardDefinition.setContainerBarcode(container.getBarcode()); - idCardDefinition.setContainerId(container.getId()); - objectDao.saveOrUpdate(idCardDefinition); + //发现有些项目的标识牌定义对应的器械包定义为空,所以不会有对应的清洗篮筐 + if(container != null){ + objectDao.save(container); + idCardDefinition.setContainerBarcode(container.getBarcode()); + idCardDefinition.setContainerId(container.getId()); + objectDao.saveOrUpdate(idCardDefinition); + } } @Override public Container newContainer(IDCardDefinition idCardDefinition) { - Container container = new Container(); - container.setType(BarcodeDevice.BARCODE_TYPE_CONTAINER); - // 设置条码 - String barcode = container.getBarcode(); - if (StringUtils.isBlank(container.getBarcode())) { - barcode = serialNumManager - .getSerialNumberStr(SerialNum.TYPE_BARCODE); - container.setBarcode(barcode); - } - container.setIdCardDefinitionId(idCardDefinition.getId()); - container.setPurpose(Container.CONTAINER_PURPOSE_CLEAN_BASKET); - container.setContainerType(Container.CONTAINERTYPE_BASKET); + Container container = null; TousseDefinition tousseDefinition = idCardDefinition.getTousseDefinition(objectDao); - String tousseName = ""; if(tousseDefinition != null){ - tousseName = tousseDefinition.getName(); + container = new Container(); + container.setType(BarcodeDevice.BARCODE_TYPE_CONTAINER); + // 设置条码 + String barcode = container.getBarcode(); + if (StringUtils.isBlank(container.getBarcode())) { + barcode = serialNumManager + .getSerialNumberStr(SerialNum.TYPE_BARCODE); + container.setBarcode(barcode); + } + container.setIdCardDefinitionId(idCardDefinition.getId()); + container.setPurpose(Container.CONTAINER_PURPOSE_CLEAN_BASKET); + container.setContainerType(Container.CONTAINERTYPE_BASKET); + String tousseName = tousseDefinition.getName(); + container.setContainerName(String.format("%s(标识牌%s)", tousseName,idCardDefinition.getId())); + SupplyRoomConfig supplyRoom = supplyRoomConfigManager + .getFirstSupplyRoomConfig(); + // 篮筐的科室优先设置为器械包定义的“优先处理科室”(NYSY-26 凡是二级供应室的器械只能显示在二级供应室的清洗消毒功能列表中,不能显示在一级供应室的清洗消毒功能列表里面) + String handlerDepartCode = tousseDefinition.getHandlerDepartCode(); + String where = " from " + SupplyRoomConfig.class.getSimpleName() + " po where po.orgUnitCoding = '" + handlerDepartCode + "' and po.supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + ", " + + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")"; + @SuppressWarnings("unchecked") + List list = objectDao.findByHql(where, 0, 1); + if(CollectionUtils.isNotEmpty(list)){ + supplyRoom = list.get(0); + } + if (supplyRoom != null) { + container.setDepartCode(supplyRoom.getOrgUnitCoding()); + container.setDepartName(supplyRoom.getOrgUnitName()); + } } - container.setContainerName(String.format("%s(标识牌%s)", tousseName,idCardDefinition.getId())); - SupplyRoomConfig supplyRoom = supplyRoomConfigManager - .getFirstSupplyRoomConfig(); - // 篮筐的科室优先设置为器械包定义的“优先处理科室”(NYSY-26 凡是二级供应室的器械只能显示在二级供应室的清洗消毒功能列表中,不能显示在一级供应室的清洗消毒功能列表里面) - String handlerDepartCode = tousseDefinition.getHandlerDepartCode(); - String where = " from " + SupplyRoomConfig.class.getSimpleName() + " po where po.orgUnitCoding = '" + handlerDepartCode + "' and po.supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + ", " - + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")"; - @SuppressWarnings("unchecked") - List list = objectDao.findByHql(where, 0, 1); - if(CollectionUtils.isNotEmpty(list)){ - supplyRoom = list.get(0); - } - if (supplyRoom != null) { - container.setDepartCode(supplyRoom.getOrgUnitCoding()); - container.setDepartName(supplyRoom.getOrgUnitName()); - } return container; }