declare cssdCode varchar(100); cssdName varchar(100); begin select orgUnitCoding into cssdCode from SupplyRoomConfig where supplyRoomType='1'; select orgUnitName into cssdName from SupplyRoomConfig where supplyRoomType='1'; if cssdCode is null then begin dbms_output.put_line('未配置一级供应室,请先配置一级供应室'); end; else begin dbms_output.put_line('一级供应室编码='||cssdCode||',名称='||cssdName); insert into CssdHandleTousses (id, orgUnitCode ,orgUnitName ,tousseDefinitionId ,tousseName ) select HIBERNATE_SEQUENCE.Nextval, cssdCode,cssdName,td.id,td.name from TousseDefinition td where td.forDisplay='1' and td.id not in (select tousseDefinitionId from CssdHandleTousses); insert into CssdServiceDepts(id,clinicOrgUnitCode ,clinicOrgUnitId ,clinicOrgUnitName ,cssdOrgUnitCode ,cssdOrgUnitName ,tousseType) select HIBERNATE_SEQUENCE.Nextval,ou.orgUnitCoding,ou.id,ou.name,cssdCode,cssdName,'器械包' from OrgUnit ou where ou.orgUnitCoding in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in ('3','4')) and ou.orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where tousseType='器械包'); insert into CssdServiceDepts(id,clinicOrgUnitCode ,clinicOrgUnitId ,clinicOrgUnitName ,cssdOrgUnitCode ,cssdOrgUnitName ,tousseType) select HIBERNATE_SEQUENCE.Nextval,ou.orgUnitCoding,ou.id,ou.name,cssdCode,cssdName,'一次性物品' from OrgUnit ou where ou.orgUnitCoding in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in ('3','4')) and ou.orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where tousseType='一次性物品'); dbms_output.put_line('执行成功'); commit; end; end if; end;