dbms_primeidc_init...1

This commit is contained in:
최준흠 2025-04-11 12:55:54 +09:00
parent b598aac484
commit 2a6ab7bf01
3 changed files with 44 additions and 23 deletions

View File

@ -2,8 +2,6 @@
namespace lib\Controllers\DBMS\Client;
use lib\Models\AddDbModel;
use lib\Models\ClientModel;
use lib\Utils\Pagination;
class PaymentController extends ClientController
@ -53,22 +51,18 @@ class PaymentController extends ClientController
$mode = $params['mode'] ?? $this->request->get('mode') ?? 'all';
switch ($mode) {
case 'today':
$this->getServiceService()->getModel()->where("service_payment_date = CURDATE()");
$this->message = "[{$today} 기준 당일 ";
break;
case '1day':
$nonpaymentDay = 1;
$this->getServiceService()->getModel()->where("service_payment_date = Date_Add(CURDATE(),INTERVAL {$nonpaymentDay} DAY)");
$this->message = "[{$today}] 기준 {$nonpaymentDay}일전";
break;
case '2day':
$nonpaymentDay = 2;
$this->getServiceService()->getModel()->where("service_payment_date = Date_Add(CURDATE(),INTERVAL {$nonpaymentDay} DAY)");
$this->message = "[{$today}] 기준 {$nonpaymentDay}일전";
break;
case '3day':
$nonpaymentDay = 3;
$this->getServiceService()->getModel()->where("service_payment_date = Date_Add(CURDATE(),INTERVAL {$nonpaymentDay} DAY)");
$this->message = "[{$today}] 기준 {$nonpaymentDay}일전";
break;
case 'all':
@ -76,25 +70,10 @@ class PaymentController extends ClientController
$this->message = "[{$today}] 기준 전체";
break;
}
$table = $this->getServiceService()->getModel()->getTable();
$clientTable = ClientModel::TABLE;
$addDbTable = AddDbModel::TABLE;
$this->getServiceService()->getModel()->select("{$clientTable}.Client_Name,{$table}.service_code,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,addDB_case,addDB_nonpayment,addDB_payment,addDB_accountStatus,addDB_ip,addDB_payment_date");
$this->getServiceService()->getModel()->join($clientTable, "{$table}.client_code = {$clientTable}.Client_Code");
$this->getServiceService()->getModel()->join($addDbTable, "{$table}.service_code = {$addDbTable}.service_code");
$this->getServiceService()->getModel()->whereNotIn("{$addDbTable}.client_code", $exclude_clients);
$this->getServiceService()->getModel()->whereNotIn("{$addDbTable}.addDB_accountStatus", ["complete"]);
$this->getServiceService()->getModel()->orderBy("service_payment_date", "DESC");
//Query문 Rest여부 -> 같은조건에 Count 받고, 결과값을 받고 싶을때는 continue()
$this->getServiceService()->getModel()->setContinue(true);
$this->total = $this->getServiceService()->getCount();
//limit, offset 설정
$this->mode = $mode;
$this->curPage = intval($params['curPage'] ?? $this->request->get('curPage') ?? 1);
$this->perPage = intval($params['perPage'] ?? $this->request->get('perPage') ?? VIEW_LIST_PERPAGE);
$this->getServiceService()->getModel()->limit($this->perPage);
$this->getServiceService()->getModel()->offset(($this->curPage - 1) * $this->perPage);
$this->entities = $this->getServiceService()->getEntities();
$this->mode = $mode;
[$this->total, $this->entities] = $this->getServiceService()->getNonPaymentEntitiesByMode($this->curPage, $this->perPage, $mode, $exclude_clients);
$this->pagination = new Pagination($this->total, (int)$this->curPage, (int)$this->perPage);
return $this->render(path: __FUNCTION__);
}

View File

@ -6,6 +6,7 @@ use lib\Entities\ClientEntity;
use lib\Entities\MemberEntity;
use lib\Entities\OnetimeEntity as Entity;
use lib\Entities\ServiceEntity;
use lib\Http\Request;
use lib\Models\OnetimeModel as Model;
class OnetimeService extends CommonService
@ -53,6 +54,7 @@ class OnetimeService extends CommonService
//limit, offset 설정
$this->getModel()->limit($perPage);
$this->getModel()->offset(($curPage - 1) * $perPage);
$entities = $this->getEntities();
return [$total, $this->getEntities()];
}

View File

@ -5,6 +5,8 @@ namespace lib\Services;
use lib\Entities\ClientEntity;
use lib\Entities\ServiceEntity as Entity;
use lib\Entities\ServiceEntity;
use lib\Models\AddDbModel;
use lib\Models\ClientModel;
use lib\Models\ServiceModel as Model;
class ServiceService extends CommonService
@ -48,6 +50,44 @@ class ServiceService extends CommonService
return [$total, $this->getEntities()];
}
//미지급금 리스트
public function getNonPaymentEntitiesByMode(int $curPage, int $perPage, string $mode, array $exclude_clients): array
{
switch ($mode) {
case 'today':
$this->getModel()->where("service_payment_date = CURDATE()");
break;
case '1day':
$nonpaymentDay = 1;
$this->getModel()->where("service_payment_date = Date_Add(CURDATE(),INTERVAL {$nonpaymentDay} DAY)");
break;
case '2day':
$nonpaymentDay = 2;
$this->getModel()->where("service_payment_date = Date_Add(CURDATE(),INTERVAL {$nonpaymentDay} DAY)");
break;
case '3day':
$nonpaymentDay = 3;
$this->getModel()->where("service_payment_date = Date_Add(CURDATE(),INTERVAL {$nonpaymentDay} DAY)");
break;
}
$table = $this->getModel()->getTable();
$clientTable = ClientModel::TABLE;
$addDbTable = AddDbModel::TABLE;
$this->getModel()->select("{$clientTable}.Client_Name,{$table}.service_code,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,addDB_case,addDB_nonpayment,addDB_payment,addDB_accountStatus,addDB_ip,addDB_payment_date");
$this->getModel()->join($clientTable, "{$table}.client_code = {$clientTable}.Client_Code");
$this->getModel()->join($addDbTable, "{$table}.service_code = {$addDbTable}.service_code");
$this->getModel()->whereNotIn("{$addDbTable}.client_code", $exclude_clients);
$this->getModel()->whereNotIn("{$addDbTable}.addDB_accountStatus", ["complete"]);
$this->getModel()->orderBy("service_payment_date", "DESC");
//Query문 Rest여부 -> 같은조건에 Count 받고, 결과값을 받고 싶을때는 continue()
$this->getModel()->setContinue(true);
$total = $this->getCount();
//limit, offset 설정
$this->getModel()->limit($perPage);
$this->getModel()->offset(($curPage - 1) * $perPage);
return [$total, $this->getEntities()];
}
//최근 $day일간 신규서비스 카운트
public function getLatestCount(int $day, array $excepts): int|string
{