1. 將 VendorProductController 中的 Eloquent 關聯操作改為透過 ProcurementService 使用 DB 操作,解除跨模組 Model 直接依賴。 2. ProcurementService 加入 vendor product 的資料存取方法。 3. 進貨單建立前端 (GoodsReceipt/Create.tsx) 新增重複進貨檢查與警告對話框邏輯。
29 lines
1.1 KiB
PHP
29 lines
1.1 KiB
PHP
<?php
|
|
require __DIR__.'/vendor/autoload.php';
|
|
$app = require_once __DIR__.'/bootstrap/app.php';
|
|
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
|
|
|
|
// 初始化租戶環境 (如果有的話)
|
|
tenancy()->initialize(\App\Modules\Core\Models\Tenant::where('id', 'koori')->first());
|
|
|
|
$v = App\Modules\Procurement\Models\Vendor::find(2);
|
|
$p = app(App\Modules\Procurement\Contracts\ProcurementServiceInterface::class);
|
|
|
|
echo "\n=== START TEST ===\n";
|
|
try {
|
|
echo 'Check: ' . ($p->checkVendorHasProduct($v->id, 7) ? 'Yes' : 'No') . PHP_EOL;
|
|
|
|
$p->attachProductToVendor($v->id, 7, 100);
|
|
echo 'Check after attach: ' . ($p->checkVendorHasProduct($v->id, 7) ? 'Yes' : 'No') . PHP_EOL;
|
|
echo 'Price: ' . $p->getVendorProductPrice($v->id, 7) . PHP_EOL;
|
|
|
|
$p->updateVendorProductPrice($v->id, 7, 120);
|
|
echo 'Price after update: ' . $p->getVendorProductPrice($v->id, 7) . PHP_EOL;
|
|
|
|
$p->detachProductFromVendor($v->id, 7);
|
|
echo 'Check after detach: ' . ($p->checkVendorHasProduct($v->id, 7) ? 'Yes' : 'No') . PHP_EOL;
|
|
} catch (\Exception $e) {
|
|
echo "ERROR: " . $e->getMessage() . PHP_EOL;
|
|
}
|
|
echo "=== END TEST ===\n";
|