Контроль загрузки оборудования Популярный

Рейтинг 4 (2)
Оценить
★★★★

Посмотреть отзывы!
Скрипт | Исходник | Описание

Функция, проверяющая занятость оборудования на указанном промежутке времени. Данная проверка является необходимой во многих сферах: автосервис, запись в салон красоты, солярий. Функция возвращает сообщение ошибки, понятное пользователю, если сообщение пустое - оборудование свободно.

ALTER              FUNCTION [dbo].[control_obor] (@datnewB datetime,@datnewE datetime,@U int)
RETURNS varchar(500)
AS
BEGIN


Declare @message varchar(500)
Declare @messageA varchar(500)
Declare @I_ID int, @I_name varchar(100),@I_kolb int,@I_kol int
Set @message = ''
Set @messageA = ''


Declare cur CURSOR LOCAL FOR
select UI.ins,I.name,sum(1),max(I.kol) from bronus B with(nolock)
--join usinstr UI On UI.uslugaid = B.usluga and instrumentid in (select instrumentid from usinstr where uslugaid = @U)
--left join instrument I On I.ID = UI.Instrumentid
join bronins UI On UI.zapis = B.ID and UI.Ins in (select instrumentid from usinstr where uslugaid = @U)
left join instrument I On I.ID = UI.Ins
where 1=1
and (B.starttime > @datnewB and B.starttime < @datnewE)
or (B.endtime > @datnewB and B.endtime < @datnewE)
or (@datnewB > B.starttime and @datnewB < B.endtime)
or (@datnewE > B.starttime and @datnewE < B.endtime)
or (@datnewB = B.starttime and @datnewE = B.endtime)
group by UI.ins,I.name

Open cur
Fetch next from cur  into  @I_ID, @I_name,@I_kolb,@I_kol
While @@FETCH_STATUS = 0
Begin

if @I_kolb >= @I_kol
  begin
    Set @messageA = (select [dbo].[control_obor_Instr](@datnewB,@datnewE,@I_ID))
    If @messageA <> ''
      begin
        If @messageA = '-'
          set @messageA=''
Set @message = @message+' - '+@I_name+char(10)+char(13)+@messageA+char(10)+char(13)
      end
  end

Fetch next from cur  into @I_ID, @I_name,@I_kolb,@I_kol
End


If @message <>''
  set @message = 'Следующее оборудование занято:'+char(10)+char(13)+@message

 
RETURN @message
END

    © 2008-2011 Портал практического программирования Delphi T-SQL
Besucherzahler mail order brides
счетчик посещений