KamoCRM

Nomor pekerjaan dari counter per-org yang terkunci, tidak pernah dihitung; pembayaran pada invoice perdagangan

Fixkamo-shared-library
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.

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semuanya tiba di ruang kerja Anda sendiri. Mulai dengan rencana gratis dan baca halaman ini lagi dalam sebulan.

Mulai Bebas SelamanyaLihat Harga