updated data structures to hopefully match clarity

master
dtookey 3 years ago
parent b5de485fa3
commit bdd97bcae9

@ -13,7 +13,7 @@ import (
const ( const (
dbCredsEnvName = "DB_CREDS" dbCredsEnvName = "DB_CREDS"
dbCredsHostName = "DB_HOST" dbCredsHostName = "DB_HOST"
dsnTemplate = "clarity:%s@tcp(%s)/%s?parseTime=true" dsnTemplate = "dtookey:%s@tcp(%s)/%s?parseTime=true"
ClarityDatabaseName = "projects" ClarityDatabaseName = "projects"
InsightDatabaseName = "insight" InsightDatabaseName = "insight"

@ -256,9 +256,7 @@ func fileNameToSQLDate(fileName string) string {
year := parts[0][:4] year := parts[0][:4]
month := parts[0][4:6] month := parts[0][4:6]
date := parts[0][6:8] date := parts[0][6:8]
if fileName == "/home/dtookey/work/clarity-reporting/paycor/20230205_Paycor_W5.csv" {
fmt.Printf("woops")
}
return fmt.Sprintf("%s-%s-%s", year, month, date) return fmt.Sprintf("%s-%s-%s", year, month, date)
} }
@ -284,7 +282,13 @@ func newDirectoryReportLine(headers []string, row []string) DirectoryReportLine
} }
line.EEId = v line.EEId = v
case "Department": case "Department":
parts := strings.Split(strVal, "- ")
if len(parts) > 1{
line.DepartmentName = parts[1]
}else{
line.DepartmentName = strVal line.DepartmentName = strVal
}
case "Manager": case "Manager":
line.Manager = strVal line.Manager = strVal
default: default:

@ -37,7 +37,7 @@ func updateTelecom() {
} }
func updateTimesheets() { func updateTimesheets() {
hr.UpdateEmployeeDirectory(path.Join("/home/dtookey/work/clarity-reporting/paycor_dir", "20221108_Paycor_Employee Roster.csv")) hr.UpdateEmployeeDirectory(path.Join("/home/dtookey/work/clarity-reporting/paycor_dir", "20230710_Paycor_Employee Roster.csv"))
hr.UpdateTimesheetReport("/home/dtookey/work/clarity-reporting/paycor") hr.UpdateTimesheetReport("/home/dtookey/work/clarity-reporting/paycor")
} }

@ -1,70 +1,14 @@
DROP VIEW IF EXISTS all_projects;
DROP TABLE IF EXISTS all_projects;
CREATE OR REPLACE UNIQUE INDEX ref_num ON projects (refnum);
CREATE OR REPLACE INDEX project_flavor ON projects (proj_type);
#todo we have to find out how to generate this from the info on tablemetadata
CREATE TABLE all_projects AS
SELECT *
FROM CLT2019
UNION
SELECT *
FROM CLT2020
UNION
SELECT *
FROM CLT2021
UNION
SELECT *
FROM CLT2022
UNION
SELECT *
FROM CLT2023
UNION
SELECT *
FROM RDU2019
UNION
SELECT *
FROM RDU2020
UNION
SELECT *
FROM RDU2021
UNION
SELECT *
FROM RDU2022
UNION
SELECT *
FROM RDU2023
UNION
SELECT *
FROM ENV2020
UNION
SELECT *
FROM ENV2021
UNION
SELECT *
FROM ENV2022
UNION
SELECT *
FROM SRV2020
UNION
SELECT *
FROM SRV2021
UNION
SELECT *
FROM WIL2022
UNION
SELECT *
FROM WIL2023;
CREATE UNIQUE INDEX ref_num ON all_projects (refnum); UPDATE projects
CREATE INDEX project_flavor ON all_projects (proj_type);
UPDATE all_projects
SET description = TRIM(BOTH ' ' FROM description) SET description = TRIM(BOTH ' ' FROM description)
WHERE description RLIKE '^ ' WHERE description RLIKE '^ '
OR description RLIKE ' $'; OR description RLIKE ' $';
UPDATE all_projects UPDATE projects
SET description = 'Soil/Footings' SET description = 'Soil/Footings'
WHERE description IN WHERE description IN
( (
@ -74,14 +18,14 @@ WHERE description IN
'Soils/Footings - Revisit #1' 'Soils/Footings - Revisit #1'
); );
UPDATE all_projects UPDATE projects
SET description = 'Framing Items' SET description = 'Framing Items'
WHERE description IN WHERE description IN
( (
'Framing Item' 'Framing Item'
); );
UPDATE all_projects UPDATE projects
SET description = '3rd Party Footing Inspection' SET description = '3rd Party Footing Inspection'
WHERE description IN WHERE description IN
( (

@ -1,5 +1,3 @@
CREATE INDEX IF NOT EXISTS new_value_idx ON project_lifecycle (new_value);
DROP TABLE IF EXISTS engineer_contributions; DROP TABLE IF EXISTS engineer_contributions;
#########################Engineer Contributions######################################################################## #########################Engineer Contributions########################################################################
@ -17,7 +15,7 @@ SELECT CONCAT(users.lname, ', ', users.fname) AS `Eng
ap.description AS `Description` ap.description AS `Description`
FROM users FROM users
INNER JOIN project_lifecycle ON pkey = modifier INNER JOIN project_lifecycle ON pkey = modifier
INNER JOIN all_projects ap on project_lifecycle.project_number = ap.refnum INNER JOIN projects ap on project_lifecycle.project_number = ap.refnum
INNER JOIN contacts on ap.contact_fkey = contacts.pkey INNER JOIN contacts on ap.contact_fkey = contacts.pkey
INNER JOIN clients on contacts.cl_fkey = clients.pkey INNER JOIN clients on contacts.cl_fkey = clients.pkey
WHERE project_lifecycle.new_value IN ('+SEALED') WHERE project_lifecycle.new_value IN ('+SEALED')

@ -2,8 +2,8 @@ DROP TABLE IF EXISTS event_counts;
CREATE TABLE event_counts AS CREATE TABLE event_counts AS
SELECT DATE(timestamp) AS event_date, SELECT DATE(timestamp) AS event_date,
all_projects.proj_type AS division_raw, projects.proj_type AS division_raw,
SUBSTRING(all_projects.refnum, 1, 3) AS prefix, SUBSTRING(projects.refnum, 1, 3) AS prefix,
if(SUBSTRING(new_value, 1, 1) = '+', 1, -1) AS event_count, if(SUBSTRING(new_value, 1, 1) = '+', 1, -1) AS event_count,
SUBSTRING(`new_value` FROM 2) AS flag SUBSTRING(`new_value` FROM 2) AS flag
FROM project_lifecycle FROM project_lifecycle

@ -1 +1 @@
SELECT * FROM projects.all_projects; SELECT * FROM projects.projects;

@ -1,3 +1,3 @@
SELECT refnum, location, IF(price_override = 1, override_price, default_price) as fee SELECT refnum, location, IF(price_override = 1, override_price, default_price) as fee
FROM projects.all_projects FROM projects.projects
inner join billing b on all_projects.refnum = b.refNumber; inner join billing b on projects.refnum = b.refNumber;
Loading…
Cancel
Save