chore: update document approval workflow and bug fixes

This commit is contained in:
2026-05-25 13:05:20 +08:00
parent d573c02893
commit 39a8e1d4cd
910 changed files with 49994 additions and 1010 deletions

View File

@@ -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);
}
}