HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /www/exchange2/sql/archive/2016-11-14-759.sql
DELETE invoice_margin_calls
FROM manual_transactions
LEFT JOIN invoice_margin_calls ON manual_transactions.manual_transaction_id IN (invoice_margin_calls.is_rtrade, invoice_margin_calls.is_drp)
WHERE manual_transactions.transaction_date='2016-10-28' AND manual_transactions.notes='Margin Call';

DELETE FROM manual_transactions WHERE manual_transactions.transaction_date='2016-10-28' AND manual_transactions.notes='Margin Call';

DELETE
FROM invoice_margin_calls
WHERE invoice_margin_calls.is_rtrade IN (51841,51842,51843,51844,51845,51846,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51864,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892) OR invoice_margin_calls.is_drp IN (51841,51842,51843,51844,51845,51846,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51864,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892);


ALTER TABLE `invoice_margin_calls`
    ADD COLUMN `rtrade_value` DOUBLE UNSIGNED NULL DEFAULT NULL AFTER `engine_id`,
    ADD COLUMN `drp_value` DOUBLE UNSIGNED NULL DEFAULT NULL AFTER `rtrade_value`;


INSERT INTO invoice_margin_calls
SELECT invoice_master.invoice_id, 0,0,2 as engine_id,NULL,NULL
FROM invoice_master
LEFT JOIN debtors_detail ON debtors_detail.debtor_id = invoice_master.debtor_id
LEFT JOIN invoice_margin_calls ON invoice_margin_calls.invoice_id = invoice_master.invoice_id

LEFT JOIN manual_transactions ON manual_transactions.manual_transaction_id = invoice_master.manual_transaction_id

WHERE invoice_master.root_invoice_id>0 AND invoice_master.invoice_status=3 AND debtors_detail.`type`="debtor" AND invoice_margin_calls.invoice_id IS NULL AND debtors_detail.currency_id IN (2,3) AND invoice_master.manual_transaction_id>0;
    
    
SET @edso=0,@rdso=0,@adso=0,@sell_rate=0.000,@purchase_discount=0.00000,@system_date=DATE(CURDATE()),
            @face_value=0.00,
            @drp_rate=0.0000,
            @traded_rate=0.0000,
            @payment_rate=0.0000;

