This commit is contained in:
2021-10-14 22:04:11 +00:00
parent 477d752f89
commit 759bb5158c
3 changed files with 9 additions and 6 deletions

View File

@@ -19,9 +19,8 @@ LEFT JOIN LATERAL
AWORKORDER.ID AS LASTWORKORDERID
FROM AWORKORDER
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
WHERE AWORKORDERSTATUS.COMPLETED = TRUE
AND AWORKORDER.CUSTOMERID = ACUSTOMER.ID
ORDER BY AWORKORDER.ID DESC
WHERE AWORKORDER.CUSTOMERID = ACUSTOMER.ID
ORDER BY AWORKORDER.SERVICEDATE DESC
LIMIT 1) AS LWO ON TRUE";
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);

View File

@@ -23,11 +23,9 @@ LEFT JOIN LATERAL
AWORKORDERITEMUNIT.ID AS LASTWORKORDERITEMUNITID
FROM AWORKORDER
LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
LEFT JOIN AWORKORDERITEMUNIT ON AWORKORDERITEM.ID = AWORKORDERITEMUNIT.WORKORDERITEMID
WHERE AWORKORDERITEMUNIT.ID = AMAINUNIT.ID
AND AWORKORDERSTATUS.COMPLETED = TRUE
ORDER BY AWORKORDER.ID DESC
ORDER BY AWORKORDER.SERVICEDATE DESC
LIMIT 1) AS LWO ON TRUE";

View File

@@ -799,6 +799,9 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
+ "postaddress TEXT, postcity TEXT, postregion TEXT, postcountry TEXT, postcode TEXT, address TEXT, city TEXT, region TEXT, country TEXT, latitude DECIMAL(9,6), longitude DECIMAL(9,6) "
+ ")");//note deliberately not referencing contract here as it's not tied to it, just needs to keep track of it in case user selects alternate then triggers recalc
//This index is *critical* for performance on customer list fetching last workorder id in lateral join
await ExecQueryAsync("CREATE INDEX idx_aworkorder_customerid ON aworkorder (customerid)");
await ExecQueryAsync("CREATE TABLE aworkorderstate (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderid BIGINT NOT NULL REFERENCES aworkorder (id), "
+ "workorderstatusid BIGINT NOT NULL REFERENCES aworkorderstatus (id), created TIMESTAMP NOT NULL, userid BIGINT NOT NULL REFERENCES auser (id)"
+ ")");
@@ -864,6 +867,9 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
+ "notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY, unitid BIGINT NOT NULL REFERENCES aunit"
+ ")");
//This index is *critical* for performance on Unit list fetching last workorder id in lateral join
await ExecQueryAsync("CREATE INDEX idx_aworkorderitemunit_unitidid ON aworkorderitemunit (unitid)");
//WORKORDERITEM OUTSIDE SERVICE
await ExecQueryAsync("CREATE TABLE aworkorderitemoutsideservice (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), "
+ "notes TEXT, unitid BIGINT NOT NULL REFERENCES aunit, vendorsenttoid BIGINT REFERENCES avendor, vendorsentviaid BIGINT REFERENCES avendor, rmanumber text, trackingnumber text, "