Additional logging in generates counter

This commit is contained in:
David Bomba 2022-09-12 12:32:16 +10:00
parent 3a33be37a0
commit ab2d529923

View File

@ -412,20 +412,22 @@ trait GeneratesCounter
* @param string $prefix * @param string $prefix
* @return string The padded and prefixed entity number * @return string The padded and prefixed entity number
*/ */
private function checkEntityNumber($class, $entity, $counter, $padding, $pattern, $prefix = '') private function checkEntityNumber($class, $entity, $counter, $padding, $pattern, $prefix = '') :string
{ {
$check = false; $check = false;
$check_counter = 1; $check_counter = 1;
$original_counter = $counter; $original_counter = $counter;
do { do {
nlog($check_counter);
$number = $this->padCounter($counter, $padding); $number = $this->padCounter($counter, $padding);
$number = $this->applyNumberPattern($entity, $number, $pattern); $number = $this->applyNumberPattern($entity, $number, $pattern);
$number = $this->prefixCounter($number, $prefix); $number = $this->prefixCounter($number, $prefix);
$check = $class::whereCompanyId($entity->company_id)->whereNumber($number)->withTrashed()->exists(); $check = $class::where('company_id', $entity->company_id)->where('number', $number)->withTrashed()->exists();
$counter++; $counter++;
$check_counter++; $check_counter++;
@ -434,13 +436,17 @@ trait GeneratesCounter
nlog("counter error"); nlog("counter error");
nlog("original_counter = {$original_counter}"); nlog("original_counter = {$original_counter}");
nlog("entity company = {$entity->company_id}");
nlog("counter = {$counter}"); nlog("counter = {$counter}");
nlog("returning = {$number}"); nlog("returning = {$number}");
return $number.'_'.Str::random(5); return $number.'_'.Str::random(5);
} }
} while ($check); } while ($check);
nlog($number);
return $number; return $number;
} }
@ -465,10 +471,12 @@ trait GeneratesCounter
$settings = $entity->settings; $settings = $entity->settings;
if ($counter_name == 'invoice_number_counter' && ! property_exists($entity->settings, 'invoice_number_counter')) { if ($counter_name == 'invoice_number_counter' && ! property_exists($entity->settings, 'invoice_number_counter')) {
nlog("BAD STATE - why no invoice_number_counter set?");
$settings->invoice_number_counter = 0; $settings->invoice_number_counter = 0;
} }
if (! property_exists($settings, $counter_name)) { if (! property_exists($settings, $counter_name)) {
nlog("BAD STATE - why no {$counter_name} set?");
$settings->{$counter_name} = 1; $settings->{$counter_name} = 1;
} }