https://foreningenbs.no/dugnaden/
Merk: Det er påbegynt en omskriving av dette for å modernisere oppsettet
og åpne opp får å enklere videreutvikle systemet. Se modernize
branchen:
https://github.com/blindern/dugnaden/tree/modernize
Slik gjorde vi det vår 2017:
- Alle ble lagt inn i systemet og tildelt lørdagsdugader, dugnadsfri ble lagt inn osv
- La inn alle anretningsdugnadene som dugnader (se regneark)
- Hentet ut liste over de som skulle få anretnignsdugnad (se under)
- Hentet ut liste over ID-ene til anretningsdugnadene som var lagt inn
- Mappet de to listene over og oppdaterte dugnaden fra lørdagsdugnad til anretningsdugnad ved å kjøre en update-spørring per rad
Endre 47 til det antall personer som vi skal hente liste over. Med 47 blir det altså 94 rader.
SELECT s.deltager_id
FROM (
SELECT deltager_beboer, RAND() x FROM (
SELECT deltager_beboer, COUNT(deltager_id) ant
FROM bs_deltager
GROUP BY deltager_beboer
HAVING ant = 2
) r
ORDER BY RAND()
LIMIT 47
) r2
JOIN bs_deltager s ON r2.deltager_beboer = s.deltager_beboer
ORDER BY r2.x
SET lc_time_names = 'nb_NO';
SELECT
/*DATE_FORMAT(dugnad_dato, '%a'),*/
DATE(dugnad_dato),
CONCAT(beboer_for, ' ', beboer_etter)
FROM
bs_deltager
JOIN bs_beboer ON deltager_beboer = beboer_id
JOIN bs_dugnad ON deltager_dugnad = dugnad_id
WHERE dugnad_type = 'anretning'
ORDER BY dugnad_dato
SELECT
DATE(dugnad_dato),
COUNT(deltager_beboer)
FROM
bs_dugnad
LEFT JOIN bs_deltager ON deltager_dugnad = dugnad_id
LEFT JOIN bs_beboer ON deltager_beboer = beboer_id
WHERE dugnad_type = 'lordag' AND dugnad_slettet = 0
GROUP BY dugnad_dato
ORDER BY dugnad_dato