CREATE TEMPORARY TABLE IF NOT EXISTS  margin_calls_values (
SELECT T.debtor_id,T.user_id, T.transaction_date, 
     (IF(T.traded_rate>T.payment_rate,T.face_value * (T.traded_rate - T.payment_rate),0)/T.payment_rate)  as rtrade_value,
     (IF(T.reserve_on>0,IF(T.traded_rate<T.drp_rate,IF(adso>=180,adso_reserve,IF(adso<=edso,ldc+day_1_reserve,ldc+adso_reserve))*(T.drp_rate - T.traded_rate),0)/T.drp_rate,NULL)) as drp_value, T.invoice_id
                FROM (
                  SELECT 
                      @edso:=IFNULL(DATEDIFF(DATE(expected_date), DATE(actual_date)),0) as edso, 
                      @sell_rate:=(invoice_master.max_thirty_day_reserve/100) as sell_rate, 
                      @purchase_discount:=(IFNULL(invoice_closed_attributes.purchase_discount,0)/100) as purchase_discount,
                      @face_value:=invoice_master.face_value as face_value,

                      @rdso:=DATEDIFF(IF(main_trans.transaction_type=6 AND payment_trans.transaction_date<=@system_date,payment_trans.transaction_date,@system_date),DATE(actual_date)) as rdso,
                      @adso:=IF(@edso>@rdso,@edso,@rdso) as adso,
                         currencies.currency_code,
                      
                      @traded_rate:=IF(currencies.currency_code="EUR",1,IFNULL(traded_rates.currency_rate,currencies.currency_rate)) as traded_rate,
                      
                      @payment_rate:=IF(currencies.currency_code="EUR",1,IFNULL(payment_rates.currency_rate,currencies.currency_rate)) as payment_rate,

                      @drp_rate:=IF(currencies.currency_code="EUR",1,IFNULL(drp_rates.currency_rate,currencies.currency_rate)) as drp_rate,
                      
                      invoice_master.user_id,
                      invoice_master.debtor_id,
                      @face_value*@sell_rate*12*(180-@edso)/360 as day_1_reserve,
                      @face_value*@sell_rate*12*(180-@adso)/360 as adso_reserve,
                      @face_value-@face_value*@sell_rate*12*180/360-@face_value*@purchase_discount as ldc,
                      invoice_master.reserve_on,
                      DATE_FORMAT(IF(invoice_master.reserve_on=0 OR invoice_margin_calls.invoice_id IS NULL,main_trans.created_at,drp_trans.created_at),"%Y-%m") as transaction_date,
                      invoice_margin_calls.is_rtrade,
                      invoice_master.invoice_id
                   
                   FROM  invoice_margin_calls
                   LEFT JOIN invoice_master ON invoice_margin_calls.invoice_id = invoice_master.invoice_id
                   
                   LEFT JOIN debtors_detail ON debtors_detail.debtor_id = invoice_master.debtor_id
                   LEFT JOIN invoice_closed_attributes ON invoice_closed_attributes.invoice_id = invoice_master.invoice_id

                   LEFT JOIN manual_transactions as main_trans ON main_trans.manual_transaction_id = invoice_master.manual_transaction_id AND main_trans.status=1
                   LEFT JOIN manual_transactions as payment_trans ON main_trans.reconcile_payment = payment_trans.manual_transaction_id AND payment_trans.status=1
                   LEFT JOIN manual_transactions as drp_trans ON drp_trans.manual_transaction_id = invoice_master.drp_id AND drp_trans.status=1
                   
                   
                   LEFT JOIN currencies ON currencies.currency_id = debtors_detail.currency_id
                   
                   LEFT JOIN currency_rates as payment_rates ON payment_rates.currency_id = debtors_detail.currency_id AND payment_rates.currency_date = payment_trans.transaction_date
                      
                   LEFT JOIN currency_rates as traded_rates ON traded_rates.currency_id = debtors_detail.currency_id AND traded_rates.currency_date = DATE(invoice_master.logapprove_date)   
                   
                   LEFT JOIN currency_rates as drp_rates ON drp_rates.currency_id = debtors_detail.currency_id  AND drp_rates.currency_date = drp_trans.transaction_date
                        
                   WHERE invoice_master.manual_transaction_id > 0 AND invoice_master.invoice_status = 3 AND debtors_detail.type="debtor" AND debtors_detail.currency_id IN (2,3)
         ) AS T
   );
   
UPDATE invoice_margin_calls
   LEFT JOIN margin_calls_values ON margin_calls_values.invoice_id = invoice_margin_calls.invoice_id
   SET invoice_margin_calls.rtrade_value = ROUND(margin_calls_values.rtrade_value,2), invoice_margin_calls.drp_value = ROUND(margin_calls_values.drp_value,2);
   
UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48005;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48007;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48008;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48009;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48010;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48011;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48012;


UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48013;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48014;

UPDATE `manual_transactions` SET `amount`=241.02 WHERE  `manual_transaction_id`=48014;


UPDATE `invoice_margin_calls` SET `rtrade_value`=0 WHERE  `invoice_id`=53603 AND `is_rtrade`=48014 AND `is_drp`=0 AND `engine_id`=2 AND `rtrade_value`=40.46 AND `drp_value` IS NULL LIMIT 1;
DELETE FROM `invoice_margin_calls` WHERE  `invoice_id`=51381 AND `is_rtrade`=48014 AND `is_drp`=0 AND `engine_id`=2 AND `rtrade_value` IS NULL AND `drp_value` IS NULL LIMIT 1;


UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48015;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48016;

DELETE FROM `invoice_margin_calls` WHERE  `invoice_id`=53229;

DELETE FROM `invoice_margin_calls` WHERE  `invoice_id`=55881;

DELETE FROM `invoice_margin_calls` WHERE  `invoice_id`=55882;

DELETE FROM `invoice_margin_calls` WHERE  `invoice_id`=55883;

DELETE FROM `invoice_margin_calls` WHERE  `invoice_id`=48267;

UPDATE `manual_transactions` SET `amount`=1143.12 WHERE  `manual_transaction_id`=48016;


UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48017;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48018;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48019;

DELETE FROM invoice_margin_calls WHERE invoice_margin_calls.invoice_id IN (46808,49289,49337,49338,49339,49341,49342,56153,49340);

