- Spegnimento
- 3 settembre 2026 alle ore 22:00 UTC
- Autore
- Kamo
- Impegno
- 66fa8d5
Due entità, sei enum e due depositi sotto com.kamo.z.shared.hr.careers, più i tre tipi condivisi la caratteristica ha dovuto ampliare. JobPosting è tre gruppi di colonne che vale la pena di distinguere: che lavoro è (titolo, dipartimento, forma di fidanzamento, disposizione, descrizione, posizione, pagamento), dove si trova nella sua LIFE (status, date, headcount), e che domanda la sua domanda FORM — dodici chiedere* colonne, ciascuna un ApplicationFieldRequest. La posizione è volutamente duplicabile e RESOLVED piuttosto che copiata. usoCompany Indirizzo significa "dove l'organizzazione dice che è" e viene letto al DTO il tempo dal proprio indirizzo dell'org; copiarlo in su salva lo congela come era quel giorno, così una mossa di ufficio lascerebbe ogni postazione aperta puntando al vecchio edificio. Nulla fallirebbe — gli annunci sarebbero semplicemente sbagliati. I sei override le colonne tengono l'alternativa e sono tutte facoltative, quindi una pubblicazione può nominare una città e nient'altro. Applicazione FieldRequest è un enum per dodici domande piuttosto che un boolean per domanda più un curriculum separato enum. Un booleano non può dire "chiedere, ma non insistere", e il momento HR vuole che per un campo il booleano deve essere ampliato Comunque. Le domande di istruzione NON sono tra loro: sono legate istruzione richiesta, quindi un post che richiede una laurea chiede sempre dove è venuto da e non c'è interruttore che può contraddire il requisito tre campi sopra. JobApplication è una riga per (posting, membro), imposto da un vincolo unico. Ritirare i set CONDRAWN e ri-applicare rilancia la stessa riga piuttosto che aggiungere un secondo — in modo che nessuno può inondare un distacco, il conteggio richiedente di HR è un conteggio di persone, e l'interesse di una persona per un lavoro rimane in un posto. Il richiedente nome, e-mail e telefono sono SNAPSHOTTED a presentare: sono anche live su Membro, e Questo è il problema. Un record di assunzione deve dire chi ha applicato e come raggiungerli il giorno che hanno applicato, e un membro che successivamente cambia il loro nome preferito deve non riscrivere silenziosamente un'applicazione HR è a parte attraverso la lettura. I tre tipi ampliati: - Lavoro Tipo guadagni FLEXIBLE. Il campo di lavoro del profilo del membro e un posting's Arrangement sono la stessa domanda fatta in due momenti, quindi condividono un enum — una copia privata su entrambi i lati si allontana il giorno l'altro guadagna un valore. FLEXIBLE è distinta da HYBRID: l'ibrido è un datore di lavoro diviso, flessibile dice non c'è una tale divisione allo stato. Allegato, in modo da nessuna mossa ordinaria immagazzinata — ma TeamMember.location è @Enumerated (ORDINAL) e Hibernate congelare un CHECK (0..2) quando l'enum aveva tre valori, che ddl-auto non si allarga. La goccia è dentro KamoInitializer E' il momento giusto. - RoleRightType guadagna MANAGE JOB POSTINGS (302) e VIEW JOB LISTINGS (303), entrambi radici standalone sotto HRS e deliberatamente NON una coppia VIEW/MANAGE. Il primo è una scheda a destra a forma di 182-186; la seconda è tenuta dal personale ordinario in modo che essi può leggere la scheda interna e applicare. Abbinarli porterebbe ogni mano dipendente che può vedere la scheda la capacità di riscrivere gli annunci su di esso, o fare ritirare la propria borsa di studio delle risorse umane chiudere il consiglio a tutti. RoleRightHierarchyTest in questo commit: valori 287 -> 289, standalone 38 -> 40, radici 76 -> 78; i bambini sono invariati. - ImageAssocType acquisisce JOB APPLICATION (id 19, ordinale 17) per il curriculum, oggetto alla APPLICAZIONE piuttosto che alla ricorrente — la lettura delle risorse umane deve vedi il file inviato con tale applicazione, non la cosa più recente il membro caricata ovunque. Si ottiene il proprio StorageDomain piuttosto che essere piegato in HR RESOURCES, che è il luogo tentante e quello sbagliato: le risorse HR sono un biblioteca l'org curates and prunes, questi sono documenti terzi invio e la linea cresce solo mentre una tavola è aperta. Due guardie di copertura catturate quell'ultimo cambiamento e sono il motivo per cui è completo: StorageDomainCoverageTest ha rifiutato un'associazione nessun dominio fatturato, e ClinicalDocumentReuseTest ha affermato PATIENT CHART "deve essere l'ultimo". Il secondo era affermare un proxy — ciò che effettivamente deve tenere è che il suo ordinale è ancora 16, quindi un valore inserito BEFORE viene catturato mentre un valore aggiunto dopo che è consentito, che è l'unico cambiamento per cui l'enum è esplicitamente progettato.