Входные параметры
Параметр | Тип | Описание |
---|---|---|
PARTYID |
INTEGER |
|
PARTYDATE |
DATE |
|
BEGINDATE |
DATE |
|
ENDDATE |
DATE |
|
CROPID |
INTEGER |
|
CLASSID |
INTEGER |
|
SORTID |
INTEGER |
|
STORAGEID |
INTEGER |
|
OWNERID |
INTEGER |
|
CONTRACTID |
INTEGER |
|
STORINGID |
INTEGER |
|
SHOWRENEWALS |
INTEGER |
|
SHOWRENEWALSINARRIVAL |
INTEGER |
|
SHOWTRANSFERINEXPENSE |
INTEGER |
|
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
CLIENTFULLNAME |
VARCHAR(100) |
|
ARRIVAL_INVENTORY_DATE |
DATE |
|
ARRIVAL_INVENTORY_NET |
INTEGER |
|
ARRIVAL_INVENTORY_HUM |
NUMERIC(4,2) |
|
ARRIVAL_INVENTORY_CHUM |
NUMERIC(15,4) |
|
ARRIVAL_INVENTORY_DIRT |
NUMERIC(4,2) |
|
ARRIVAL_INVENTORY_CDIRT |
NUMERIC(15,4) |
|
ARRIVAL_MINDATE |
DATE |
|
ARRIVAL_MAXDATE |
DATE |
|
ARRIVAL_NET |
INTEGER |
|
ARRIVAL_HUM |
NUMERIC(4,2) |
|
ARRIVAL_CHUM |
NUMERIC(15,4) |
|
ARRIVAL_DIRT |
NUMERIC(4,2) |
|
ARRIVAL_CDIRT |
NUMERIC(15,4) |
|
ARRIVAL_RENEWAL_MINDATE |
DATE |
|
ARRIVAL_RENEWAL_MAXDATE |
DATE |
|
ARRIVAL_RENEWAL_NET |
INTEGER |
|
ARRIVAL_RENEWAL_HUM |
NUMERIC(4,2) |
|
ARRIVAL_RENEWAL_CHUM |
NUMERIC(15,4) |
|
ARRIVAL_RENEWAL_DIRT |
NUMERIC(4,2) |
|
ARRIVAL_RENEWAL_CDIRT |
NUMERIC(15,4) |
|
ARRIVAL_TOTAL_NET |
BIGINT |
|
ARRIVAL_TOTAL_HUM |
NUMERIC(4,2) |
|
ARRIVAL_TOTAL_CHUM |
NUMERIC(15,4) |
|
ARRIVAL_TOTAL_DIRT |
NUMERIC(4,2) |
|
ARRIVAL_TOTAL_CDIRT |
NUMERIC(15,4) |
|
EXPENSE_MINDATE |
DATE |
|
EXPENSE_MAXDATE |
DATE |
|
EXPENSE_NET |
INTEGER |
|
EXPENSE_HUM |
NUMERIC(4,2) |
|
EXPENSE_CHUM |
NUMERIC(15,4) |
|
EXPENSE_DIRT |
NUMERIC(4,2) |
|
EXPENSE_CDIRT |
INTEGER |
|
EXPENSE_RENEWAL_MINDATE |
DATE |
|
EXPENSE_RENEWAL_MAXDATE |
DATE |
|
EXPENSE_RENEWAL_NET |
INTEGER |
|
EXPENSE_RENEWAL_HUM |
NUMERIC(4,2) |
|
EXPENSE_RENEWAL_CHUM |
NUMERIC(15,4) |
|
EXPENSE_RENEWAL_DIRT |
NUMERIC(4,2) |
|
EXPENSE_RENEWAL_CDIRT |
NUMERIC(15,4) |
|
WASTE1_NET |
INTEGER |
|
WASTE1_HUM |
NUMERIC(4,2) |
|
WASTE1_CHUM |
INTEGER |
|
WASTE1_CHUM_2 |
NUMERIC(15,4) |
|
WASTE1_DIRT |
NUMERIC(4,2) |
|
WASTE1_CDIRT |
INTEGER |
|
WASTE1_CDIRT_2 |
NUMERIC(15,4) |
|
WASTE3_NET |
INTEGER |
|
WASTE3_HUM |
NUMERIC(4,2) |
|
WASTE3_CHUM |
INTEGER |
|
WASTE3_CHUM_2 |
NUMERIC(15,4) |
|
WASTE3_DIRT |
NUMERIC(4,2) |
|
WASTE3_CDIRT |
INTEGER |
|
WASTE3_CDIRT_2 |
NUMERIC(15,4) |
|
WASTE_NET |
INTEGER |
|
WASTE_HUM |
NUMERIC(4,2) |
|
WASTE_CHUM |
INTEGER |
|
WASTE_CHUM_2 |
NUMERIC(15,4) |
|
WASTE_DIRT |
NUMERIC(4,2) |
|
WASTE_CDIRT |
INTEGER |
|
WASTE_CDIRT_2 |
NUMERIC(15,4) |
|
EXPENSE_INVENTORY_DATE |
DATE |
|
EXPENSE_INVENTORY_NET |
INTEGER |
|
EXPENSE_INVENTORY_HUM |
NUMERIC(4,2) |
|
EXPENSE_INVENTORY_CHUM |
NUMERIC(15,4) |
|
EXPENSE_INVENTORY_DIRT |
NUMERIC(5,2) |
|
EXPENSE_INVENTORY_CDIRT |
NUMERIC(15,4) |
|
EXPENSE_TOTAL_NET |
BIGINT |
|
EXPENSE_TOTAL_HUM |
NUMERIC(4,2) |
|
EXPENSE_TOTAL_CHUM |
NUMERIC(15,4) |
|
EXPENSE_TOTAL_DIRT |
NUMERIC(4,2) |
|
EXPENSE_TOTAL_CDIRT |
NUMERIC(15,4) |
|
ARRIVAL_TOTAL_NET_2 |
INTEGER |
|
ARRIVAL_TOTAL_HUM_2 |
NUMERIC(4,2) |
|
ARRIVAL_TOTAL_CHUM_2 |
NUMERIC(15,4) |
|
ARRIVAL_TOTAL_DIRT_2 |
NUMERIC(4,2) |
|
ARRIVAL_TOTAL_CDIRT_2 |
NUMERIC(15,4) |
|
EXPENSE_TOTAL_NET_2 |
INTEGER |
|
EXPENSE_TOTAL_HUM_2 |
NUMERIC(4,2) |
|
EXPENSE_TOTAL_CHUM_2 |
NUMERIC(15,4) |
|
EXPENSE_TOTAL_DIRT_2 |
NUMERIC(4,2) |
|
EXPENSE_TOTAL_CDIRT_2 |
NUMERIC(15,4) |
|
HUMWEIGHT |
INTEGER |
|
DIRTWEIGHT |
INTEGER |
|
DIRTWEIGHT_2 |
INTEGER |
|
SCREENWEIGHT |
INTEGER |
|
SCREENWEIGHT_2 |
INTEGER |
|
WEIGHT |
INTEGER |
|
REST_WEIGHT |
INTEGER |
|
REST_HUM |
NUMERIC(4,2) |
|
REST_HUM_C |
NUMERIC(15,4) |
|
REST_DIRT |
NUMERIC(4,2) |
|
REST_DIRT_C |
NUMERIC(15,4) |
|
Описание
(Нет описания для процедуры ACN_RESULTS_PERSONAL_ACCOUNT)
Определение
CREATE PROCEDURE ACN_RESULTS_PERSONAL_ACCOUNT(
PARTYID INTEGER,
PARTYDATE DATE,
BEGINDATE DATE,
ENDDATE DATE,
CROPID INTEGER,
CLASSID INTEGER,
SORTID INTEGER,
STORAGEID INTEGER,
OWNERID INTEGER,
CONTRACTID INTEGER,
STORINGID INTEGER,
SHOWRENEWALS INTEGER,
SHOWRENEWALSINARRIVAL INTEGER,
SHOWTRANSFERINEXPENSE INTEGER)
RETURNS (
CLIENTFULLNAME VARCHAR(100),
ARRIVAL_INVENTORY_DATE DATE,
ARRIVAL_INVENTORY_NET INTEGER,
ARRIVAL_INVENTORY_HUM NUMERIC(4,2),
ARRIVAL_INVENTORY_CHUM NUMERIC(15,4),
ARRIVAL_INVENTORY_DIRT NUMERIC(4,2),
ARRIVAL_INVENTORY_CDIRT NUMERIC(15,4),
ARRIVAL_MINDATE DATE,
ARRIVAL_MAXDATE DATE,
ARRIVAL_NET INTEGER,
ARRIVAL_HUM NUMERIC(4,2),
ARRIVAL_CHUM NUMERIC(15,4),
ARRIVAL_DIRT NUMERIC(4,2),
ARRIVAL_CDIRT NUMERIC(15,4),
ARRIVAL_RENEWAL_MINDATE DATE,
ARRIVAL_RENEWAL_MAXDATE DATE,
ARRIVAL_RENEWAL_NET INTEGER,
ARRIVAL_RENEWAL_HUM NUMERIC(4,2),
ARRIVAL_RENEWAL_CHUM NUMERIC(15,4),
ARRIVAL_RENEWAL_DIRT NUMERIC(4,2),
ARRIVAL_RENEWAL_CDIRT NUMERIC(15,4),
ARRIVAL_TOTAL_NET BIGINT,
ARRIVAL_TOTAL_HUM NUMERIC(4,2),
ARRIVAL_TOTAL_CHUM NUMERIC(15,4),
ARRIVAL_TOTAL_DIRT NUMERIC(4,2),
ARRIVAL_TOTAL_CDIRT NUMERIC(15,4),
EXPENSE_MINDATE DATE,
EXPENSE_MAXDATE DATE,
EXPENSE_NET INTEGER,
EXPENSE_HUM NUMERIC(4,2),
EXPENSE_CHUM NUMERIC(15,4),
EXPENSE_DIRT NUMERIC(4,2),
EXPENSE_CDIRT INTEGER,
EXPENSE_RENEWAL_MINDATE DATE,
EXPENSE_RENEWAL_MAXDATE DATE,
EXPENSE_RENEWAL_NET INTEGER,
EXPENSE_RENEWAL_HUM NUMERIC(4,2),
EXPENSE_RENEWAL_CHUM NUMERIC(15,4),
EXPENSE_RENEWAL_DIRT NUMERIC(4,2),
EXPENSE_RENEWAL_CDIRT NUMERIC(15,4),
WASTE1_NET INTEGER,
WASTE1_HUM NUMERIC(4,2),
WASTE1_CHUM INTEGER,
WASTE1_CHUM_2 NUMERIC(15,4),
WASTE1_DIRT NUMERIC(4,2),
WASTE1_CDIRT INTEGER,
WASTE1_CDIRT_2 NUMERIC(15,4),
WASTE3_NET INTEGER,
WASTE3_HUM NUMERIC(4,2),
WASTE3_CHUM INTEGER,
WASTE3_CHUM_2 NUMERIC(15,4),
WASTE3_DIRT NUMERIC(4,2),
WASTE3_CDIRT INTEGER,
WASTE3_CDIRT_2 NUMERIC(15,4),
WASTE_NET INTEGER,
WASTE_HUM NUMERIC(4,2),
WASTE_CHUM INTEGER,
WASTE_CHUM_2 NUMERIC(15,4),
WASTE_DIRT NUMERIC(4,2),
WASTE_CDIRT INTEGER,
WASTE_CDIRT_2 NUMERIC(15,4),
EXPENSE_INVENTORY_DATE DATE,
EXPENSE_INVENTORY_NET INTEGER,
EXPENSE_INVENTORY_HUM NUMERIC(4,2),
EXPENSE_INVENTORY_CHUM NUMERIC(15,4),
EXPENSE_INVENTORY_DIRT NUMERIC(5,2),
EXPENSE_INVENTORY_CDIRT NUMERIC(15,4),
EXPENSE_TOTAL_NET BIGINT,
EXPENSE_TOTAL_HUM NUMERIC(4,2),
EXPENSE_TOTAL_CHUM NUMERIC(15,4),
EXPENSE_TOTAL_DIRT NUMERIC(4,2),
EXPENSE_TOTAL_CDIRT NUMERIC(15,4),
ARRIVAL_TOTAL_NET_2 INTEGER,
ARRIVAL_TOTAL_HUM_2 NUMERIC(4,2),
ARRIVAL_TOTAL_CHUM_2 NUMERIC(15,4),
ARRIVAL_TOTAL_DIRT_2 NUMERIC(4,2),
ARRIVAL_TOTAL_CDIRT_2 NUMERIC(15,4),
EXPENSE_TOTAL_NET_2 INTEGER,
EXPENSE_TOTAL_HUM_2 NUMERIC(4,2),
EXPENSE_TOTAL_CHUM_2 NUMERIC(15,4),
EXPENSE_TOTAL_DIRT_2 NUMERIC(4,2),
EXPENSE_TOTAL_CDIRT_2 NUMERIC(15,4),
HUMWEIGHT INTEGER,
DIRTWEIGHT INTEGER,
DIRTWEIGHT_2 INTEGER,
SCREENWEIGHT INTEGER,
SCREENWEIGHT_2 INTEGER,
WEIGHT INTEGER,
REST_WEIGHT INTEGER,
REST_HUM NUMERIC(4,2),
REST_HUM_C NUMERIC(15,4),
REST_DIRT NUMERIC(4,2),
REST_DIRT_C NUMERIC(15,4))
AS
declare variable WASTE1_AVERAGE_HUM numeric(4,2);
declare variable WASTE1_AVERAGE_DIRT numeric(4,2);
declare variable WASTE3_AVERAGE_HUM numeric(4,2);
declare variable WASTE3_AVERAGE_DIRT numeric(4,2);
declare variable WASTE_AVERAGE_HUM numeric(4,2);
declare variable WASTE_AVERAGE_DIRT numeric(4,2);
begin
if (:BEGINDATE is null) then
select
min(IT.REGDATE) MINDATE
from IT
where (IT.PARTYID = :PARTYID)
and (IT.REGDATE is not null)
and (IT.WEIGHT is not null)
and (IT.STATE <> -1)
into :BEGINDATE;
for
select
CLIENTFULLNAME,
max(ARRIVAL_INVENTORY_DATE) ARRIVAL_INVENTORY_DATE,
coalesce(sum(ARRIVAL_INVENTORY_NET),0) ARRIVAL_INVENTORY_NET,
case
when (sum(ARRIVAL_INVENTORY_NET) <> 0) then
cast(100 * cast(sum(ARRIVAL_INVENTORY_CHUM) as numeric(15,4)) / sum(ARRIVAL_INVENTORY_NET) as numeric(4,2))
else 0
end ARRIVAL_INVENTORY_HUM,
coalesce(sum(ARRIVAL_INVENTORY_CHUM),0) ARRIVAL_INVENTORY_CHUM,
case
when (sum(ARRIVAL_INVENTORY_NET) <> 0) then
cast(100 * cast(sum(ARRIVAL_INVENTORY_CDIRT) as numeric(15,4)) / sum(ARRIVAL_INVENTORY_NET) as numeric(4,2))
else 0
end ARRIVAL_INVENTORY_DIRT,
coalesce(sum(ARRIVAL_INVENTORY_CDIRT),0) ARRIVAL_INVENTORY_CDIRT,
min(ARRIVAL_MINDATE) ARRIVAL_MINDATE,
max(ARRIVAL_MAXDATE) ARRIVAL_MAXDATE,
coalesce(sum(ARRIVAL_NET),0) ARRIVAL_NET,
case
when (sum(ARRIVAL_NET) <> 0) then
cast(100 * cast(sum(ARRIVAL_CHUM) as numeric(15,4)) / sum(ARRIVAL_NET) as numeric(4,2))
else 0
end ARRIVAL_HUM,
coalesce(sum(ARRIVAL_CHUM),0) ARRIVAL_CHUM,
case
when (sum(ARRIVAL_NET) <> 0) then
cast(100 * cast(sum(ARRIVAL_CDIRT) as numeric(15,4)) / sum(ARRIVAL_NET) as numeric(4,2))
else 0
end ARRIVAL_DIRT,
coalesce(sum(ARRIVAL_CDIRT),0) ARRIVAL_CDIRT,
min(ARRIVAL_RENEWAL_MINDATE) ARRIVAL_RENEWAL_MINDATE,
max(ARRIVAL_RENEWAL_MAXDATE) ARRIVAL_RENEWAL_MAXDATE,
coalesce(sum(ARRIVAL_RENEWAL_NET),0) ARRIVAL_RENEWAL_NET,
case
when (sum(ARRIVAL_RENEWAL_NET) <> 0) then
cast(100 * cast(sum(ARRIVAL_RENEWAL_CHUM) as numeric(15,4)) / sum(ARRIVAL_RENEWAL_NET) as numeric(4,2))
else 0
end ARRIVAL_RENEWAL_HUM,
coalesce(sum(ARRIVAL_RENEWAL_CHUM),0) ARRIVAL_RENEWAL_CHUM,
case
when (sum(ARRIVAL_RENEWAL_NET) <> 0) then
cast(100 * cast(sum(ARRIVAL_RENEWAL_CDIRT) as numeric(15,4)) / sum(ARRIVAL_RENEWAL_NET) as numeric(4,2))
else 0
end ARRIVAL_RENEWAL_DIRT,
coalesce(sum(ARRIVAL_RENEWAL_CDIRT),0) ARRIVAL_RENEWAL_CDIRT,
min(EXPENSE_MINDATE) EXPENSE_MINDATE,
max(coalesce(EXPENSE_MAXDATE,:ENDDATE)) EXPENSE_MAXDATE,
coalesce(sum(EXPENSE_NET),0) EXPENSE_NET,
case
when (sum(EXPENSE_NET) <> 0) then
-- cast(100 * cast(sum(EXPENSE_CHUM_2) as numeric(15,4)) / sum(EXPENSE_NET) as numeric(4,2))
cast(100 * cast(sum(EXPENSE_CHUM) as numeric(15,4)) / sum(EXPENSE_NET) as numeric(4,2))
else 0
end EXPENSE_HUM,
coalesce(sum(EXPENSE_CHUM),0) EXPENSE_CHUM,
case
when (sum(EXPENSE_NET) <> 0) then
-- cast(100 * cast(sum(EXPENSE_CDIRT_2) as numeric(15,4)) / sum(EXPENSE_NET) as numeric(4,2))
cast(100 * cast(sum(EXPENSE_CDIRT) as numeric(15,4)) / sum(EXPENSE_NET) as numeric(4,2))
else 0
end EXPENSE_DIRT,
coalesce(sum(EXPENSE_CDIRT),0) EXPENSE_CDIRT,
min(EXPENSE_RENEWAL_MINDATE) EXPENSE_RENEWAL_MINDATE,
max(coalesce(EXPENSE_RENEWAL_MAXDATE,:BEGINDATE)) EXPENSE_RENEWAL_MAXDATE,
coalesce(sum(EXPENSE_RENEWAL_NET),0) EXPENSE_RENEWAL_NET,
case
when (sum(EXPENSE_RENEWAL_NET) <> 0) then
cast(100 * cast(sum(EXPENSE_RENEWAL_CHUM) as numeric(15,4)) / sum(EXPENSE_RENEWAL_NET) as numeric(4,2))
else 0
end EXPENSE_RENEWAL_HUM,
coalesce(sum(EXPENSE_RENEWAL_CHUM),0) EXPENSE_CHUM,
case
when (sum(EXPENSE_RENEWAL_NET) <> 0) then
cast(100 * cast(sum(EXPENSE_RENEWAL_CDIRT) as numeric(15,4)) / sum(EXPENSE_RENEWAL_NET) as numeric(4,2))
else 0
end EXPENSE_RENEWAL_DIRT,
coalesce(sum(EXPENSE_RENEWAL_CDIRT),0) EXPENSE_RENEWAL_CDIRT,
coalesce(sum(WASTE1_NET),0) WASTE1_NET,
max(WASTE1_HUM) WASTE1_HUM,
coalesce(sum(WASTE1_CHUM),0) WASTE1_CHUM,
coalesce(sum(WASTE1_CHUM_2),0) WASTE1_CHUM_2,
max(WASTE1_DIRT) WASTE1_DIRT,
coalesce(sum(WASTE1_CDIRT),0) WASTE1_CDIRT,
coalesce(sum(WASTE1_CDIRT_2),0) WASTE1_CDIRT_2,
coalesce(sum(WASTE3_NET),0) WASTE3_NET,
max(WASTE3_HUM) WASTE3_HUM,
coalesce(sum(WASTE3_CHUM),0) WASTE3_CHUM,
coalesce(sum(WASTE3_CHUM_2),0) WASTE3_CHUM_2,
max(WASTE3_DIRT) WASTE3_DIRT,
coalesce(sum(WASTE3_CDIRT),0) WASTE3_CDIRT,
coalesce(sum(WASTE3_CDIRT_2),0) WASTE3_CDIRT_2,
coalesce(sum(WASTE_NET),0) WASTE_NET,
max(WASTE_HUM) WASTE_HUM,
coalesce(sum(WASTE_CHUM),0) WASTE_CHUM,
coalesce(sum(WASTE_CHUM_2),0) WASTE_CHUM_2,
max(WASTE_DIRT) WASTE_DIRT,
coalesce(sum(WASTE_CDIRT),0) WASTE_CDIRT,
coalesce(sum(WASTE_CDIRT_2),0) WASTE_CDIRT_2,
max(coalesce(EXPENSE_INVENTORY_DATE,:BEGINDATE)) EXPENSE_INVENTORY_DATE,
coalesce(sum(EXPENSE_INVENTORY_NET),0) EXPENSE_INVENTORY_NET,
case
when (sum(EXPENSE_INVENTORY_NET) <> 0) then
cast(100 * cast(sum(EXPENSE_INVENTORY_CHUM) as numeric(15,4)) / sum(EXPENSE_INVENTORY_NET) as numeric(4,2))
else 0
end EXPENSE_INVENTORY_HUM,
coalesce(sum(EXPENSE_INVENTORY_CHUM),0) EXPENSE_INVENTORY_CHUM,
case
when (sum(EXPENSE_INVENTORY_NET) <> 0) then
cast(100 * cast(sum(EXPENSE_INVENTORY_CDIRT) as numeric(15,4)) / sum(EXPENSE_INVENTORY_NET) as numeric(4,2))
else 0
end EXPENSE_INVENTORY_DIRT,
coalesce(sum(EXPENSE_INVENTORY_CDIRT),0) EXPENSE_INVENTORY_CDIRT,
coalesce(sum(HUMWEIGHT),0) HUMWEIGHT,
coalesce(sum(DIRTWEIGHT),0) DIRTWEIGHT,
coalesce(sum(DIRTWEIGHT_2),0) DIRTWEIGHT_2,
coalesce(sum(SCREENWEIGHT),0) SCREENWEIGHT,
coalesce(sum(SCREENWEIGHT_2),0) SCREENWEIGHT_2,
coalesce(sum(WEIGHT),0) WEIGHT,
coalesce(sum(REST_WEIGHT),0) REST_WEIGHT,
case
when (sum(REST_WEIGHT) <> 0) then
cast(100 * cast(sum(REST_HUM_C) as numeric(15,4)) / sum(REST_WEIGHT) as numeric(4,2))
else 0
end REST_HUM,
coalesce(sum(REST_HUM_C),0) REST_HUM_C,
case
when (sum(REST_WEIGHT) <> 0) then
cast(100 * cast(sum(REST_DIRT_C) as numeric(15,4)) / sum(REST_WEIGHT) as numeric(4,2))
else 0
end REST_DIRT,
coalesce(sum(REST_DIRT_C),0) REST_DIRT_C
from (
select
CLIENTFULLNAME,
-- REGDATE,
-- OPERATIONID,
max(ARRIVAL_INVENTORY_DATE) ARRIVAL_INVENTORY_DATE,
sum(ARRIVAL_INVENTORY_NET) ARRIVAL_INVENTORY_NET,
sum(ARRIVAL_INVENTORY_CHUM) ARRIVAL_INVENTORY_CHUM,
sum(ARRIVAL_INVENTORY_CDIRT) ARRIVAL_INVENTORY_CDIRT,
min(ARRIVAL_MINDATE) ARRIVAL_MINDATE,
max(ARRIVAL_MAXDATE) ARRIVAL_MAXDATE,
sum(ARRIVAL_NET) ARRIVAL_NET,
sum(ARRIVAL_CHUM) ARRIVAL_CHUM,
sum(ARRIVAL_CDIRT) ARRIVAL_CDIRT,
min(ARRIVAL_RENEWAL_MINDATE) ARRIVAL_RENEWAL_MINDATE,
max(ARRIVAL_RENEWAL_MAXDATE) ARRIVAL_RENEWAL_MAXDATE,
sum(ARRIVAL_RENEWAL_NET) ARRIVAL_RENEWAL_NET,
sum(ARRIVAL_RENEWAL_CHUM) ARRIVAL_RENEWAL_CHUM,
sum(ARRIVAL_RENEWAL_CDIRT) ARRIVAL_RENEWAL_CDIRT,
min(EXPENSE_MINDATE) EXPENSE_MINDATE,
max(EXPENSE_MAXDATE) EXPENSE_MAXDATE,
sum(EXPENSE_NET) EXPENSE_NET,
sum(EXPENSE_CHUM) EXPENSE_CHUM,
sum(EXPENSE_CHUM_2) EXPENSE_CHUM_2,
sum(EXPENSE_CDIRT) EXPENSE_CDIRT,
sum(EXPENSE_CDIRT_2) EXPENSE_CDIRT_2,
min(EXPENSE_RENEWAL_MINDATE) EXPENSE_RENEWAL_MINDATE,
max(EXPENSE_RENEWAL_MAXDATE) EXPENSE_RENEWAL_MAXDATE,
sum(EXPENSE_RENEWAL_NET) EXPENSE_RENEWAL_NET,
sum(EXPENSE_RENEWAL_CHUM) EXPENSE_RENEWAL_CHUM,
sum(EXPENSE_RENEWAL_CDIRT) EXPENSE_RENEWAL_CDIRT,
sum(WASTE1_NET) WASTE1_NET,
max(WASTE1_HUM) WASTE1_HUM,
max(WASTE1_DIRT) WASTE1_DIRT,
sum(WASTE1_CHUM) WASTE1_CHUM,
sum(WASTE1_CDIRT) WASTE1_CDIRT,
sum(WASTE1_CHUM_2) WASTE1_CHUM_2,
sum(WASTE1_CDIRT_2) WASTE1_CDIRT_2,
sum(WASTE3_NET) WASTE3_NET,
max(WASTE3_HUM) WASTE3_HUM,
max(WASTE3_DIRT) WASTE3_DIRT,
sum(WASTE3_CHUM) WASTE3_CHUM,
sum(WASTE3_CDIRT) WASTE3_CDIRT,
sum(WASTE3_CHUM_2) WASTE3_CHUM_2,
sum(WASTE3_CDIRT_2) WASTE3_CDIRT_2,
sum(WASTE_NET) WASTE_NET,
max(WASTE_HUM) WASTE_HUM,
max(WASTE_DIRT) WASTE_DIRT,
sum(WASTE_CHUM) WASTE_CHUM,
sum(WASTE_CDIRT) WASTE_CDIRT,
sum(WASTE_CHUM_2) WASTE_CHUM_2,
sum(WASTE_CDIRT_2) WASTE_CDIRT_2,
max(EXPENSE_INVENTORY_DATE) EXPENSE_INVENTORY_DATE,
sum(EXPENSE_INVENTORY_NET) EXPENSE_INVENTORY_NET,
sum(EXPENSE_INVENTORY_CHUM) EXPENSE_INVENTORY_CHUM,
sum(EXPENSE_INVENTORY_CDIRT) EXPENSE_INVENTORY_CDIRT,
sum(HUMWEIGHT) HUMWEIGHT,
sum(DIRTWEIGHT) DIRTWEIGHT,
sum(DIRTWEIGHT_2) DIRTWEIGHT_2,
sum(SCREENWEIGHT) SCREENWEIGHT,
sum(SCREENWEIGHT_2) SCREENWEIGHT_2,
sum(WEIGHT) WEIGHT,
sum(REST_WEIGHT) REST_WEIGHT,
sum(REST_HUM_C) REST_HUM_C,
sum(REST_DIRT_C) REST_DIRT_C
from (
select
ACN_FORMA36_MAIN.OWNERFULLNAME CLIENTFULLNAME,
-- ACN_FORMA36_MAIN.REGDATE REGDATE,
-- ACN_FORMA36_MAIN.ANALIS_ID ANALIS_ID,
ACN_FORMA36_MAIN.OPERATIONID OPERATIONID,
ACN_FORMA36_MAIN.WASTECLASSID WASTECLASSID,
ACN_FORMA36_MAIN.OPERATION_ID OPERATION_ID,
case
when (ACN_FORMA36_MAIN.OPERATIONID in (18,45)) then
max(ACN_FORMA36_MAIN.REGDATE)
end ARRIVAL_INVENTORY_DATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID in (18,45)) then
coalesce(sum(ACN_FORMA36_MAIN.COMNET),0)
end ARRIVAL_INVENTORY_NET,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID in (18,45)) then
/*
case
when (ACN_FORMA36_MAIN.COMNET < 20000) then
ACN_FORMA36_MAIN.HUMIDITY_C_2
else ACN_FORMA36_MAIN.HUMIDITY_C
end
*/
ACN_FORMA36_MAIN.HUMIDITY_C
end) ARRIVAL_INVENTORY_CHUM,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID in (18,45)) then
/*
case
when (ACN_FORMA36_MAIN.COMNET < 20000) then
ACN_FORMA36_MAIN.DIRT_C_2
else ACN_FORMA36_MAIN.DIRT_C
end
*/
ACN_FORMA36_MAIN.DIRT_C
end) ARRIVAL_INVENTORY_CDIRT,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
min(ACN_FORMA36_MAIN.REGDATE)
end ARRIVAL_MINDATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
max(ACN_FORMA36_MAIN.REGDATE)
end ARRIVAL_MAXDATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
coalesce(sum(ACN_FORMA36_MAIN.COMNET),0)
end ARRIVAL_NET,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
/*
case
when (ACN_FORMA36_MAIN.COMNET < 20000) then
ACN_FORMA36_MAIN.HUMIDITY_C_2
else ACN_FORMA36_MAIN.HUMIDITY_C
*/
ACN_FORMA36_MAIN.HUMIDITY_C
end) ARRIVAL_CHUM,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
/*
case
when (ACN_FORMA36_MAIN.COMNET < 20000) then
ACN_FORMA36_MAIN.DIRT_C_2
else ACN_FORMA36_MAIN.DIRT_C
end
*/
ACN_FORMA36_MAIN.DIRT_C
end) ARRIVAL_CDIRT,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 17) and (min(ACN_FORMA36_MAIN.COMNET) > 0)) then
min(ACN_FORMA36_MAIN.REGDATE)
end ARRIVAL_RENEWAL_MINDATE,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 17) and (min(ACN_FORMA36_MAIN.COMNET) > 0)) then
max(ACN_FORMA36_MAIN.REGDATE)
end ARRIVAL_RENEWAL_MAXDATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 17) then
coalesce(sum(ACN_FORMA36_MAIN.COMNET),0)
end ARRIVAL_RENEWAL_NET,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 17) then
/*
case
when (ACN_FORMA36_MAIN.COMNET < 20000) then
ACN_FORMA36_MAIN.HUMIDITY_C_2
else ACN_FORMA36_MAIN.HUMIDITY_C
end
*/
ACN_FORMA36_MAIN.HUMIDITY_C
end) ARRIVAL_RENEWAL_CHUM,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 17) then
/*
case
when (ACN_FORMA36_MAIN.COMNET < 20000) then
ACN_FORMA36_MAIN.DIRT_C_2
else ACN_FORMA36_MAIN.DIRT_C
end
*/
ACN_FORMA36_MAIN.DIRT_C
end) ARRIVAL_RENEWAL_CDIRT,
case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
min(ACN_FORMA36_MAIN.REGDATE)
/* else
case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
min(ACN_FORMA36_MAIN.REGDATE)
end*/
end EXPENSE_MINDATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
max(ACN_FORMA36_MAIN.REGDATE)
/*
else
case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
min(ACN_FORMA36_MAIN.REGDATE)
end
*/
end EXPENSE_MAXDATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
else
case
when (ACN_FORMA36_MAIN.OPERATIONID = 1) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
end
end EXPENSE_NET,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end) EXPENSE_CHUM,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
/*
case
when (ACN_FORMA36_MAIN.EXPENSENET < 20000) then
ACN_FORMA36_MAIN.HUMIDITY_C_EXP_2
else ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end
*/
ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end) EXPENSE_CHUM_2,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
ACN_FORMA36_MAIN.DIRT_C_EXP
end) EXPENSE_CDIRT,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID in (5,70)) then
/*
case
when (ACN_FORMA36_MAIN.EXPENSENET < 20000) then
ACN_FORMA36_MAIN.DIRT_C_EXP_2
else ACN_FORMA36_MAIN.DIRT_C_EXP
end
*/
ACN_FORMA36_MAIN.DIRT_C_EXP
end) EXPENSE_CDIRT_2,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 17) and (min(ACN_FORMA36_MAIN.EXPENSENET) > 0)) then
min(ACN_FORMA36_MAIN.REGDATE)
end EXPENSE_RENEWAL_MINDATE,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 17) and (min(ACN_FORMA36_MAIN.EXPENSENET) > 0)) then
max(ACN_FORMA36_MAIN.REGDATE)
end EXPENSE_RENEWAL_MAXDATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 17) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
end EXPENSE_RENEWAL_NET,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 17) then
/*
case
when (ACN_FORMA36_MAIN.EXPENSENET < 20000) then
ACN_FORMA36_MAIN.HUMIDITY_C_EXP_2
else ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end
*/
ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end) EXPENSE_RENEWAL_CHUM,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 17) then
/*
case
when (ACN_FORMA36_MAIN.EXPENSENET < 20000) then
ACN_FORMA36_MAIN.DIRT_C_EXP_2
else ACN_FORMA36_MAIN.DIRT_C_EXP
end
*/
ACN_FORMA36_MAIN.DIRT_C_EXP
end) EXPENSE_RENEWAL_CDIRT,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
end WASTE1_NET,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
max(ACN_FORMA36_MAIN.HUMIDITY)
end WASTE1_HUM,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
max(ACN_FORMA36_MAIN.DIRT)
end WASTE1_DIRT,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
sum(ACN_FORMA36_MAIN.HUMIDITY_C_EXP)
end WASTE1_CHUM,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
sum(ACN_FORMA36_MAIN.DIRT_C_EXP)
end WASTE1_CDIRT,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
sum(ACN_FORMA36_MAIN.HUMIDITY_C_EXP_2)
end WASTE1_CHUM_2,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (not (ACN_FORMA36_MAIN.WASTECLASSID in (41,141)))) then
sum(ACN_FORMA36_MAIN.DIRT_C_EXP_2)
end WASTE1_CDIRT_2,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
end WASTE3_NET,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
max(ACN_FORMA36_MAIN.HUMIDITY)
end WASTE3_HUM,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
max(ACN_FORMA36_MAIN.DIRT)
end WASTE3_DIRT,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
sum(ACN_FORMA36_MAIN.HUMIDITY_C_EXP)
end WASTE3_CHUM,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
sum(ACN_FORMA36_MAIN.DIRT_C_EXP)
end WASTE3_CDIRT,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
sum(ACN_FORMA36_MAIN.HUMIDITY_C_EXP_2)
end WASTE3_CHUM_2,
case
when ((ACN_FORMA36_MAIN.OPERATIONID = 22) and (ACN_FORMA36_MAIN.WASTECLASSID in (41,141))) then
sum(ACN_FORMA36_MAIN.DIRT_C_EXP_2)
end WASTE3_CDIRT_2,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
end WASTE_NET,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
max(ACN_FORMA36_MAIN.HUMIDITY)
end WASTE_HUM,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
max(ACN_FORMA36_MAIN.DIRT)
end WASTE_DIRT,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
sum(ACN_FORMA36_MAIN.HUMIDITY_C_EXP)
end WASTE_CHUM,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
sum(ACN_FORMA36_MAIN.DIRT_C_EXP)
end WASTE_CDIRT,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
sum(ACN_FORMA36_MAIN.HUMIDITY_C_EXP_2)
end WASTE_CHUM_2,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 22) then
sum(ACN_FORMA36_MAIN.DIRT_C_EXP_2)
end WASTE_CDIRT_2,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 46) then
max(ACN_FORMA36_MAIN.REGDATE)
end EXPENSE_INVENTORY_DATE,
case
when (ACN_FORMA36_MAIN.OPERATIONID = 46) then
coalesce(sum(ACN_FORMA36_MAIN.EXPENSENET),0)
end EXPENSE_INVENTORY_NET,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 46) then
/*
case
when (ACN_FORMA36_MAIN.EXPENSENET < 20000) then
ACN_FORMA36_MAIN.HUMIDITY_C_EXP_2
else ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end
*/
ACN_FORMA36_MAIN.HUMIDITY_C_EXP
end) EXPENSE_INVENTORY_CHUM,
sum(case
when (ACN_FORMA36_MAIN.OPERATIONID = 46) then
/*
case
when (ACN_FORMA36_MAIN.EXPENSENET < 20000) then
ACN_FORMA36_MAIN.DIRT_C_EXP_2
else ACN_FORMA36_MAIN.DIRT_C_EXP
end
*/
ACN_FORMA36_MAIN.DIRT_C_EXP
end) EXPENSE_INVENTORY_CDIRT,
coalesce(sum(ACN_FORMA36_MAIN.HUMWEIGHT_2),0) HUMWEIGHT,
coalesce(sum(ACN_FORMA36_MAIN.DIRTWEIGHT),0) DIRTWEIGHT,
coalesce(sum(ACN_FORMA36_MAIN.DIRTWEIGHT_2),0) DIRTWEIGHT_2,
coalesce(sum(ACN_FORMA36_MAIN.SCREENWEIGHT),0) SCREENWEIGHT,
coalesce(sum(ACN_FORMA36_MAIN.SCREENWEIGHT_2),0) SCREENWEIGHT_2,
case
when (not (ACN_FORMA36_MAIN.OPERATIONID in (22))) then
coalesce(sum(ACN_FORMA36_MAIN.WEIGHT),0)
end WEIGHT,
0 REST_WEIGHT,
0 REST_HUM_C,
0 REST_DIRT_C
from ACN_FORMA36_MAIN(:BEGINDATE, :ENDDATE, :PARTYID, :CROPID, :CLASSID, :SORTID,
:STORAGEID, :STORINGID, -1, :OWNERID, :CONTRACTID, -1, 1, 0, 0,
:SHOWRENEWALS, :SHOWRENEWALSINARRIVAL, 0, 0, :SHOWTRANSFERINEXPENSE)
where (ACN_FORMA36_MAIN.OWNERFULLNAME is not null)
group by 2, 1, 3, 4
union
select
CLIENTS.CLIENTFULLNAME CLIENTFULLNAME,
10000,
null,
10000,
(current_date - 3650) ARRIVAL_INVENTORY_DATE,
0 ARRIVAL_INVENTORY_NET,
0 ARRIVAL_INVENTORY_CHUM,
0 ARRIVAL_INVENTORY_CDIRT,
current_date ARRIVAL_MINDATE,
(current_date - 3650) ARRIVAL_MAXDATE,
0 ARRIVAL_NET,
0 ARRIVAL_CHUM,
0 ARRIVAL_CDIRT,
current_date ARRIVAL_RENEWAL_MINDATE,
(current_date - 3650) ARRIVAL_RENEWAL_MAXDATE,
0 ARRIVAL_RENEWAL_NET,
0 ARRIVAL_RENEWAL_CHUM,
0 ARRIVAL_RENEWAL_CDIRT,
current_date EXPENSE_MINDATE,
(current_date - 3650) EXPENSE_MAXDATE,
0 EXPENSE_NET,
0 EXPENSE_CHUM,
0 EXPENSE_CHUM_2,
0 EXPENSE_CDIRT,
0 EXPENSE_CDIRT_2,
current_date EXPENSE_RENEWAL_MINDATE,
(current_date - 3650) EXPENSE_RENEWAL_MAXDATE,
0 EXPENSE_RENEWAL_NET,
0 EXPENSE_RENEWAL_CHUM,
0 EXPENSE_RENEWAL_CDIRT,
0 WASTE1_NET,
0 WASTE1_HUM,
0 WASTE1_DIRT,
0 WASTE1_CHUM,
0 WASTE1_CDIRT,
0 WASTE1_CHUM_2,
0 WASTE1_CDIRT_2,
0 WASTE3_NET,
0 WASTE3_HUM,
0 WASTE3_DIRT,
0 WASTE3_CHUM,
0 WASTE3_CDIRT,
0 WASTE3_CHUM_2,
0 WASTE3_CDIRT_2,
0 WASTE_NET,
0 WASTE_HUM,
0 WASTE_DIRT,
0 WASTE_CHUM,
0 WASTE_CDIRT,
0 WASTE_CHUM_2,
0 WASTE_CDIRT_2,
(current_date - 3650) EXPENSE_INVENTORY_DATE,
0 EXPENSE_INVENTORY_NET,
0 EXPENSE_INVENTORY_CHUM,
0 EXPENSE_INVENTORY_CDIRT,
0 HUMWEIGHT,
0 DIRTWEIGHT,
0 DIRTWEIGHT_2,
0 SCREENWEIGHT,
0 SCREENWEIGHT_2,
0 WEIGHT,
sum(STORAGETICKETS.WEIGHT) REST_WEIGHT,
sum(case
when ((QUALITY_INVOICEREGISTERS.HUMIDITY is null) or (QUALITY_INVOICEREGISTERS.HUMIDITY > QUALITY_SELECT.HUMIDITY)) then
cast(STORAGETICKETS.WEIGHT * cast(QUALITY_SELECT.HUMIDITY as numeric (3,1)) / 100 as integer)
else cast(STORAGETICKETS.WEIGHT * cast(QUALITY_INVOICEREGISTERS.HUMIDITY as numeric (3,1)) / 100 as integer)
end) REST_HUMIDITY_C,
sum(case
when ((QUALITY_INVOICEREGISTERS.DIRT is null) or (QUALITY_INVOICEREGISTERS.DIRT > QUALITY_SELECT.DIRT)) then
cast(STORAGETICKETS.WEIGHT * cast(QUALITY_SELECT.DIRT as numeric (3,1)) / 100 as integer)
else cast(STORAGETICKETS.WEIGHT * cast(QUALITY_INVOICEREGISTERS.DIRT as numeric (3,1)) / 100 as integer)
end) REST_DIRT_C
from STORAGETICKETS
/*
from ACN_FORMA36_MAIN(:BEGINDATE, :ENDDATE, :PARTYID, :CROPID, :CLASSID, :SORTID,
:STORAGEID, :STORINGID, -1, :OWNERID, :CONTRACTID, -1, 1, 0, 0,
:SHOWRENEWALS, :SHOWRENEWALSINARRIVAL,0,0)
*/
left join CLIENTS on (CLIENTS.CLIENTID = :OWNERID)
left join QUALITY_SELECT(STORAGETICKETS.QUALITYID) on (0=0)
left join INVOICEREGISTERS on (INVOICEREGISTERS.STORAGETICKETID = STORAGETICKETS.STORAGETICKETID)
left join QUALITY_SELECT(INVOICEREGISTERS.QUALITYID) QUALITY_INVOICEREGISTERS on (0=0)
where (STORAGETICKETS.REGDATE between :BEGINDATE and :ENDDATE)
and ((STORAGETICKETS.CANCELDATE is null) or (STORAGETICKETS.CANCELDATE >= :ENDDATE))
and ((STORAGETICKETS.STORAGEID = :STORAGEID) or (coalesce(:STORAGEID,-1) = -1))
and (STORAGETICKETS.OWNERID = :OWNERID) and (STORAGETICKETS.CONTRACTID = :CONTRACTID)
and (STORAGETICKETS.STATE = 0) and (INVOICEREGISTERS.INVOICEREGISTERID is not null)
and ((QUALITY_SELECT.CROPID = :CROPID) and ((QUALITY_SELECT.CLASSID = :CLASSID) or (coalesce(:CLASSID,-1) = -1)))
and ((QUALITY_SELECT.SORTID = :SORTID) or (coalesce(:SORTID,-1) = -1))
group by 1
)
group by 1
)
group by 1
into :CLIENTFULLNAME,
:ARRIVAL_INVENTORY_DATE, :ARRIVAL_INVENTORY_NET,
:ARRIVAL_INVENTORY_HUM, :ARRIVAL_INVENTORY_CHUM,
:ARRIVAL_INVENTORY_DIRT, :ARRIVAL_INVENTORY_CDIRT,
:ARRIVAL_MINDATE, :ARRIVAL_MAXDATE, :ARRIVAL_NET,
:ARRIVAL_HUM, :ARRIVAL_CHUM,
:ARRIVAL_DIRT, :ARRIVAL_CDIRT,
:ARRIVAL_RENEWAL_MINDATE, :ARRIVAL_RENEWAL_MAXDATE, :ARRIVAL_RENEWAL_NET,
:ARRIVAL_RENEWAL_HUM, :ARRIVAL_RENEWAL_CHUM,
:ARRIVAL_RENEWAL_DIRT, :ARRIVAL_RENEWAL_CDIRT,
:EXPENSE_MINDATE, :EXPENSE_MAXDATE, :EXPENSE_NET,
:EXPENSE_HUM, :EXPENSE_CHUM,
:EXPENSE_DIRT, :EXPENSE_CDIRT,
:EXPENSE_RENEWAL_MINDATE, :EXPENSE_RENEWAL_MAXDATE, :EXPENSE_RENEWAL_NET,
:EXPENSE_RENEWAL_HUM, :EXPENSE_RENEWAL_CHUM,
:EXPENSE_RENEWAL_DIRT, :EXPENSE_RENEWAL_CDIRT,
:WASTE1_NET,
:WASTE1_HUM, :WASTE1_CHUM, :WASTE1_CHUM_2,
:WASTE1_DIRT, :WASTE1_CDIRT, :WASTE1_CDIRT_2,
:WASTE3_NET,
:WASTE3_HUM, :WASTE3_CHUM, :WASTE3_CHUM_2,
:WASTE3_DIRT, :WASTE3_CDIRT, :WASTE3_CDIRT_2,
:WASTE_NET,
:WASTE_HUM, :WASTE_CHUM, :WASTE_CHUM_2,
:WASTE_DIRT, :WASTE_CDIRT, :WASTE_CDIRT_2,
:EXPENSE_INVENTORY_DATE, :EXPENSE_INVENTORY_NET,
:EXPENSE_INVENTORY_HUM, :EXPENSE_INVENTORY_CHUM,
:EXPENSE_INVENTORY_DIRT, :EXPENSE_INVENTORY_CDIRT,
:HUMWEIGHT,
:DIRTWEIGHT, :DIRTWEIGHT_2,
:SCREENWEIGHT, :SCREENWEIGHT_2,
:WEIGHT,
:REST_WEIGHT, :REST_HUM, :REST_HUM_C, :REST_DIRT, :REST_DIRT_C
do begin
ARRIVAL_TOTAL_NET = :ARRIVAL_INVENTORY_NET + :ARRIVAL_NET + :ARRIVAL_RENEWAL_NET;
ARRIVAL_TOTAL_CHUM = :ARRIVAL_INVENTORY_CHUM + :ARRIVAL_CHUM + :ARRIVAL_RENEWAL_CHUM;
ARRIVAL_TOTAL_CDIRT = :ARRIVAL_INVENTORY_CDIRT + :ARRIVAL_CDIRT + :ARRIVAL_RENEWAL_CDIRT;
if (:ARRIVAL_TOTAL_NET <> 0) then begin
ARRIVAL_TOTAL_HUM = ARRIVAL_TOTAL_CHUM * 100 / :ARRIVAL_TOTAL_NET;
ARRIVAL_TOTAL_DIRT = ARRIVAL_TOTAL_CDIRT * 100 / :ARRIVAL_TOTAL_NET;
end
ARRIVAL_TOTAL_NET_2 = :ARRIVAL_INVENTORY_NET + :ARRIVAL_NET;
ARRIVAL_TOTAL_CHUM_2 = :ARRIVAL_INVENTORY_CHUM + :ARRIVAL_CHUM;
ARRIVAL_TOTAL_CDIRT_2 = :ARRIVAL_INVENTORY_CDIRT + :ARRIVAL_CDIRT;
if (:ARRIVAL_TOTAL_NET_2 <> 0) then begin
ARRIVAL_TOTAL_HUM_2 = cast(ARRIVAL_TOTAL_CHUM_2 * 100 as numeric(15,4)) / :ARRIVAL_TOTAL_NET_2;
ARRIVAL_TOTAL_DIRT_2 = cast(ARRIVAL_TOTAL_CDIRT_2 * 100 as numeric(15,4)) / :ARRIVAL_TOTAL_NET_2;
end
EXPENSE_TOTAL_NET = :EXPENSE_NET + :WASTE_NET + :EXPENSE_RENEWAL_NET + :EXPENSE_INVENTORY_NET;
EXPENSE_TOTAL_CHUM = :EXPENSE_CHUM + :WASTE_CHUM + :EXPENSE_RENEWAL_CHUM + :EXPENSE_INVENTORY_CHUM;
EXPENSE_TOTAL_CDIRT = :EXPENSE_CDIRT + :WASTE_CDIRT + :EXPENSE_RENEWAL_CDIRT + :EXPENSE_INVENTORY_CDIRT;
if (:EXPENSE_TOTAL_NET <> 0) then begin
EXPENSE_TOTAL_HUM = cast(EXPENSE_TOTAL_CHUM * 100 as numeric(15,4)) / :EXPENSE_TOTAL_NET;
EXPENSE_TOTAL_DIRT = cast(EXPENSE_TOTAL_CDIRT * 100 as numeric(15,4)) / :EXPENSE_TOTAL_NET;
end
EXPENSE_TOTAL_NET_2 = :EXPENSE_NET + :WASTE_NET + :EXPENSE_INVENTORY_NET;
EXPENSE_TOTAL_CHUM_2 = :EXPENSE_CHUM + :WASTE_CHUM + :EXPENSE_INVENTORY_CHUM;
EXPENSE_TOTAL_CDIRT_2 = :EXPENSE_CDIRT + :WASTE_CDIRT + :EXPENSE_INVENTORY_CDIRT;
if (:EXPENSE_TOTAL_NET_2 <> 0) then begin
EXPENSE_TOTAL_HUM_2 = cast(EXPENSE_TOTAL_CHUM_2 * 100 as numeric(15,4)) / :EXPENSE_TOTAL_NET_2;
EXPENSE_TOTAL_DIRT_2 = cast(EXPENSE_TOTAL_CDIRT_2 * 100 as numeric(15,4)) / :EXPENSE_TOTAL_NET_2;
end
if (:WASTE1_NET <> 0) then begin
WASTE1_AVERAGE_HUM = cast((100 * WASTE1_CHUM_2 / WASTE1_NET) as numeric(4,2));
if (WASTE1_HUM <> WASTE1_AVERAGE_HUM) then
WASTE1_HUM = cast((100 * cast(WASTE1_CHUM as numeric(15,4)) / WASTE1_NET) as numeric(4,2));
WASTE1_AVERAGE_DIRT = cast((100 * WASTE1_CDIRT_2 / WASTE1_NET) as numeric(4,2));
if (WASTE1_DIRT <> WASTE1_AVERAGE_DIRT) then
WASTE1_DIRT = cast((100 * cast(WASTE1_CDIRT as numeric(15,4)) / WASTE1_NET) as numeric(4,2));
end
if (:WASTE3_NET <> 0) then begin
WASTE3_AVERAGE_HUM = cast((100 * WASTE3_CHUM_2 / WASTE3_NET) as numeric(4,2));
if (WASTE3_HUM <> WASTE3_AVERAGE_HUM) then
WASTE3_HUM = cast((100 * cast(WASTE3_CHUM as numeric(15,4)) / WASTE3_NET) as numeric(4,2));
WASTE3_AVERAGE_DIRT = cast((100 * WASTE3_CDIRT_2 / WASTE3_NET) as numeric(4,2));
if (WASTE3_DIRT <> WASTE3_AVERAGE_DIRT) then
WASTE3_DIRT = cast((100 * cast(WASTE3_CDIRT as numeric(15,4)) / WASTE3_NET) as numeric(4,2));
end
if (:WASTE_NET <> 0) then begin
WASTE_AVERAGE_HUM = cast((100 * WASTE_CHUM_2 / WASTE_NET) as numeric(4,2));
if (WASTE_HUM <> WASTE_AVERAGE_HUM) then
WASTE_HUM = cast((100 * cast(WASTE_CHUM as numeric(15,4)) / WASTE_NET) as numeric(4,2));
WASTE_AVERAGE_DIRT = cast((100 * WASTE_CDIRT_2 / WASTE_NET) as numeric(4,2));
if (WASTE_DIRT <> WASTE_AVERAGE_DIRT) then
WASTE_DIRT = cast((100 * cast(WASTE_CDIRT as numeric(15,4)) / WASTE_NET) as numeric(4,2));
end
suspend;
end
end