UPDATE `manual_transactions` SET `amount`=757.10 WHERE  `manual_transaction_id`=48019;


UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48020;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48021;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48023;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48024;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48025;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48029;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48030;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48031;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48032;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48033;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48034;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48035;


UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48036;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48037;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48038;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48039;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48041;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48043;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48044;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48045;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=49074;


DELETE FROM `manual_transactions` WHERE  `manual_transaction_id`=45956;

UPDATE manual_transactions SET amount=108.26 WHERE manual_transaction_id=45968;
UPDATE manual_transactions SET amount=0 WHERE manual_transaction_id=45988;
UPDATE manual_transactions SET amount=80.74 WHERE manual_transaction_id=45958;


UPDATE `manual_transactions` SET `amount`=108.50 WHERE  `manual_transaction_id`=45968;

DELETE FROM `invoice_margin_calls` WHERE  `invoice_id` IN (46818,46820,47229,49293,49295,49310,49331,49334,49335);


DELETE FROM `invoice_margin_calls` WHERE  `invoice_id` IN (55875);

UPDATE `manual_transactions` SET `amount`=1140.73 WHERE  `manual_transaction_id`=48016;

INSERT INTO `manual_transactions` (`manual_transaction_id`, `transaction_type`, `debtor_id`, `originator_id`, `currency_id`, `amount`, `reference_to`, `specific_allocation`, `notes`, `transaction_file`, `specific_deductible`, `deductible_amount`, `trailing_balance`, `trailing_balance_amt`, `transref_list`, `reconcile_payment`, `reconcile_ref`, `payment_return`, `false_payment`, `amendment_id`, `status`, `reconcile_status`, `reconcile_credit`, `multiple_payments`, `multiple_status`, `interface`, `paid_status`, `transaction_date`, `notification_title`, `transaction_name`, `issue_date`, `created_at`, `created_by`, `modified_at`, `modified_by`, `authorised_at`, `authorised_by`, `reserve_on`, `rerouted`, `spooled`, `orpa_id`, `fees_commissions`) 
SELECT NULL,transaction_type,debtor_id,originator_id,currency_id,710.74,reference_to,`specific_allocation`, `notes`, `transaction_file`, `specific_deductible`, `deductible_amount`, `trailing_balance`, `trailing_balance_amt`, `transref_list`, `reconcile_payment`, `reconcile_ref`, `payment_return`, `false_payment`, `amendment_id`, `status`, `reconcile_status`, `reconcile_credit`, `multiple_payments`, `multiple_status`, `interface`, `paid_status`, `transaction_date`, `notification_title`, `transaction_name`, `issue_date`, NOW(), -1, `modified_at`, `modified_by`, NOW(), -1, 0, `rerouted`, `spooled`, `orpa_id`, `fees_commissions`
FROM manual_transactions
WHERE manual_transactions.manual_transaction_id = 48022;


UPDATE `manual_transactions` SET `amount`=751.16 WHERE  `manual_transaction_id`=48023;

UPDATE invoice_margin_calls SET
invoice_margin_calls.is_drp=0, invoice_margin_calls.drp_value=NULL
WHERE invoice_margin_calls.is_drp=48042;

UPDATE `manual_transactions` SET `amount`=129.42 WHERE  `manual_transaction_id`=48039;
UPDATE `manual_transactions` SET `amount`=76.63 WHERE  `manual_transaction_id`=48038;
UPDATE `manual_transactions` SET `amount`=849.95 WHERE  `manual_transaction_id`=48029;
UPDATE `manual_transactions` SET `amount`=92.39 WHERE  `manual_transaction_id`=48028;
UPDATE `manual_transactions` SET `amount`=1493.66 WHERE  `manual_transaction_id`=48026;
UPDATE `manual_transactions` SET `amount`=13.79 WHERE  `manual_transaction_id`=48013;
UPDATE `manual_transactions` SET `amount`=5626.89 WHERE  `manual_transaction_id`=45881;
UPDATE `manual_transactions` SET `amount`=4501.22 WHERE  `manual_transaction_id`=45886;
UPDATE `manual_transactions` SET `amount`=23.79 WHERE  `manual_transaction_id`=45948;
UPDATE `manual_transactions` SET `amount`=253.04 WHERE  `manual_transaction_id`=45944;
UPDATE `manual_transactions` SET `amount`=228.97 WHERE  `manual_transaction_id`=45941;
UPDATE `manual_transactions` SET `amount`=96.57 WHERE  `manual_transaction_id`=45987;
UPDATE `manual_transactions` SET `amount`=55.74 WHERE  `manual_transaction_id`=46091;
UPDATE `manual_transactions` SET `amount`=5877.01 WHERE  `manual_transaction_id`=46094;
UPDATE `manual_transactions` SET `amount`=14.47 WHERE  `manual_transaction_id`=46038;
UPDATE `manual_transactions` SET `amount`=368.61 WHERE  `manual_transaction_id`=46027;
UPDATE `manual_transactions` SET `amount`=129.88 WHERE  `manual_transaction_id`=45996;
UPDATE `manual_transactions` SET `amount`=159.62 WHERE  `manual_transaction_id`=45887;

