dbmsv4/app/Controllers/Admin/Home.php
2025-12-18 13:57:44 +09:00

59 lines
2.7 KiB
PHP

<?php
namespace App\Controllers\Admin;
use App\Controllers\AbstractWebController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
class Home extends AbstractWebController
{
private $_layout = 'admin';
protected $layouts = [];
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
if ($this->service === null) {
$this->service = service('customer_serviceservice');
}
$this->addActionPaths($this->_layout);
$this->layouts = LAYOUTS[$this->_layout];
}
protected function action_init_process(string $action, array $formDatas = []): void
{
parent::action_init_process($action, $formDatas);
$this->addViewDatas('layout', $this->layouts);
$this->addViewDatas('helper', $this->service->getHelper());
$this->service->getFormService()->action_init_process($action, $formDatas);
$this->addViewDatas('formFields', $this->service->getFormService()->getFormFields());
$this->addViewDatas('formRules', $this->service->getFormService()->getFormRules());
$this->addViewDatas('formFilters', $this->service->getFormService()->getFormFilters());
$this->addViewDatas('formOptions', $this->service->getFormService()->getFormOptions());
}
//Index,FieldForm관련
public function index(): string
{
$action = __FUNCTION__;
$this->action_init_process($action);
//요청업무
$this->addViewDatas('boardRequestTaskCount', service('boardservice')->getRequestTaskCount($this->getAuthContext()->getUID()));
//Total 서버 현황
//interval을 기준으로 최근 신규 서비스정보 가져오기
$interval = intval($this->request->getVar('interval') ?? SERVICE['NEW_INTERVAL']);
$this->addViewDatas('interval', $interval);
$newServiceEntities = $this->service->getNewServiceEntities($interval);
$this->addViewDatas('newServiceEntities', $newServiceEntities);
$this->addViewDatas('newServiceCount', count($newServiceEntities));
//서비스별 미납 Count
$unPaidTotalCount = $unPaidTotalAmount = 0;
foreach (array_values(service('paymentservice')->getUnPaids('serviceinfo_uid')) as $unPaid) {
$unPaidTotalCount += $unPaid['cnt'];
$unPaidTotalAmount += $unPaid['amount'];
}
$this->addViewDatas('unPaidTotalCount', $unPaidTotalCount);
$this->addViewDatas('unPaidTotalAmount', $unPaidTotalAmount);
return $this->action_render_process($action, $this->getViewDatas(), $this->request->getVar('ActionTemplate') ?? "welcome");
}
}