ThreadCount Community edition
Uniform stock management for healthcare linen rooms: the coordinator app, the phone counter and the staff app, for your own server. Built from 49da3a4 on 2026-09-13. Licensed under the Functional Source License (FSL-1.1-ALv2).
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
-- The uniform entitlement the signed order form describes.
|
||||
--
|
||||
-- This runs against a live linen room, so every column added here carries a default: a NOT NULL
|
||||
-- with nothing behind it fails the moment a table has rows in it, and all of these do.
|
||||
|
||||
-- The initial kit for everybody who is not on the nursing FTE table, in sets (a set being a top and
|
||||
-- a bottom). Separate from defaultEntitlement, which keeps its meaning — garments per financial
|
||||
-- year — for everything that already reads it.
|
||||
ALTER TABLE "Facility" ADD COLUMN "initialSets" INTEGER NOT NULL DEFAULT 3;
|
||||
|
||||
-- The footer of the printed order form. Empty until a facility fills them in, because the only
|
||||
-- place a hospital's own e-mail address and phone number may live is that hospital's own settings.
|
||||
ALTER TABLE "Facility" ADD COLUMN "coordinatorEmail" TEXT NOT NULL DEFAULT '';
|
||||
ALTER TABLE "Facility" ADD COLUMN "coordinatorPhone" TEXT NOT NULL DEFAULT '';
|
||||
|
||||
-- Which staff groups the nursing rules apply to. The four names are the ones the form itself lists
|
||||
-- under a single FTE table; USINS is on it and contains none of the letters the old test matched.
|
||||
ALTER TABLE "Facility" ADD COLUMN "nursingGroups" TEXT[] DEFAULT ARRAY['Registered Nurse', 'Enrolled Nurse', 'Assistant in Nursing', 'USINS']::TEXT[];
|
||||
|
||||
-- Nobody's entitlement may move on deploy. Until today a group counted as nursing if its name
|
||||
-- contained "nurs" anywhere, so a facility that invented "Nurse Practitioner" or "Nursing
|
||||
-- Assistant" has people relying on that right now, and handing them only the four default names
|
||||
-- would quietly drop them onto a counted allowance. Every group a facility actually uses — in its
|
||||
-- settings list and on its staff records — that the old test called nursing is therefore carried
|
||||
-- across alongside the defaults.
|
||||
UPDATE "Facility" f
|
||||
SET "nursingGroups" = ARRAY(
|
||||
SELECT DISTINCT g
|
||||
FROM (
|
||||
SELECT unnest(f."nursingGroups") AS g
|
||||
UNION SELECT unnest(f."staffGroups")
|
||||
UNION SELECT s."group" FROM "Staff" s WHERE s."facilityId" = f."id"
|
||||
) t
|
||||
WHERE g <> '' AND (g ILIKE '%nurs%' OR g = ANY(f."nursingGroups"))
|
||||
ORDER BY g
|
||||
);
|
||||
|
||||
-- Combined FTE as the form writes it: "1.0" … "0.1", or "Casual". A string, like Approval.fte,
|
||||
-- because Casual is not a number. Blank on every existing row, and blank proposes no kit, so
|
||||
-- nothing changes for anyone already on the register until somebody sets one.
|
||||
ALTER TABLE "Staff" ADD COLUMN "fte" TEXT NOT NULL DEFAULT '';
|
||||
Reference in New Issue
Block a user