Входные параметры
Параметр | Тип | Описание |
---|---|---|
AOWNERID |
INTEGER |
|
ATRANSPORTNUMBER |
VARCHAR(10) |
|
ASTATIONID |
INTEGER |
|
ACROPID |
INTEGER |
|
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
OWNERNAME |
VARCHAR(30) |
|
PROVIDERNAME |
VARCHAR(30) |
|
TRANSPORTNUMBER |
VARCHAR(31) |
|
SAMPLEROUTDATE |
DATE |
|
STATIONFULLNAME |
VARCHAR(128) |
|
CROPFULLNAME |
VARCHAR(150) |
|
DEVIATIONTYPENAME |
VARCHAR(50) |
|
DEVIATIONDATETIME |
TIMESTAMP |
|
DEVIATIONSTATE |
SMALLINT |
|
INVOICEID |
INTEGER |
|
DEVIATIONTYPEID |
INTEGER |
|
DISPATCHPRESENCE |
SMALLINT |
|
Описание
(Нет описания для процедуры DEVIATION_ALL)
Определение
CREATE PROCEDURE DEVIATION_ALL(
AOWNERID INTEGER,
ATRANSPORTNUMBER VARCHAR(10),
ASTATIONID INTEGER,
ACROPID INTEGER)
RETURNS (
OWNERNAME VARCHAR(30),
PROVIDERNAME VARCHAR(30),
TRANSPORTNUMBER VARCHAR(31),
SAMPLEROUTDATE DATE,
STATIONFULLNAME VARCHAR(128),
CROPFULLNAME VARCHAR(150),
DEVIATIONTYPENAME VARCHAR(50),
DEVIATIONDATETIME TIMESTAMP,
DEVIATIONSTATE SMALLINT,
INVOICEID INTEGER,
DEVIATIONTYPEID INTEGER,
DISPATCHPRESENCE SMALLINT)
AS
begin
for
select OWNER.CLIENTNAME, PROVIDER.CLIENTNAME, ITTRANSPORT.TRANSPORTNUMBER,
ITTRANSPORT.SAMPLEROUTDATE, STATIONS.STATIONFULLNAME,
QUALITY_CROPFULLNAME.CROPFULLNAME, DEVIATIONTYPE.DEVIATIONTYPENAME,
DEVIATION.DEVIATIONDATETIME, coalesce(DEVIATION.DEVIATIONSTATE,0),
DEVIATION.INVOICEID, DEVIATION.DEVIATIONTYPEID,
case
when (bin_and(OWNER.DEVIATIONCONTROL, 131072) = 131072) then
1
else 0
end DISPATCHPRESENCE
from DEVIATION
left join IT on (IT.INVOICEID = DEVIATION.INVOICEID)
left join CLIENTS OWNER on (OWNER.CLIENTID = IT.OWNERID)
left join CLIENTS PROVIDER on (PROVIDER.CLIENTID = IT.PROVIDERID)
left join ITTRANSPORT on (ITTRANSPORT.INVENTORYID = IT.INVENTORYID)
left join INVOICES on (INVOICES.INVOICEID = DEVIATION.INVOICEID)
left join STATIONS on (STATIONS.STATIONID = INVOICES.STATIONID)
left join QUALITY on (QUALITY.QUALITYID = IT.SAMPLERQUALITYID)
left join QUALITY_CROPFULLNAME(QUALITY.CROPID, QUALITY.CLASSID, QUALITY.SORTID, 1) on (0=0)
left join DEVIATIONTYPE on (DEVIATIONTYPE.DEVIATIONTYPEID = DEVIATION.DEVIATIONTYPEID)
where (coalesce(DEVIATION.DEVIATIONSTATE,0) < 2)
and ((coalesce(:AOWNERID,-1) = -1) or (IT.OWNERID = :AOWNERID))
and ((:ATRANSPORTNUMBER = '') or (ITTRANSPORT.TRANSPORTNUMBER containing :ATRANSPORTNUMBER))
and ((coalesce(:ASTATIONID,-1) = -1) or (STATIONS.STATIONID = :ASTATIONID))
and ((coalesce(:ACROPID,-1) = -1) or (QUALITY.CROPID = :ACROPID))
order by DEVIATION.DEVIATIONDATETIME, DEVIATION.INVOICEID,
DEVIATIONTYPE.DEVIATIONSUBTYPE, DEVIATION.DEVIATIONTYPEID
into :OWNERNAME, :PROVIDERNAME, :TRANSPORTNUMBER, :SAMPLEROUTDATE,
:STATIONFULLNAME, :CROPFULLNAME, :DEVIATIONTYPENAME, :DEVIATIONDATETIME,
:DEVIATIONSTATE, :INVOICEID, :DEVIATIONTYPEID, :DISPATCHPRESENCE
do suspend;
end