- Shipped
- 8 novembre 2026 alle ore 08:35 UTC
- Author
- Kamo
- Commit
- d100d86
I numeri degli ordini di lavoro erano COUNT(jobs)+1, quindi due lavori generati contemporaneamente potevano condividerne uno, e i lavori generati da un ordine a pagamento (ServiceFulfillmentPolicy) non hanno ottenuto alcun numero. ServiceJobNumbers ora mints WO-00001... sotto un blocco PESSIMISTIC_WRITE sull'org commerce_document_counter row (DocumentType.SERVICE_JOB, serie anno 0 — un anno in corso) serie), seminato una volta dal più alto numero di WO- che l'organizzazione ha già createJob è @RetryOnDbConflict per il 40001 di Yugabyte su un percorso conteso ux_service_job_org_number (org_id, job_number) è il backstop, applicato da NONCONCURRENTLY dopo che i numeri nulli sono stati riempiti. Un lavoro non viene più spostato in Fatturato da un cambiamento di stato: Fatturato significa una fattura Esiste, e solo la creazione di uno (InvoicingService) mette un lavoro lì. CommerceInvoicePayment (commerce_invoice_payments, applicato manualmente) registra ciascuno Pagamento contro una fattura CommerceInvoice, quindi le colonne AMOUNT_PAID / PAID / PARTIALLY_PAID CommerceInvoiceRepository ottiene una lettura con blocco di riga e un blocco di riga ServiceJobRepository ottiene claimForInvoicing.
