Mark vouchers corrected by later corrections - #118
Merged
Conversation
Spec för att visa "ersatt av korrigering" i transaktionsrapporten och verifikationsredigeraren, så att man inte råkar återanvända en verifikation som redan korrigerats som referens.
…ättare fråga, MCP-paritet Adresserar granskningsfynd: korrigering-av-korrigering är omöjligt idag (status-guard), original förblir ACTIV och rapporten är inte en historisk ögonblicksbild, frågan hämtar bara verifikationsnummer istället för hela Voucher-objekt, och MCP-verktyget får samma varning som GUI:t via en force-flagga.
- delad bekräftelsehjälpare för både korrigeringsknappen och deleteOrCancelVoucher()/voidButton, så inte void-vägen kringgår varningen - specificera att force måste läggas till i McpToolDefinitions verktygsschema, inte bara i verktygslogiken - rätta felaktig beskrivning av korrigeringsraderna (bara reversering, ingen automatisk ersättningsrad)
- lägg till korrigering av refreshCaptionLabels() så etiketten byggs om vid språkbyte, likt correctsLabel/correctsOriginalVoucherNumber - rätta reset-platsen till showEmptyVoucher() (inte showBlankVoucher(), som bara är en tunn wrapper) så både tom verifikation och utkaståterställning (restoreNavigationDraft) nollställer etiketten
…listan correctsLabel styrs av originalVoucherId != null, inte status == CORRECTION - dokumentera det som en applikationsnivå-invariant (upprätthålls av createCorrectionVoucher, inte av schemat) snarare än en garanti. Uppdatera även sammanfattningen i MCP-avsnittet att inkludera void-vägen.
- båda uppslagen filtrerar nu enbart på original_voucher_id (ingen status-filtrering), i linje med att kopplingen inte är databasenforcerad - annars kunde de två frågorna ge olika svar om invarianten någonsin bröts - rättade felaktiga radnummer (correctsLabel, addCorrectsHeaderLabel, correctionButton-lyssnaren, deleteOrCancelVoucher, void-dialogen, createCorrectionVoucher) mot nuvarande filinnehåll efter att grenen grundades om på uppdaterad main
Sju uppgifter i TDD-ordning: VoucherService-frågan, transaktionsrapportens statuskolumn, redigerarens etikett, GUI-bekräftelsen (delad mellan korrigeringsknappen och den låsta voidButton-vägen), MCP-schemat, MCP-beteendet, och en slutgiltig ./gradlew build + manuell dialogkontroll.
- döp om spec/plan-filerna från superseded- till corrected-voucher-marker för att matcha terminologin som faktiskt används - gör deleteOrCancelVoucher()-vägen fullt testbar (cannotDeleteConfirmer- seam + @PackageScope) istället för att lämna den helt otestad, eftersom voidButton är permanent inaktiverad - ersätt magiskt kolumnindex [8] i transaktionsrapportens tester med en uppslagning via kolumnrubriken - förtydliga radnummer i Task 4 som blir inaktuella efter Task 3:s redigeringar av samma fil, med metodnamn som primärt ankare - gör antagandet om räkenskapsårsscope i loadCorrectionVoucherNumbersByOriginal explicit med en kodkommentar - utöka Task 7:s manuella verifiering med svenskt språkbyte och en koll av headerlayouten
- correctedByLabel får samma varningsfärg som unsavedLabel (new Color(180, 83, 9)), som specen krävde men planen tidigare saknade - ny test som återanvänder samma prev/next-sekvens som befintliga restoreNavigationDraftFallsBackToBlankVoucherForAnUnresolvableRememberedSeries, för att bevisa att showEmptyVoucher()-nollställningen även träffas via restoreNavigationDraft(), inte bara via en nybyggd panel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Corrected by ...markers in the transaction report and voucher editorWhy
Corrected originals remain
ACTIVEand continue to appear in reports, so users need an informational marker when reviewing historical vouchers. Additional corrections are allowed by the existing domain model, but now require explicit confirmation in the GUI orforce: truethrough MCP.Validation
./gradlew spotlessApply./gradlew codenarcMain./gradlew build