testapi/app/Console/Commands/mkdemodata.php

455 lines
36 KiB
PHP

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Carbon\Carbon;
use App\Models\SmartdokProfile;
use App\Models\Department;
use App\Models\Project;
use App\Models\WorkHour;
class MkDemoData extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'mkdemodata
{--profiles : Generate SmartdokProfile demo data}
{--departments : Generate Department demo data}
{--projects : Generate Project demo data}
{--workhours : Generate WorkHour demo data}
';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Generate demo data for SmartdokProfile, Department, Project, and WorkHour models';
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
// Define arrays for random selection (fill these later)
$profileNames = [
'first_names' => [
"Aksel", "Alma", "Andreas", "Anna", "Arne", "Aurora", "Benedicte", "Benjamin", "Bjørn", "Camilla",
"Cecilie", "Christer", "Dag", "Daniel", "David", "Einar", "Eirik", "Elin", "Emil", "Emilie",
"Erik", "Even", "Fredrik", "Gerd", "Grethe", "Gunnar", "Halvor", "Hanna", "Hans", "Håkon",
"Hege", "Henrik", "Ida", "Ingrid", "Ivar", "Jan", "Jens", "Joakim", "Johanne", "Jonas",
"Jorunn", "Jørgen", "Julie", "Kaja", "Kari", "Karoline", "Kasper", "Katrine", "Kenneth", "Kim",
"Kine", "Kristian", "Kristin", "Kurt", "Lars", "Leif", "Line", "Linn", "Lise", "Liv",
"Magnus", "Maja", "Maren", "Maria", "Marie", "Marit", "Markus", "Marthe", "Martin", "Mathias",
"Mats", "Mette", "Mia", "Mikkel", "Mona", "Nils", "Nina", "Odd", "Ola", "Ole",
"Oskar", "Pål", "Per", "Ragnhild", "Rasmus", "Reidar", "Renate", "Roar", "Robert", "Ronny",
"Rune", "Sander", "Sandra", "Sara", "Signe", "Silje", "Simen", "Siri", "Sofie", "Stian"
],
'last_names' => [
"Andersen", "Antonsen", "Aune", "Bakke", "Berg", "Berge", "Berntsen", "Birkeland", "Blom", "Borge",
"Dahl", "Dale", "Danielsen", "Egeland", "Eggen", "Eide", "Eliassen", "Eriksen", "Evensen", "Fjeld",
"Fjell", "Fredriksen", "Furseth", "Gabrielsen", "Gundersen", "Gustavsen", "Halvorsen", "Hansen", "Haugen", "Hauge",
"Haugland", "Hellesøy", "Hellevik", "Hemmingsen", "Hovland", "Husby", "Iversen", "Jakobsen", "Jensen", "Johannesen",
"Johansen", "Johnsen", "Karlsen", "Knudsen", "Knutsen", "Kristensen", "Kristiansen", "Krogstad", "Kvamme", "Langli",
"Larsen", "Lauvik", "Lie", "Lund", "Magnussen", "Martinsen", "Mathisen", "Mikkelsen", "Moen", "Myhre",
"Nergaard", "Nilsen", "Nordahl", "Nordby", "Næss", "Olsen", "Opdahl", "Pedersen", "Rasmussen", "Rognli",
"Rønning", "Rygh", "Sand", "Sandberg", "Sandnes", "Simonsen", "Sivertsen", "Skogen", "Solbakken", "Solberg",
"Sørensen", "Stavrum", "Stenersen", "Stokke", "Strand", "Strømsø", "Sund", "Sveen", "Sæther", "Sørli",
"Tangen", "Tellefsen", "Thoresen", "Tveit", "Ulriksen", "Vagle", "Vik", "Viken", "Vold", "Ødegård"
],
];
$departmentNames = [
"Økonomiavdelingen", "Personalavdelingen", "HR-avdelingen", "IT-avdelingen", "Driftsavdelingen",
"Kommunikasjonsavdelingen", "Kundeservice", "Forskning og utvikling", "Lønnsavdelingen", "Regnskapsavdelingen",
"Innkjøpsavdelingen", "Juridisk avdeling", "Markedsavdelingen", "Salgsteamet", "Servicedesk", "Supportavdelingen",
"Prosjektavdelingen", "Planavdelingen", "Byggesaksavdelingen", "Teknisk avdeling", "Strategiavdelingen",
"Ledelsessekretariatet", "Analyseavdelingen", "Utdanningsseksjonen", "Arkivavdelingen", "Rekrutteringsavdelingen",
"Brukerstøtte", "Digitaliseringsavdelingen", "Innovasjonsavdelingen", "Logistikkavdelingen", "Miljøavdelingen",
"HMS-avdelingen", "Sikkerhetsavdelingen", "Kvalitetsavdelingen", "Tjenesteutvikling", "Operativ enhet",
"Forvaltningsavdelingen", "Bymiljøavdelingen", "Oppvekstavdelingen", "Barnehageseksjonen", "Skoleseksjonen",
"Teknologi og utvikling", "Næringsavdelingen", "Kulturavdelingen", "Informasjonsavdelingen", "Kommuneadvokaten",
"Internrevisjonen", "Kundeopplevelse", "Datavarehus og innsikt", "Strategi og analyse", "Digital transformasjon",
"Utvendig drift", "Intern IT", "Fagavdelingen", "Avdeling for samfunnskontakt", "Avdeling for prosjektledelse",
"Forretningsutvikling", "Transportavdelingen", "Eiendomsforvaltning", "Reiselivsavdelingen", "Dokumentsenteret",
"Systemforvaltning", "Brannsikkerhet", "HR og organisasjon", "Lønn og personal", "Budsjett og finans",
"Saksbehandlerteam", "Brukeradministrasjon", "Forskningsstøtte", "Utviklingsseksjonen", "Teknisk støtte",
"HR-partnere", "Drift og vedlikehold", "IT-sikkerhet", "Skatteoppfølging", "Kundeavdelingen",
"Infrastruktur og nettverk", "Sosiale medier-teamet", "Reiseadministrasjon", "Journalføring og arkiv",
"Prosessforbedring", "Arbeidsmiljøutvalget", "Produktutvikling", "Digital kommunikasjon", "Revisjonsavdelingen",
"Kundereisen", "Tjenestekatalog", "Fagstab", "Innbyggertorg", "Velferdstjenester", "Beredskap og krisehåndtering",
"Kontor for internasjonalt samarbeid", "Eierskapsavdelingen", "Fellesadministrasjonen", "Boligforvaltning",
"Avdeling for offentlige anskaffelser", "Datateamet", "Digital forvaltning", "Informasjonssikkerhet",
"Strategisk stab", "Kvalitet og forbedring", "Kunnskapsutvikling"
];
$projectNames = [
"Prosjekt Ny Start", "Digital Fremtid", "Kunde360", "Grønn Omstilling", "Effektiv Drift",
"Smart By 2030", "Trygg Skolevei", "Rekrutt 2.0", "Digital Samhandling", "Datadrevet Innsikt",
"Prosjekt Arbeidsglede", "Bærekraft i Fokus", "Felles Plattform", "Modernisering 2025", "Mobil Først",
"HR Next", "Prosjekt Miljøbyen", "Felles HR-system", "Digital Arkivflyt", "Innbyggerdialog 2.0",
"Kontor for Kontor", "Prosjekt Klar Tale", "Trygg og Sikker", "Ny Visuell Profil", "Skytjenester 2026",
"Innovasjonsløftet", "Samspill 2.0", "Prosjekt Klarhet", "Grønn Mobilitet", "StrategiReboot",
"Kvalitet i Tjenester", "Prosjekt Kompetanse", "Smidig Overgang", "Felles IT-struktur", "Innkjøpsløft",
"Smart Skole", "Effektiv Bemanning", "Energi og Effektivitet", "Prosjekt God Morgen", "Digitale Prosesser",
"Veien Videre", "Prosjekt Nye Muligheter", "Framtidens Hjemmetjeneste", "Datadeling i Praksis", "Innbyggerportalen",
"Felles Sakssystem", "Trygg Hverdag", "Ren Digitalisering", "Grønn Strategi", "Prosjekt Ny Giv",
"Et Bedre Arbeidsmiljø", "Prosjekt Enhet", "Digital Tilgjengelighet", "Smart Infrastruktur", "Papirløs 2025",
"Prosjekt Riktig Kompetanse", "Sikkerhet i Fokus", "Kontinuerlig Forbedring", "Prosjekt Klar Oversikt",
"Felles Kommunikasjon", "Miljømål 2030", "Reisen til Skyen", "Tilbake til Kontoret", "Prosjekt Digital Kultur",
"Brukerfokusert Utvikling", "Automatisering Nå", "Egenmeldt Framtid", "Prosjekt Innsikt", "Felles Digitale Flater",
"Plattform24", "Grønn Drift", "Prosjekt Datasikkerhet", "Ny Struktur", "Arbeid 2.0", "Prosjekt Kompetanseløft",
"Strategisk Veikart", "Fremtidens Kontor", "Digital Styring", "Reisefri Samhandling", "Prosjekt Smarte Løsninger",
"Brukeren Først", "Prosjekt Nye Rammer", "Nyskapning i Nord", "Helhetlig Tjenestereise", "Grønt Innkjøp",
"DataHub Kommunal", "Lønn og Rolle", "Digital Døgnåpen", "Prosjekt Kontinuitet", "Klima og Energi",
"Sikker Jobbhverdag", "Smart Senterstruktur", "Ny HR-portal", "Kundereise i Fokus", "Automatiseringsløftet",
"Tjenestedesign 2025", "Effektiv Vedlikehold", "Nye Arbeidsformer", "Avviksfri Drift", "Innsyn og Åpenhet",
"Framtidens Elevtjeneste", "Strategisk Sikkerhet", "Felles Admin", "Velferd på Nett", "Kunnskapsløft Intern"
];
$workHourComments = [
"Utviklet nye funksjoner i løsningen for Prosjekt 1,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Hjalp til med forberedelser til workshop for Prosjekt 2. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Deltok i brukertest for Prosjekt 3,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 4. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 5,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 6,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Utviklet nye funksjoner i løsningen for Prosjekt 7,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Oppdaterte prosjektstyringsverktøy for Prosjekt 8 etter interne endringer. Loggførte aktiviteter,
justerte tidslinjer og la til kommentarer for tydeligere historikk. Dette gir teamet bedre oversikt over fremdriften.",
"Utviklet nye funksjoner i løsningen for Prosjekt 9,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Deltok i brukertest for Prosjekt 10,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 11. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Oppdaterte prosjektstyringsverktøy for Prosjekt 12 etter interne endringer. Loggførte aktiviteter,
justerte tidslinjer og la til kommentarer for tydeligere historikk. Dette gir teamet bedre oversikt over fremdriften.",
"Deltok i brukertest for Prosjekt 13,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 14. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 15,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 16,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Deltok i møte med prosjektgruppen for Prosjekt 17,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Deltok i brukertest for Prosjekt 18,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Deltok i brukertest for Prosjekt 19,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Skrev referat fra prosjektmøte i Prosjekt 20. Oppsummerte beslutninger,
fordelte oppgaver og lastet opp til felles dokumentbibliotek. Sendte ut e-post til alle involverte med påminnelser og neste møtetidspunkt.",
"Utviklet nye funksjoner i løsningen for Prosjekt 21,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 22. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 23,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Skrev referat fra prosjektmøte i Prosjekt 24. Oppsummerte beslutninger,
fordelte oppgaver og lastet opp til felles dokumentbibliotek. Sendte ut e-post til alle involverte med påminnelser og neste møtetidspunkt.",
"Oppdaterte prosjektstyringsverktøy for Prosjekt 25 etter interne endringer. Loggførte aktiviteter,
justerte tidslinjer og la til kommentarer for tydeligere historikk. Dette gir teamet bedre oversikt over fremdriften.",
"Utviklet nye funksjoner i løsningen for Prosjekt 26,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 27,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 28,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Deltok i møte med prosjektgruppen for Prosjekt 29,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 30,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 31. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Deltok i møte med prosjektgruppen for Prosjekt 32,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 33,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Deltok i brukertest for Prosjekt 34,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Deltok i møte med prosjektgruppen for Prosjekt 35,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 36,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Deltok i møte med prosjektgruppen for Prosjekt 37,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 38. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Skrev referat fra prosjektmøte i Prosjekt 39. Oppsummerte beslutninger,
fordelte oppgaver og lastet opp til felles dokumentbibliotek. Sendte ut e-post til alle involverte med påminnelser og neste møtetidspunkt.",
"Deltok i brukertest for Prosjekt 40,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 41,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 42,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 43,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 44,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 45,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Utviklet nye funksjoner i løsningen for Prosjekt 46,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Skrev referat fra prosjektmøte i Prosjekt 47. Oppsummerte beslutninger,
fordelte oppgaver og lastet opp til felles dokumentbibliotek. Sendte ut e-post til alle involverte med påminnelser og neste møtetidspunkt.",
"Hjalp til med forberedelser til workshop for Prosjekt 48. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Utviklet nye funksjoner i løsningen for Prosjekt 49,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Oppdaterte prosjektstyringsverktøy for Prosjekt 50 etter interne endringer. Loggførte aktiviteter,
justerte tidslinjer og la til kommentarer for tydeligere historikk. Dette gir teamet bedre oversikt over fremdriften.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 51. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Hjalp til med forberedelser til workshop for Prosjekt 52. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Hjalp til med forberedelser til workshop for Prosjekt 53. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Hjalp til med forberedelser til workshop for Prosjekt 54. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Deltok i møte med prosjektgruppen for Prosjekt 55,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Skrev referat fra prosjektmøte i Prosjekt 56. Oppsummerte beslutninger,
fordelte oppgaver og lastet opp til felles dokumentbibliotek. Sendte ut e-post til alle involverte med påminnelser og neste møtetidspunkt.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 57. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Hjalp til med forberedelser til workshop for Prosjekt 58. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Deltok i møte med prosjektgruppen for Prosjekt 59,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 60,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 61,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 62. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Deltok i brukertest for Prosjekt 63,
der vi samlet tilbakemeldinger fra interne brukere. Dokumenterte funn og oppdaterte kravspesifikasjonen i henhold til det som kom fram. Viktig del av iterativ utvikling.",
"Hjalp til med forberedelser til workshop for Prosjekt 64. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 65,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 66,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Oppdaterte prosjektstyringsverktøy for Prosjekt 67 etter interne endringer. Loggførte aktiviteter,
justerte tidslinjer og la til kommentarer for tydeligere historikk. Dette gir teamet bedre oversikt over fremdriften.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 68. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 69,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 70,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Utviklet nye funksjoner i løsningen for Prosjekt 71,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 72,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Utviklet nye funksjoner i løsningen for Prosjekt 73,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 74,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Deltok i møte med prosjektgruppen for Prosjekt 75,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 76,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 77,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Deltok i møte med prosjektgruppen for Prosjekt 78,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Utviklet nye funksjoner i løsningen for Prosjekt 79,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Oppdaterte prosjektstyringsverktøy for Prosjekt 80 etter interne endringer. Loggførte aktiviteter,
justerte tidslinjer og la til kommentarer for tydeligere historikk. Dette gir teamet bedre oversikt over fremdriften.",
"Deltok i møte med prosjektgruppen for Prosjekt 81,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 82,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 83,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 84. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 85,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Utviklet nye funksjoner i løsningen for Prosjekt 86,
inkludert testing og dokumentasjon. Samarbeidet tett med utviklingsteamet for å løse oppdagede bugs og sikre en stabil leveranse til neste sprint.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 87. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 88,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 89. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Hjalp til med forberedelser til workshop for Prosjekt 90. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Skrev referat fra prosjektmøte i Prosjekt 91. Oppsummerte beslutninger,
fordelte oppgaver og lastet opp til felles dokumentbibliotek. Sendte ut e-post til alle involverte med påminnelser og neste møtetidspunkt.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 92. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Arbeidet med analyse og innsiktsinnsamling for Prosjekt 93. Brukte tid på å hente ut data,
kvalitetssikre informasjon og lage et første utkast til rapport. Resultatene vil bidra til bedre beslutningsgrunnlag videre i prosessen.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 94,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Deltok i møte med prosjektgruppen for Prosjekt 95,
hvor vi diskuterte fremdriften og identifiserte eventuelle flaskehalser. Gjennomgikk dokumentasjon og oppdaterte prosjektplaner for å sikre at alle involverte er informert.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 96,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
"Gjorde teknisk oppsett i utviklingsmiljøet for Prosjekt 97,
inkludert konfigurering av servere og deploy-rutiner. Brukte god tid på testing og feilretting for å sikre at systemet fungerer som forventet.",
"Hjalp til med forberedelser til workshop for Prosjekt 98. Laget presentasjonsmateriell,
organiserte agenda og koordinerte med eksterne bidragsytere. Fokuset var å sikre god involvering og innsikt fra deltakerne.",
"Gjennomførte kvalitetssikring av eksisterende leveranser i Prosjekt 99. Gikk gjennom dokumentasjon,
sjekket etter avvik og laget en oppsummeringsrapport med anbefalinger. Dette gir bedre struktur og oversikt fremover.",
"Gjennomførte presentasjon for ledelsen om status i Prosjekt 100,
inkludert nøkkeltall,
risikoer og anbefalinger. Fikk gode tilbakemeldinger og justerte fokus for neste uke basert på innspillene.",
];
// Generate SmartdokProfile data
if ($this->option('profiles')) {
$count = (int) $this->ask('How many SmartdokProfile records do you want to create? (1-1000)');
if ($count < 1 || $count > 1000) {
$this->error('Please enter a number between 1 and 1000.');
return 1;
}
for ($i = 0; $i < $count; $i++) {
$first = Arr::random($profileNames['first_names']);
$last = Arr::random($profileNames['last_names']);
$username = Str::slug(strtolower("{$first}.{$last}"));
SmartdokProfile::create([
'id' => (string) Str::uuid(),
'username' => $username,
'name' => "{$first} {$last}",
]);
}
$this->info("Successfully created {$count} SmartdokProfile records.");
}
// Generate Department data
if ($this->option('departments')) {
$count = (int) $this->ask('How many Department records do you want to create? (1-1000)');
if ($count < 1 || $count > 1000) {
$this->error('Please enter a number between 1 and 1000.');
return 1;
}
for ($i = 0; $i < $count; $i++) {
Department::create([
'name' => Arr::random($departmentNames),
]);
}
$this->info("Successfully created {$count} Department records.");
}
// Generate Project data (requires at least one profile and one department)
if ($this->option('projects')) {
if (SmartdokProfile::count() === 0 || Department::count() === 0) {
$this->error('Cannot create projects: please ensure at least one SmartdokProfile and one Department exist.');
return 1;
}
$i = 1;
foreach ($projectNames as $name) {
$project = Project::create([
'project_name' => $name,
'project_number' => (string) rand(1000, 9999),
]);
// Attach random profiles and departments
$profileIds = SmartdokProfile::inRandomOrder()->take(rand(1, 3))->pluck('id')->toArray();
$departmentIds = Department::inRandomOrder()->take(rand(1, 3))->pluck('id')->toArray();
$project->profiles()->attach($profileIds);
$project->departments()->attach($departmentIds);
$i++;
}
$this->info("Successfully created {$i} Project records (with random attachments).");
}
// Generate WorkHour data (requires at least one profile and one project)
if ($this->option('workhours')) {
if (SmartdokProfile::count() === 0 || Project::count() === 0) {
$this->error('Cannot create work hours: please ensure at least one SmartdokProfile and one Project exist.');
return 1;
}
$count = (int) $this->ask('How many WorkHour records do you want to create? (1-1000)');
if ($count < 1 || $count > 1000) {
$this->error('Please enter a number between 1 and 1000.');
return 1;
}
$startInput = $this->ask('Enter start date (dd/mm/YYYY)');
$endInput = $this->ask('Enter end date (dd/mm/YYYY)');
try {
$start = Carbon::createFromFormat('d/m/Y', $startInput)->startOfDay();
$end = Carbon::createFromFormat('d/m/Y', $endInput)->endOfDay();
} catch (\Exception $e) {
$this->error('Invalid date format. Please use dd/mm/YYYY.');
return 1;
}
for ($i = 0; $i < $count; $i++) {
$userId = SmartdokProfile::inRandomOrder()->first()->id;
$projectId = Project::inRandomOrder()->first()->id;
$ordinaryHours = rand(1, 8);
$comment = Arr::random($workHourComments);
// Pick a random timestamp between start and end
$timestamp = rand($start->timestamp, $end->timestamp);
$workDate = Carbon::createFromTimestamp($timestamp)->format('Y-m-d H:i:s');
WorkHour::create([
'user_id' => $userId,
'project_id' => $projectId,
'ordinary_hours'=> $ordinaryHours,
'work_date' => $workDate,
'comment' => $comment,
]);
}
$this->info("Successfully created {$count} WorkHour records.");
}
return 0;
}
}