- Diantar
- 8 November 2026 pukul 08.35 UTC
- Pengarang
- Kamo
- Kommit
- d100d86
Nomor perintah kerja adalah COUNT (jobs) + 1, jadi dua pekerjaan yang dibangkitkan sekaligus bisa berbagi satu, dan pekerjaan yang dihasilkan dari pesanan berbayar (ServiceFulfillmentPolicy) tidak mendapatkan nomor sama sekali. ServiceJobNumbers sekarang mints WO-00001… di bawah kunci PESSIMISTIC_WRITE pada org commerce_document_counter row (DocumentType.SERVICE_JOB, serial tahun 0 — a running seri), ditanam sekali dari nomor WO- tertinggi yang sudah dimiliki org. Keduanya menciptakan paths menggunakannya; createJob adalah @RetryOnDbConflict untuk Yugabyte's 40001 pada a contended counter. ux_service_job_org_number (org_id, job_number) adalah backstop, diterapkan oleh tangan NONCONCURRENTLY setelah angka nol diisi kembali. Sebuah pekerjaan tidak lagi pindah ke Invoiced oleh perubahan status: Invoiced berarti invoice ada, dan hanya menciptakan satu (InvoicingService) menempatkan pekerjaan di sana. CommerceInvoicePayment (commerce_invoice_payments, diterapkan secara manual) mencatat setiap pembayaran terhadap CommerceInvoice, jadi kolomnya AMOUNT_PAID / PAID / PARTIALLY_PAID CommerceInvoiceRepository memperoleh pembacaan yang terkunci baris dan by-customer finder; ServiceJobRepository memperoleh claimForInvoicing.