UPDATE `manual_transactions` SET `amount`=6.83 WHERE  `manual_transaction_id`=45883;/*6.84*/
UPDATE `manual_transactions` SET `amount`=1199.02 WHERE  `manual_transaction_id`=45906;/*1199.03*/
UPDATE `manual_transactions` SET `amount`=611.03 WHERE  `manual_transaction_id`=45912;/*611.02*/
UPDATE `manual_transactions` SET `amount`=45.98 WHERE  `manual_transaction_id`=45950;/*45.99*/
UPDATE `manual_transactions` SET `amount`=39.02 WHERE  `manual_transaction_id`=45960;/*39.03*/
UPDATE `manual_transactions` SET `amount`=226.84 WHERE  `manual_transaction_id`=45965;/*226.85*/
UPDATE `manual_transactions` SET `amount`=119.5 WHERE  `manual_transaction_id`=45966;/*119.49*/
UPDATE `manual_transactions` SET `amount`=219.99 WHERE  `manual_transaction_id`=45971;/*220.00*/
UPDATE `manual_transactions` SET `amount`=240.48 WHERE  `manual_transaction_id`=46079;/*240.49*/

UPDATE `manual_transactions` SET `amount`=1023.68 WHERE  `manual_transaction_id`=48007;/*1023.66*/
UPDATE `manual_transactions` SET `amount`=3263.19 WHERE  `manual_transaction_id`=48046;/*3263.18*/
UPDATE `manual_transactions` SET `amount`=360.55 WHERE  `manual_transaction_id`=45979;/*360.56*/
UPDATE `manual_transactions` SET `amount`=776.35 WHERE  `manual_transaction_id`=45976;/*776.36*/
UPDATE `manual_transactions` SET `amount`=518.01 WHERE  `manual_transaction_id`=45892;/*518.03*/
UPDATE `manual_transactions` SET `amount`=636.78 WHERE  `manual_transaction_id`=45885;/*636.80*/
UPDATE `manual_transactions` SET `amount`=484.93 WHERE  `manual_transaction_id`=45882;/*484.97*/
UPDATE `manual_transactions` SET `amount`=91.21 WHERE  `manual_transaction_id`=46058;/*91.20*/
UPDATE `manual_transactions` SET `amount`=352.31 WHERE  `manual_transaction_id`=46052;/*352.30*/
UPDATE `manual_transactions` SET `amount`=69.36 WHERE  `manual_transaction_id`=46049;/*69.37*/
UPDATE `manual_transactions` SET `amount`=692.45 WHERE  `manual_transaction_id`=46047;/*692.44*/
UPDATE `manual_transactions` SET `amount`=176.78 WHERE  `manual_transaction_id`=46030;/*176.77*/
UPDATE `manual_transactions` SET `amount`=310.6 WHERE  `manual_transaction_id`=46066;/*310.59*/
UPDATE `manual_transactions` SET `amount`=282.35 WHERE  `manual_transaction_id`=46054;/*282.36*/
UPDATE `manual_transactions` SET `amount`=906.71 WHERE  `manual_transaction_id`=45903;/*906.73*/
UPDATE `manual_transactions` SET `amount`=250.26 WHERE  `manual_transaction_id`=48014;/*241.02*/

UPDATE `invoice_margin_calls` SET `rtrade_value`=1.89 WHERE  `invoice_id`=56224;
UPDATE `invoice_margin_calls` SET `drp_value`=3.31 WHERE  `invoice_id`=49092;