- Shipped
- 8 listopada 2026 08:35 UTC
- Author
- Kamo
- Commit
- d100d86
Numery zleceń pracy były COUNT(jobs)+1, więc dwa zlecenia podniesione jednocześnie mogły dzielić jedno, a zadania podniesione z płatnego zamówienia (ServiceFulfillmentPolicy) nie otrzymały żadnego numeru. ServiceJobNumbers teraz mints WO-00001... pod blokadą PESSIMISTIC_WRITE na stronie organizacji commerce_document_counter row (DocumentType.SERVICE_JOB, seria rok 0 — bieżący (seria), wysiewany raz z najwyższego WO- numeru, jaki organizacja już posiada Używają go ścieżki; createJob jest @RetryOnDbConflict dla Yugabyte'a 40001 na spornym ux_service_job_org_number (org_id, job_number) jest zabezpieczeniem, stosowanym przez hand NONCONCURRENTLY po tym jak numery null zostały wypełnione. Zlecenie nie jest już przenoszone do faktury przez zmianę statusu: Fakturowane oznacza fakturę Istnieje, a tylko utworzenie jednego (InvoicingService) umieszcza tam zadanie. CommerceInvoicePayment (commerce_invoice_payments, stosowany ręcznie) rejestruje każdy Płatność zgodnie z CommerceInvoice, więc jej kolumny AMOUNT_PAID / PAID / PARTIALLY_PAID CommerceInvoiceRepository zyskuje blokadę wiersza odczytu i blokadę wiersza zapisu ServiceJobRepository zyskuje claimForInvoicing.
