Уникальные порядковые номера при использовании очереди (1 работник) - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь создать уникальные, последовательные номера счетов.Счета-фактуры генерируются с использованием очереди с 1 работником, но из 160 счетов-фактур 28 по-прежнему имеют одинаковые номера.Ниже приведен код, используемый для генерации уникального номера счета.

public static function getNewInvoiceNumber(String $prefix)
{
    $lastNumber = App\Invoice::where('invoiceNumber', 'LIKE', $prefix . now()->year . '-%')->orderByDesc('invoiceID')->first()->invoiceNumber ?? '0';
    $newNumber = (int)substr($lastNumber, strlen($prefix . now()->year . '-')) + 1;

    while (App\Invoice::where('invoiceNumber', $prefix . now()->year . '-' . $newNumber)->exists()) {
        $newNumber++;
    }

    return $newNumber;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...