- Spegnimento
- 27 agosto 2026 alle ore 07:42 UTC
- Autore
- Kamo
- Impegno
- 29ced39
ServiceJob è stata un'entità mappata con repository e test di passaggio e Non c'è modo di leggere una fila. Questo gli dà l'intestazione l'interfaccia di lavoro finito già rende, così la griglia può smettere di generare la propria. Formata su ServiceTaskBookApi/Service: String ids e stringhe ISO-8601 sulle filo, orgId prima su ogni metodo, ogni lettura mappata a una vista INSIDE transazione perché ServiceJob.visite è LAZY, e l'inquilino predicato in il JPQL piuttosto che un assegno dopo il carico. ServiceJobRepository già ha portato tutte e quattro le domande, così è intatto. Due decisioni di forma hanno dovuto prendere il DTO: - totaleLabourMinutes è un Integer, mai ore di galleggiamento. Un compito di 20 minuti è 0.333 ore e tre non sono un'ora; ServiceLineItem.labourMinutes discute il caso per la colonna e tiene anche sul filo. È riassunto dalle finestre reali delle visite, che è l'unico lavoro che un lavoro può raggiungere: ServiceLineItem blocca un Ordine senza alcun link a un lavoro. Tempo frequentato, Non e' il momento giusto. - il commercio non è la categoria dell'UI. Dieci corde composte libere contro quindici ServiceTrade costanti, non 1:1 — 'Plumbing Repair' è PLUMBING plus WorkClass.REPAIR, e la classe di lavoro vive su un elemento di linea. Il filo porta il commercio e il cliente rende un'etichetta. Lo stato si muove attraverso ServiceJobStatusMachine e nessun altro luogo, motivo per cui JobInput non ha membro dello stato e StatusInput è il suo record. Uno stato raggiungibile tramite l'aggiornamento generale sarebbe una seconda porta sulla colonna, e la seconda porta è quella che nessuno controlla. I test sono comportamentali, non scansioni di sorgenti: il repository è un proxy il cui trovareByIdForOrg onora l'org e la cui ricercaById deliberatamente non lo fa, quindi una lettura non incorniciata è presa come una perdita piuttosto che come una rottura. Testato di mutazione — asserireTrasmissione cancellata, affermareTrasferimento spostato dopo setStatus, org-scoped query swapped per findById, i minuti convertiti in ore, il stato filtro spostato da SQL, ottenereVisits() lasciato illeggi, \@Transactional rimosso, e un componente 'status' aggiunto a JobInput. Ognuno ha prodotto un distinto fallimento nominare la proprietà che protegge.