File: /www/exchange2/sql/archive/2016-08-15-tt1923.sql
DROP TABLE IF EXISTS `investor_global_category_setting`;
DROP TABLE IF EXISTS `investor_global_debtor_setting`;
DROP TABLE IF EXISTS `investor_global_settings`;
DROP TABLE IF EXISTS `investor_global_trader_setting`;
DROP TABLE IF EXISTS `investor_portfolio_setting`;
DROP TABLE IF EXISTS `processing_commissions`;
CREATE TABLE `processing_commissions` (
`eur_eur` DECIMAL(6,2) NULL DEFAULT NULL,
`gbp_eur` DECIMAL(6,2) NULL DEFAULT NULL,
`usd_eur` DECIMAL(6,2) NULL DEFAULT NULL,
`usd_usd` DECIMAL(6,2) NULL DEFAULT NULL,
`gbp_gbp` DECIMAL(6,2) NULL DEFAULT NULL,
`processing_id` VARCHAR(31) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
`posted_date` DATE NULL DEFAULT NULL,
`user_id` SMALLINT(20) UNSIGNED NULL,
`is_drp` MEDIUMINT(8) UNSIGNED NULL,
UNIQUE INDEX `Index 3` (`posted_date`, `user_id`, `is_drp`),
INDEX `processing_id` (`user_id`, `posted_date`),
INDEX `is_drp` (`is_drp`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
INSERT INTO processing_commissions
SELECT
IF(T.eur_eur>0,T.trade_commission,0) as eur_eur,
IF(T.gbp_eur>0 AND T.eur_eur=0,T.trade_commission,0) as gbp_eur,
IF(T.usd_eur>0 AND (T.eur_eur+gbp_eur)=0,T.trade_commission,0) as usd_eur,
IF(T.usd_usd>0 AND (T.usd_eur+T.eur_eur+T.gbp_eur)=0,T.trade_commission,0) as usd_usd,
IF(T.gbp_gbp>0 AND (T.usd_eur+T.eur_eur+T.gbp_eur+T.usd_usd)=0,T.trade_commission,0) as gbp_gbp,
T.processing_id,
T.posted_date,
T.user_id,
0
FROM (
SELECT
CONCAT(invoice_master.user_id,"-", DATE(invoice_master.logapprove_date)) as processing_id,
SUM(IF(currencies.currency_code="EUR" AND organisation_currencies.currency_code="EUR",1,0)) as eur_eur,
SUM(IF(currencies.currency_code="GBP" AND IFNULL(organisation_currencies.currency_code,oc_eur.currency_code)="EUR",1,0)) as gbp_eur,
SUM(IF(currencies.currency_code="USD" AND IFNULL(organisation_currencies.currency_code,oc_eur.currency_code)="EUR",1,0)) as usd_eur,
SUM(IF(currencies.currency_code="USD" AND organisation_currencies.currency_code="USD",1,0)) as usd_usd,
SUM(IF(currencies.currency_code="GBP" AND organisation_currencies.currency_code="GBP",1,0)) as gbp_gbp,
site_settings.trade_commission,
DATE(invoice_master.logapprove_date) as posted_date,
invoice_master.user_id
FROM invoice_master
LEFT JOIN debtors_detail ON debtors_detail.debtor_id = invoice_master.debtor_id
LEFT JOIN currencies ON currencies.currency_id = debtors_detail.currency_id
LEFT JOIN site_settings ON site_settings.site_setting_id=1
LEFT JOIN organisation_currencies ON organisation_currencies.user_id = invoice_master.user_id AND currencies.currency_id = organisation_currencies.currency_id
LEFT JOIN organisation_currencies as oc_eur ON oc_eur.user_id = invoice_master.user_id AND oc_eur.currency_code="EUR"
WHERE invoice_master.root_invoice_id>0 AND invoice_master.invoice_status=3 AND debtors_detail.type="debtor"
GROUP BY invoice_master.user_id, DATE(invoice_master.logapprove_date)
) AS T;
INSERT INTO processing_commissions
SELECT
IF(T.eur_eur>0,T.trade_commission,0) as eur_eur,
IF(T.gbp_eur>0 AND T.eur_eur=0,T.trade_commission,0) as gbp_eur,
IF(T.usd_eur>0 AND (T.eur_eur+gbp_eur)=0,T.trade_commission,0) as usd_eur,
IF(T.usd_usd>0 AND (T.usd_eur+T.eur_eur+T.gbp_eur)=0,T.trade_commission,0) as usd_usd,
IF(T.gbp_gbp>0 AND (T.usd_eur+T.eur_eur+T.gbp_eur+T.usd_usd)=0,T.trade_commission,0) as gbp_gbp,
T.processing_id,
T.posted_date,
T.user_id,
1
FROM (
SELECT
CONCAT(invoice_master.user_id,"-", drp.transaction_date) as processing_id,
SUM(IF(currencies.currency_code="EUR" AND organisation_currencies.currency_code="EUR",1,0)) as eur_eur,
SUM(IF(currencies.currency_code="GBP" AND IFNULL(organisation_currencies.currency_code,oc_eur.currency_code)="EUR",1,0)) as gbp_eur,
SUM(IF(currencies.currency_code="USD" AND IFNULL(organisation_currencies.currency_code,oc_eur.currency_code)="EUR",1,0)) as usd_eur,
SUM(IF(currencies.currency_code="USD" AND organisation_currencies.currency_code="USD",1,0)) as usd_usd,
SUM(IF(currencies.currency_code="GBP" AND organisation_currencies.currency_code="GBP",1,0)) as gbp_gbp,
site_settings.trade_commission,
drp.transaction_date as posted_date,
invoice_master.user_id
FROM invoice_master
LEFT JOIN debtors_detail ON debtors_detail.debtor_id = invoice_master.debtor_id
LEFT JOIN currencies ON currencies.currency_id = debtors_detail.currency_id
LEFT JOIN site_settings ON site_settings.site_setting_id=1
LEFT JOIN organisation_currencies ON organisation_currencies.user_id = invoice_master.user_id AND currencies.currency_id = organisation_currencies.currency_id
LEFT JOIN organisation_currencies as oc_eur ON oc_eur.user_id = invoice_master.user_id AND oc_eur.currency_code="EUR"
LEFT JOIN manual_transactions as drp ON drp.manual_transaction_id = invoice_master.drp_id AND drp.status=1
WHERE invoice_master.reserve_on=1 AND debtors_detail.type="debtor"
GROUP BY invoice_master.user_id, drp.transaction_date
) AS T;
ALTER TABLE `activity_logs`
CHANGE COLUMN `activity_id` `activity_id` INT NOT NULL AUTO_INCREMENT FIRST;
ALTER TABLE `activity_logs`
CHANGE COLUMN `admin_user_id` `admin_user_id` TINYINT UNSIGNED NOT NULL AFTER `log_element_id`;
ALTER TABLE `activity_logs`
CHANGE COLUMN `user_id` `user_id` SMALLINT UNSIGNED NOT NULL AFTER `admin_user_id`,
CHANGE COLUMN `organisation_id` `organisation_id` SMALLINT UNSIGNED NOT NULL AFTER `debtor_id`;
ALTER TABLE `activity_logs`
CHANGE COLUMN `debtor_id` `debtor_id` MEDIUMINT UNSIGNED NOT NULL AFTER `user_id`;
ALTER TABLE `activity_logs`
CHANGE COLUMN `invoice_id` `invoice_id` MEDIUMINT UNSIGNED NOT NULL AFTER `organisation_id`;
ALTER TABLE `activity_logs`
CHANGE COLUMN `title` `title` VARCHAR(35) NOT NULL AFTER `activity_id`;
ALTER TABLE `activity_logs`
ADD COLUMN `pc_value` DECIMAL(6,2) NOT NULL DEFAULT '0' AFTER `created_at`;
ALTER TABLE `admin_users`
CHANGE COLUMN `admin_user_id` `admin_user_id` TINYINT NOT NULL AUTO_INCREMENT FIRST;
UPDATE processing_commissions
SET processing_commissions.eur_eur=40
WHERE processing_commissions.user_id=143 AND processing_commissions.posted_date>=DATE("2016-06-07");
INSERT INTO `activity_logs` (`activity_id`, `title`, `link`, `log_element_id`, `admin_user_id`, `user_id`, `debtor_id`, `organisation_id`, `invoice_id`, `created_at`, `pc_value`)
SELECT NULL,'PC_VALUE_CHANGED',CONCAT('adminindex.php?do=editorganisation&id=',organisation_details.organisation_id),0,1,organisation_details.user_id,0,organisation_details.organisation_id,0,NOW(),organisation_details.trade_fee
FROM organisation_details
LEFT JOIN temp_registration ON temp_registration.user_id = organisation_details.user_id
WHERE temp_registration.user_type IN (3,4) AND DATE(organisation_details.created_at)>DATE('2016-01-01') AND organisation_details.organisation_reference_id NOT IN (11602000478);
UPDATE organisation_details
LEFT JOIN temp_registration ON temp_registration.user_id = organisation_details.user_id
SET organisation_details.trade_fee=15
WHERE temp_registration.user_type IN (3,4) AND DATE(organisation_details.created_at)>DATE('2016-01-01') AND organisation_details.organisation_reference_id NOT IN (11602000478)