@ -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