Входные параметры
Параметр | Тип | Описание |
---|---|---|
ABEGINREGDATE |
DATE |
|
AENDREGDATE |
DATE |
|
AOPERATIONID |
INTEGER |
|
ASTORAGEID |
INTEGER |
|
SHOWNOTWEIGHTED |
INTEGER |
|
SHOWDELETED |
INTEGER |
|
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
INVENTORYID |
INTEGER |
|
REGDATE |
DATE |
|
BARCODE |
VARCHAR(30) |
|
TRANSPORTNUMBER |
VARCHAR(50) |
|
TRANSPORTNUMBERX |
VARCHAR(50) |
|
INVOICEID |
INTEGER |
|
ORDERLOADID |
INTEGER |
|
ORDERLOADNUMBER |
VARCHAR(10) |
|
STORAGEID |
INTEGER |
|
STORAGENAME |
VARCHAR(100) |
|
SILAGEID |
INTEGER |
|
SILAGENAME |
VARCHAR(30) |
|
ROUTEID |
INTEGER |
|
PATHNAME |
VARCHAR(255) |
|
GROSSTIME |
TIMESTAMP |
|
TARETIME |
TIMESTAMP |
|
GROSS |
INTEGER |
|
TARE |
INTEGER |
|
NET |
INTEGER |
|
WEIGHTNUMBER |
INTEGER |
|
NETDEFICITE |
BIGINT |
|
SAMPLERQUALITYID |
INTEGER |
|
TRANSPORTTYPEID |
INTEGER |
|
OPERATIONID |
INTEGER |
|
OPERATIONPARAM |
INTEGER |
|
CROPID |
INTEGER |
|
CLASSID |
INTEGER |
|
SORTID |
INTEGER |
|
CROPFULLNAME |
VARCHAR(100) |
|
HUMIDITY |
NUMERIC(4,2) |
|
HUMIDITYNAME |
VARCHAR(30) |
|
DIRT |
NUMERIC(4,2) |
|
DIRTNAME |
VARCHAR(30) |
|
INVOICENUMBER |
VARCHAR(31) |
|
OWNERID |
INTEGER |
|
OWNERNAME |
VARCHAR(30) |
|
PROVIDERID |
INTEGER |
|
PROVIDERNAME |
VARCHAR(30) |
|
SILAGEUSERNAME |
VARCHAR(31) |
|
STATE |
INTEGER |
|
FULLNET |
INTEGER |
|
WEIGHTSESSION |
INTEGER |
|
SESSIONNAME |
VARCHAR(10) |
|
WEIGHTUSERID |
INTEGER |
|
WEIGHTUSERNAME |
VARCHAR(36) |
|
INVOICENET |
INTEGER |
|
Описание
(Нет описания для процедуры DESK_JOURNAL_AVTO)
Определение
CREATE PROCEDURE DESK_JOURNAL_AVTO(
ABEGINREGDATE DATE,
AENDREGDATE DATE,
AOPERATIONID INTEGER,
ASTORAGEID INTEGER,
SHOWNOTWEIGHTED INTEGER = 0,
SHOWDELETED INTEGER = 0)
RETURNS (
INVENTORYID INTEGER,
REGDATE DATE,
BARCODE VARCHAR(30),
TRANSPORTNUMBER VARCHAR(50),
TRANSPORTNUMBERX VARCHAR(50),
INVOICEID INTEGER,
ORDERLOADID INTEGER,
ORDERLOADNUMBER VARCHAR(10),
STORAGEID INTEGER,
STORAGENAME VARCHAR(100),
SILAGEID INTEGER,
SILAGENAME VARCHAR(30),
ROUTEID INTEGER,
PATHNAME VARCHAR(255),
GROSSTIME TIMESTAMP,
TARETIME TIMESTAMP,
GROSS INTEGER,
TARE INTEGER,
NET INTEGER,
WEIGHTNUMBER INTEGER,
NETDEFICITE BIGINT,
SAMPLERQUALITYID INTEGER,
TRANSPORTTYPEID INTEGER,
OPERATIONID INTEGER,
OPERATIONPARAM INTEGER,
CROPID INTEGER,
CLASSID INTEGER,
SORTID INTEGER,
CROPFULLNAME VARCHAR(100),
HUMIDITY NUMERIC(4,2),
HUMIDITYNAME VARCHAR(30),
DIRT NUMERIC(4,2),
DIRTNAME VARCHAR(30),
INVOICENUMBER VARCHAR(31),
OWNERID INTEGER,
OWNERNAME VARCHAR(30),
PROVIDERID INTEGER,
PROVIDERNAME VARCHAR(30),
SILAGEUSERNAME VARCHAR(31),
STATE INTEGER,
FULLNET INTEGER,
WEIGHTSESSION INTEGER,
SESSIONNAME VARCHAR(10),
WEIGHTUSERID INTEGER,
WEIGHTUSERNAME VARCHAR(36),
INVOICENET INTEGER)
AS
declare variable TMP_TRANSPORTNUMBER varchar(100);
declare variable TMP_TRANSPORTTYPEID integer;
declare variable TMP_PATHNAME varchar(255);
begin
for
select ITFULL.REGDATE, ITFULL.INVOICEID, sum(ITFULL.NET)
from ITFULL
where (ITFULL.REGDATE between :ABEGINREGDATE and :AENDREGDATE)
and (ITFULL.PARENTID <= 0) and (ITFULL.OPERATIONID = :AOPERATIONID) and (ITFULL.STORAGEID = :ASTORAGEID)
and (ITFULL.TRANSPORTTYPEID in (select TRANSPORTTYPE.TRANSPORTTYPEID from TRANSPORTTYPE where (TRANSPORTTYPE.TRANSPORTSUBTYPE = 0)))
and (((ITFULL.NET <> 0) or (:SHOWNOTWEIGHTED = 1)) and ((ITFULL.STATE in (-5,0)) or (:SHOWDELETED = 1)))
group by REGDATE, INVOICEID
order by REGDATE, INVOICEID
into :REGDATE, :INVOICEID, :FULLNET
do begin
for
select ITFULL.INVENTORYID, ITFULL.BARCODE, ITFULL.TRANSPORTNUMBER,
ORDERLOAD.ORDERLOADID, ORDERLOAD.ORDERNUMBER, ITFULL.STORAGEID,
STORAGE.STORAGENAME, ITFULL.SILAGEID, ITFULL.ROUTEID, SILAGE.NAME,
case :AOPERATIONID
when 1 then
coalesce(PLATFORMS.PLATFORMSHORTNAME || ' - ','') || coalesce(SILAGE.NAME,'')
when 5 then
coalesce(SILAGE.NAME,(select SAMPLER_SILAGENAME.SILAGESTRING from SAMPLER_SILAGENAME(ITFULL.INVENTORYID)))
end PATHNAME,
ITFULL.GROSSTIME, ITFULL.TARETIME, ITFULL.GROSS, ITFULL.TARE, ITFULL.NET,
ITFULL.WEIGHTNUMBER, (ITFULL.INVOICENET - ITFULL.NET) NETDEFICITE,
(select sum(ITTRANSPORT.INVOICENET)
from IT
left join ITTRANSPORT on (ITTRANSPORT.INVENTORYID = IT.INVENTORYID)
where (IT.INVOICEID = ITFULL.INVOICEID)
),
ITFULL.SAMPLERQUALITYID, ITFULL.TRANSPORTTYPEID, ITFULL.OPERATIONID,
ITFULL.OPERATIONPARAM, QUALITY.CROPID, QUALITY.CLASSID, QUALITY.SORTID,
QUALITY_CROPFULLNAME_BYID.CROPFULLNAME,
/*
case :AOPERATIONID
when 1 then
QHUMIDITYVALUE.QUALITYVALUE
when 5 then
QHUMIDITYVALUELAB.QUALITYVALUE
end HUMIDITY,
*/
BUHQUALITY.HUMIDITY HUMIDITY, SAMPLERQUALITY.STATEHUMIDITY HUMIDITYNAME,
/*
case ITFULL.OPERATIONID
when 1 then
QDIRTVALUE.QUALITYVALUE
when 5
then QDIRTVALUELAB.QUALITYVALUE
end DIRT,
*/
BUHQUALITY.DIRT DIRT, SAMPLERQUALITY.STATEDIRT DIRTNAME, INVOICES.INVOICENUMBER,
ITFULL.OWNERID, OWNERS.CLIENTNAME, ITFULL.PROVIDERID, PROVIDERS.CLIENTNAME,
ITFULL.STATE, ITFULL.WEIGHTSESSION, SESSIONS.SESSIONNAME,
coalesce(ITFULL.WEIGHTUSERID,(select IT.WEIGHTUSERID
from IT
left join ITTRANSPORT on (ITTRANSPORT.INVENTORYID = IT.INVENTORYID)
where ((IT.INVOICEID = ITFULL.INVOICEID)
and (IT.STATE = 0)
and (ITTRANSPORT.TRANSPORTTYPEID = 0)
)
)) WEIGHTUSERID
from ITFULL
left join QUALITY_CROPFULLNAME_BYID(ITFULL.SAMPLERQUALITYID, 1) on (1=1)
left join QUALITY on (QUALITY.QUALITYID = ITFULL.SAMPLERQUALITYID)
left join TRANSPORTTYPE on ((TRANSPORTTYPE.TRANSPORTTYPEID = ITFULL.TRANSPORTTYPEID) and (TRANSPORTTYPE.TRANSPORTTYPEID =2))
left join INVOICES on (INVOICES.INVOICEID = ITFULL.INVOICEID)
left join SILAGE on (SILAGE.SILAGEID = ITFULL.SILAGEID)
left join CLIENTS OWNERS on (OWNERS.CLIENTID = ITFULL.OWNERID)
left join CLIENTS PROVIDERS on (ITFULL.PROVIDERID = PROVIDERS.CLIENTID)
left join STORAGE on (STORAGE.STORAGEID = ITFULL.STORAGEID)
left join ROUTECHEMA on (ROUTECHEMA.ROUTECHEMAID = ITFULL.ROUTEID)
left join PLATFORMS on (PLATFORMS.PLATFORMID = ROUTECHEMA.PLATFORMID)
-- left join USERS SILAGEUSER on (SILAGEUSER.USERID = ITFULL.SILAGEUSERID)
-- left join USERS WEIGHTUSER on (WEIGHTUSER.USERID = ITFULL.WEIGHTUSERID)
left join QUALITY_SELECT(ITFULL.SAMPLERQUALITYID) SAMPLERQUALITY on (0=0)
left join QUALITY_SELECT(ITFULL.BUHQUALITYID) BUHQUALITY on (0=0)
left join ORDERLOADITEMS on (ORDERLOADITEMS.ORDERLOADITEMID = ITFULL.ORDERLOADITEMID)
left join ORDERLOAD on (ORDERLOAD.ORDERLOADID = ORDERLOADITEMS.ORDERLOADID)
left join SESSIONS on (SESSIONS.SESSIONID = ITFULL.WEIGHTSESSION)
where (ITFULL.INVOICEID = :INVOICEID)
and (((ITFULL.NET <> 0) or (:SHOWNOTWEIGHTED = 1))
and ((ITFULL.STATE in (-5,0)) or (:SHOWDELETED = 1)))
-- and (not coalesce (ITFULL.GROSS, ITFULL.TARE, ITFULL.NET) is not null or not )
-- order by ITFULL.REGDATE--, ITFULL.TRANSPORTTYPEID, QUALITY_CROPFULLNAME_BYID.CROPFULLNAME
order by ITFULL.TRANSPORTTYPEID
into :INVENTORYID, :BARCODE, :TRANSPORTNUMBER, :ORDERLOADID, :ORDERLOADNUMBER,
:STORAGEID, :STORAGENAME, :SILAGEID, :ROUTEID, :SILAGENAME, :PATHNAME,
:GROSSTIME, :TARETIME, :GROSS, :TARE, :NET, :WEIGHTNUMBER, :NETDEFICITE,
:INVOICENET, :SAMPLERQUALITYID, :TRANSPORTTYPEID, :OPERATIONID, :OPERATIONPARAM,
:CROPID, :CLASSID, :SORTID, :CROPFULLNAME, :HUMIDITY, :HUMIDITYNAME,
:DIRT, :DIRTNAME, :INVOICENUMBER, :OWNERID, :OWNERNAME, :PROVIDERID,
:PROVIDERNAME, :STATE, :WEIGHTSESSION, :SESSIONNAME, :WEIGHTUSERID
do begin
TRANSPORTNUMBERX = '%';
/*
if (STATE = -1) then
TRANSPORTNUMBERX = TRANSPORTNUMBERX || ((TRANSPORTTYPEID * 12) + 1);
else
if (STATE = -3) then
TRANSPORTNUMBERX = TRANSPORTNUMBERX || ((TRANSPORTTYPEID * 12) + 3);
else
if (FULLNET > 0) then
TRANSPORTNUMBERX = TRANSPORTNUMBERX || (TRANSPORTTYPEID * 12);
else TRANSPORTNUMBERX = TRANSPORTNUMBERX || ((TRANSPORTTYPEID * 12) + 5);
*/
if (STATE < 0) then
TRANSPORTNUMBERX = TRANSPORTNUMBERX || ((TRANSPORTTYPEID * 12) + mod(abs(STATE),100));
else
if (NET > 0) then
TRANSPORTNUMBERX = TRANSPORTNUMBERX || (TRANSPORTTYPEID * 12);
else TRANSPORTNUMBERX = TRANSPORTNUMBERX || ((TRANSPORTTYPEID * 12) + 5);
TRANSPORTNUMBERX = TRANSPORTNUMBERX || '% ' || coalesce(TRANSPORTNUMBER,'');
/*
TMP_TRANSPORTNUMBER = null;
for
select TRANSPORTNUMBER, TRANSPORTTYPEID from ITFULL
where (ITFULL.INVOICEID = :INVOICEID) and (ITFULL.BARCODE is null) and (ITFULL.STATE <> -1)
into :TMP_TRANSPORTNUMBER, :TMP_TRANSPORTTYPEID
do
if (:TMP_TRANSPORTNUMBER is not null) then begin
TRANSPORTTYPEID = null;
TRANSPORTNUMBERX = coalesce(TRANSPORTNUMBERX,'') || ' %' || TMP_TRANSPORTTYPEID || '%' || coalesce(TMP_TRANSPORTNUMBER,'');
TRANSPORTNUMBER = coalesce(TRANSPORTNUMBER,'') || '; ' || coalesce(TMP_TRANSPORTNUMBER,'');
end
*/
if ((TRANSPORTTYPEID = 1) and (STATE = -5)) then begin
/*
CROPFULLNAME = null;
STORAGENAME = null;
PATHNAME = null;
*/
PATHNAME = TMP_PATHNAME;
end
else TMP_PATHNAME = PATHNAME;
select coalesce(USERS.USERLASTNAME,'') ||
coalesce(' ' || substring(USERS.USERNAME from 1 for 1) || '.','') || ' ' ||
coalesce(' ' || substring(USERS.USERMIDDLENAME from 1 for 1) || '.','')
from USERS
where (USERS.USERID = :WEIGHTUSERID)
into :WEIGHTUSERNAME;
suspend;
end
end
end