49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Emisi;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\SettingForm;
|
|
use App\Models\SettingFormDetail;
|
|
use App\Services\Emisi\Folu3BService;
|
|
use Illuminate\Http\Request;
|
|
|
|
class Folu3BController extends Controller
|
|
{
|
|
protected $service;
|
|
|
|
public function __construct(Folu3BService $service)
|
|
{
|
|
$this->service = $service;
|
|
}
|
|
|
|
public function data($sector, $code, $inventoryYear)
|
|
{
|
|
// Fetch the form from the database based on sector and code
|
|
$form = SettingForm::rowActive()->where('sector', $sector)->where('code', $code)->first();
|
|
|
|
if (!$form) {
|
|
abort(404, 'Page not found');
|
|
}
|
|
|
|
// Fetch form details
|
|
$formDetails = SettingFormDetail::rowActive()->where('form_code', $code)->orderByRowNum()->get();
|
|
|
|
// Fetch activity form and activity form details using service
|
|
$activityForm = $this->service->getActivityForm($sector, $code, $inventoryYear);
|
|
$activityFormId = $activityForm->id ?? null;
|
|
$activityFormDetails = $this->service->getActivityFormDetails($activityFormId);
|
|
|
|
return compact('form', 'formDetails', 'activityForm', 'activityFormDetails');
|
|
}
|
|
|
|
public function save(Request $request, $code, $inventoryYear)
|
|
{
|
|
if ($code) {
|
|
$result = $this->service->save($code, $inventoryYear);
|
|
|
|
return $result;
|
|
}
|
|
}
|
|
}
|