chore: update document approval workflow and bug fixes
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\MaterialLogistics\Services;
|
||||
|
||||
use Modules\MaterialLogistics\Models\MaterialRequisition;
|
||||
use Modules\MaterialLogistics\Models\PurchaseOrder;
|
||||
|
||||
class DocumentNumberService
|
||||
{
|
||||
public function nextMrNumber(): string
|
||||
{
|
||||
$year = now()->format('Y');
|
||||
$prefix = "MR-{$year}-";
|
||||
|
||||
$last = MaterialRequisition::where('document_number', 'like', "{$prefix}%")
|
||||
->orderByDesc('document_number')
|
||||
->value('document_number');
|
||||
|
||||
$nextSeq = 1;
|
||||
if ($last) {
|
||||
$seq = (int) str_replace($prefix, '', $last);
|
||||
$nextSeq = $seq + 1;
|
||||
}
|
||||
|
||||
return $prefix . str_pad($nextSeq, 4, '0', STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
public function nextPoNumber(): string
|
||||
{
|
||||
$year = now()->format('Y');
|
||||
$prefix = "PO-{$year}-";
|
||||
|
||||
$last = PurchaseOrder::where('document_number', 'like', "{$prefix}%")
|
||||
->orderByDesc('document_number')
|
||||
->value('document_number');
|
||||
|
||||
$nextSeq = 1;
|
||||
if ($last) {
|
||||
$seq = (int) str_replace($prefix, '', $last);
|
||||
$nextSeq = $seq + 1;
|
||||
}
|
||||
|
||||
return $prefix . str_pad($nextSeq, 4, '0', STR_PAD_LEFT);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user