70 lines
4.1 KiB
SQL
70 lines
4.1 KiB
SQL
CREATE view vv_WaitforRateDiff
|
|
as
|
|
select t1.Oid Oid,
|
|
t2.CustomersFrom CustomersFrom,
|
|
t1.PartnerType PartnerType,
|
|
t1.Customer Customers,
|
|
t1.ConnectInfo ConnectInfo,
|
|
t3.DateExecution DateExecution_Account,
|
|
t3.CurrencyName CurrencyName_Account,
|
|
round(t4.AmountDEV_Account,2) AmountDEV_Account,
|
|
round(t4.AmountHUF_Account,2) AmountHUF_Account,
|
|
round(t4.BallanceDEV,2) BallanceDEV_Account,
|
|
case when round(t4.AmountDEV_Account,2)<>0 then round(round(t4.AmountHUF_Account,2)/round(t4.AmountDEV_Account,2),2) else 0 end CurrencyRate_Account,
|
|
t1.LiquidAssets LiquidAssets,
|
|
t2.DateExecution DateExecution,
|
|
round(t1.InAmountDEV,2) InAmountDEV,
|
|
round(t1.OutAmountDEV,2) OutAmountDEV,
|
|
round(t1.InAmountDEV2,2) InAmountDEV2,
|
|
round(t1.OutAmountDEV2,2) OutAmountDEV2,
|
|
case when InAmountHUF>0 then
|
|
case when t1.InAmountDEV <>0 then round(t1.InAmountHUF,2)/round(t1.InAmountDEV,2)
|
|
else 0
|
|
end
|
|
else
|
|
case when t1.OutAmountDEV <>0 then round(t1.OutAmountHUF,2)/round(t1.OutAmountDEV,2)
|
|
else 0
|
|
end
|
|
end CurrencyRate,
|
|
round(t1.InAmountHUF,2) InAmountHUF,
|
|
round(t1.OutAmountHUF,2) OutAmountHUF,
|
|
case when t3.CurrencyName=t5.CurrencyName then round(t1.InAmountDEV,2)* round(t3.CurrencyRate,2)
|
|
else round(t1.InAmountDEV2,2)* round(t3.CurrencyRate,2)
|
|
end InAmountHUF_Account,
|
|
case when t3.CurrencyName=t5.CurrencyName then round(t1.OutAmountDEV,2)*round(t3.CurrencyRate,2)
|
|
else round(t1.OutAmountDEV2,2)*round(t3.CurrencyRate,2)
|
|
end OutAmountHUF_Account,
|
|
case when t3.CurrencyName=t5.CurrencyName then round(t1.InAmountDEV,2)* round(t3.CurrencyRate,2)
|
|
else round(t1.InAmountDEV2,2)* round(t3.CurrencyRate,2)
|
|
end - round(t1.InAmountHUF,2) InAmountHUF_Diff,
|
|
case when t3.CurrencyName=t5.CurrencyName then round(t1.OutAmountDEV,2)*round(t3.CurrencyRate,2)
|
|
else round(t1.OutAmountDEV2,2)*round(t3.CurrencyRate,2)
|
|
end - round(t1.OutAmountHUF,2) OutAmountHUF_Diff,
|
|
t1.GLRowsRatediff GLRowsRatediff,
|
|
case when t1.PartnerType = 0 Then
|
|
case when case when t3.CurrencyName=t5.CurrencyName then round(t1.InAmountDEV,2)* round(t3.CurrencyRate,2)
|
|
else round(t1.InAmountDEV2,2)* round(t3.CurrencyRate,2)
|
|
end - round(t1.InAmountHUF,2) > 0 Then -1
|
|
else 1
|
|
end
|
|
when t1.PartnerType = 1 Then
|
|
case when case when t3.CurrencyName=t5.CurrencyName then round(t1.OutAmountDEV,2)*round(t3.CurrencyRate,2)
|
|
else round(t1.OutAmountDEV2,2)*round(t3.CurrencyRate,2)
|
|
end - round(t1.OutAmountHUF,2) > 0 Then 1
|
|
else -1
|
|
end
|
|
else 0
|
|
end RateDiffState
|
|
from GLRows t1
|
|
left join GLHeader t2 on t1.GLHeader=t2.Oid
|
|
join vv_PartnerConnectionInfoAccount t3 on t2.CustomersFrom=t3.CustomersFrom
|
|
and t1.PartnerType=t3.PartnerType and t1.Customer=t3.Customers and t1.ConnectInfo=t3.ConnectInfo
|
|
left join PCIGroup t4 on t2.CustomersFrom=t4.CustomersFrom
|
|
and t1.PartnerType=t4.PartnerType and t1.Customer=t4.Customers and t1.ConnectInfo=t4.ConnectInfo
|
|
left join LiquidAssets t5 on t1.LiquidAssets=t5.Oid
|
|
left join CurrencyName t6 on t5.CurrencyName=t6.Oid
|
|
left join CurrencyName t7 on t3.CurrencyName=t7.Oid
|
|
where t2.GCRecord is null and
|
|
t2.GLDocumentType in (2,3,4) and
|
|
t6.ShortName <> 'HUF' and ifnull(t7.ShortName,'HUF')<>'HUF' and
|
|
((t1.PartnerType=0 and t1.InAmountHUF>0) or (t1.PartnerType=1 and t1.OutAmountHUF>0)) |