removed the where statement for @soil_techs in contributions.sql. I have a script on the company directory that updates a Google sheet with all the dept/division info in it. I think we'll do a join on the data in order to constrain it inside Datastudio.

master
dtookey 4 years ago
parent 3df0ed1ab9
commit 4db0e8dd14

@ -3,16 +3,43 @@ DROP TABLE IF EXISTS tokens;
CREATE OR REPLACE INDEX billing_refnum ON billing (refNumber);
-- noinspection SqlWithoutWhere
UPDATE users SET hash = '';
UPDATE users
SET hash = '';
UPDATE project_lifecycle SET new_value = '+CREATED', changed_column = 'status' WHERE changed_column = 'created';
DELETE FROM project_lifecycle WHERE project_number = 'EVENT';
UPDATE project_lifecycle
SET new_value = '+CREATED',
changed_column = 'status'
WHERE changed_column = 'created';
DELETE
FROM project_lifecycle
WHERE project_number = 'EVENT';
UPDATE billing set accepted_date = accepted_date - INTERVAL 4 HOUR, line_created = line_created - INTERVAL 4 HOUR;
UPDATE dispatch SET date_dispatched = date_dispatched - INTERVAL 4 HOUR;
UPDATE project_comments set timestamp = timestamp - INTERVAL 4 HOUR;
UPDATE project_lifecycle SET timestamp = timestamp - INTERVAL 4 HOUR;
UPDATE billing
set accepted_date = accepted_date - INTERVAL 4 HOUR,
line_created = line_created - INTERVAL 4 HOUR;
UPDATE dispatch
SET date_dispatched = date_dispatched - INTERVAL 4 HOUR;
UPDATE project_comments
set timestamp = timestamp - INTERVAL 4 HOUR;
UPDATE project_lifecycle
SET timestamp = timestamp - INTERVAL 4 HOUR;
ALTER TABLE project_lifecycle ADD COLUMN id INT AUTO_INCREMENT KEY FIRST;
ALTER TABLE project_lifecycle
ADD COLUMN id INT AUTO_INCREMENT KEY FIRST;
CREATE OR REPLACE INDEX lifecycle_timestamp on project_lifecycle (timestamp);
CREATE OR REPLACE INDEX lifecycle_newval on project_lifecycle (new_value);
CREATE OR REPLACE INDEX lifecycle_newval on project_lifecycle (new_value);
######### technician categories ##############
CREATE OR REPLACE TABLE technician_category AS
SELECT DISTINCT users.email,
CONCAT(SUBSTR(ap.refnum, 1, 3), ' - ',
IF(ap.proj_type = 'Warranty', 'Structural', ap.proj_type)) AS flavor,
count(email) AS count
FROM users
INNER JOIN dispatch d ON users.pkey = d.dispatched_to
INNER JOIN all_projects ap ON d.project_fkey = ap.refnum
#where date_dispatched between NOW() - INTERVAL 180 DAY AND NOW()
GROUP BY flavor, email
ORDER BY count DESC;

@ -1,5 +1,7 @@
DROP TABLE IF EXISTS engineer_contributions;
DROP TABLE IF EXISTS rdu_soil_contributions;
#########################Engineer Contributions########################################################################
CREATE TABLE engineer_contributions AS
SELECT CONCAT(users.lname, ', ', users.fname) AS `Engineer`,
@ -18,6 +20,44 @@ FROM users
WHERE project_lifecycle.new_value IN ('+SEALED')
AND users.priv & POW(2, 25) > 0;
ALTER TABLE engineer_contributions
ADD COLUMN IF NOT EXISTS id INT AUTO_INCREMENT KEY FIRST;
#https://stackoverflow.com/a/9639548
DELETE
FROM engineer_contributions
WHERE id IN (SELECT bad_rows.id
FROM engineer_contributions AS bad_rows
INNER JOIN (SELECT engineer_contributions.`Project Number`, MAX(id) as min_id
FROM engineer_contributions
GROUP BY engineer_contributions.`Project Number`
HAVING count(*) > 1) AS good_rows
ON good_rows.`Project Number` =
bad_rows.`Project Number`
AND good_rows.min_id <> bad_rows.id);
ALTER TABLE engineer_contributions
DROP COLUMN IF EXISTS id;
#########################Soil Contributions#############################################################################
DROP TABLE IF EXISTS rdu_soil_contributions;
BEGIN
# this is where we put the 'whitelist' of soil techs. this is a very hands-on method that I dont' like
# we need to figure out a way to pull this info automatically
SET @soil_techs = (
'sgrygoruk@JDSConsulting.net',
'rnewton@JDSConsulting.net',
'kbaker@JDSConsulting.net',
'zputz@JDSConsulting.net',
'kgleisner@JDSConsulting.net',
'hfox@JDSConsulting.net',
'rmckey@JDSConsulting.net',
'csmith@JDSConsulting.net'
);
CREATE TABLE rdu_soil_contributions AS
SELECT CONCAT(users.lname, ', ', users.fname) AS `Engineer`,
project_lifecycle.project_number AS `Project Number`,
@ -32,36 +72,13 @@ FROM users
INNER JOIN all_projects ap on project_lifecycle.project_number = ap.refnum
INNER JOIN contacts on ap.contact_fkey = contacts.pkey
INNER JOIN clients on contacts.cl_fkey = clients.pkey
WHERE project_lifecycle.new_value IN ('+READY_FOR_INITIAL_REVIEW')
AND users.email in (
'sgrygoruk@JDSConsulting.net',
'rnewton@JDSConsulting.net',
'kbaker@JDSConsulting.net',
'zputz@JDSConsulting.net',
'kgleisner@JDSConsulting.net',
'hfox@JDSConsulting.net',
'rmckey@JDSConsulting.net',
'csmith@JDSConsulting.net'
);
WHERE project_lifecycle.new_value IN ('+READY_FOR_REVIEW');
ALTER TABLE engineer_contributions
ADD COLUMN IF NOT EXISTS id INT AUTO_INCREMENT KEY FIRST;
ALTER TABLE rdu_soil_contributions
ADD COLUMN IF NOT EXISTS id INT AUTO_INCREMENT KEY FIRST;
#https://stackoverflow.com/a/9639548
DELETE
FROM engineer_contributions
WHERE id IN (SELECT bad_rows.id
FROM engineer_contributions AS bad_rows
INNER JOIN (SELECT engineer_contributions.`Project Number`, MAX(id) as min_id
FROM engineer_contributions
GROUP BY engineer_contributions.`Project Number`
HAVING count(*) > 1) AS good_rows
ON good_rows.`Project Number` =
bad_rows.`Project Number`
AND good_rows.min_id <> bad_rows.id);
DELETE
FROM rdu_soil_contributions
WHERE id IN (SELECT bad_rows.id
@ -74,7 +91,7 @@ WHERE id IN (SELECT bad_rows.id
bad_rows.`Project Number`
AND good_rows.min_id <> bad_rows.id);
ALTER TABLE engineer_contributions
DROP COLUMN IF EXISTS id;
ALTER TABLE rdu_soil_contributions
DROP COLUMN IF EXISTS id;
DROP COLUMN IF EXISTS id;
END
Loading…
Cancel
Save