dbmsv4 init...2

This commit is contained in:
최준흠 2025-12-08 12:25:20 +09:00
parent 809dc62cdf
commit be7a3ce76b
18 changed files with 151 additions and 118 deletions

View File

@ -14,6 +14,7 @@ class CHASSISCell extends EquipmentCell
$template = array_key_exists('template', $params) ? $params['template'] : 'stock';
return view('cells/chassis/' . $template, [
'partCellDatas' => [
'helper' => $this->getService()->getHelper(),
'entities' => $this->getService()->getEntities(),
],
]);

View File

@ -16,6 +16,7 @@ class RAMCell extends PartCell
$template = array_key_exists('template', $params) ? $params['template'] : 'ram_stock';
return view('cells/part/' . $template, [
'partCellDatas' => [
'helper' => $this->getService()->getHelper(),
'entities' => $this->getService()->getEntities(),
],
]);

View File

@ -83,6 +83,7 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au
$routes->post('batchjob_delete', 'PaymentController::batchjob_delete');
$routes->get('download/(:alpha)', 'PaymentController::download/$1');
$routes->post('invoice', 'PaymentController::invoice');
$routes->get('paid/(:num)', 'PaymentController::paid/$1');
});
//Customer 관련
$routes->group('customer', ['namespace' => 'App\Controllers\Admin\Customer'], function ($routes) {

View File

@ -134,6 +134,45 @@ class ClientHelper extends CustomerHelper
]
);
break;
case 'invoice':
$action = form_label(
$label,
'payment_invoice',
[
"data-src" => "/admin/payment?clientinfo_uid={$viewDatas['entity']->getPK()}&ActionTemplate=popup",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
break;
case 'addService':
$action = form_label(
'서비스추가',
'create_service',
[
"data-src" => "/admin/customer/service/create?clientinfo_uid={$viewDatas['entity']->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "btn btn-sm btn-primary form-label-sm",
]
);
break;
case 'unpaid':
$action = "{$label} 0원";
if (array_key_exists($viewDatas['entity']->getPK(), $viewDatas['unPaids'])) {
$action = form_label(
sprintf("총 %s: %s건/%s원", $label, $viewDatas['unPaids'][$viewDatas['entity']->getPK()]['cnt'], number_format($viewDatas['unPaids'][$viewDatas['entity']->getPK()]['amount'])),
'payment_unpaid',
[
"data-src" => "/admin/payment?clientinfo_uid={$viewDatas['entity']->getPK()}&status=unpaid&ActionTemplate=popup",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
}
break;
default:
$action = parent::getListButton($action, $label, $viewDatas, $extras);
break;

View File

@ -77,6 +77,18 @@ class ServiceHelper extends CustomerHelper
public function getListButton(string $action, string $label, array $viewDatas, array $extras = []): string
{
switch ($action) {
case 'modify':
$action = form_label(
$label,
'modify_service',
[
"data-src" => "/admin/customer/service/modify/{$viewDatas['entity']->getPK()}?clientinfo_uid={$viewDatas['entity']->getClientInfoUID()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
break;
case 'addServer':
$action = form_label(
$label ? $label : ICONS['REBOOT'],

View File

@ -8,4 +8,26 @@ class CHASSISHelper extends EquipmentHelper
{
parent::__construct();
}
public function getListButton(string $action, string $label, array $viewDatas, array $extras = []): string
{
switch ($action) {
case 'modify':
$action = form_label(
$label,
'disk_modify',
[
"data-src" => "admin/equipment/chassis/modify/{$viewDatas['entity']->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
break;
default:
$action = parent::getListButton($action, $label, $viewDatas, $extras);
break;
}
return $action;
}
}

View File

@ -8,4 +8,25 @@ class DISKHelper extends PartHelper
{
parent::__construct();
}
public function getListButton(string $action, string $label, array $viewDatas, array $extras = []): string
{
switch ($action) {
case 'modify':
$action = form_label(
$label,
'disk_modify',
[
"data-src" => "admin/part/disk/modify/{$viewDatas['entity']->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
break;
default:
$action = parent::getListButton($action, $label, $viewDatas, $extras);
break;
}
return $action;
}
}

View File

@ -8,4 +8,25 @@ class RAMHelper extends PartHelper
{
parent::__construct();
}
public function getListButton(string $action, string $label, array $viewDatas, array $extras = []): string
{
switch ($action) {
case 'modify':
$action = form_label(
$label,
'ram_modify',
[
"data-src" => "admin/part/ram/modify/{$viewDatas['entity']->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
break;
default:
$action = parent::getListButton($action, $label, $viewDatas, $extras);
break;
}
return $action;
}
}

View File

@ -62,18 +62,18 @@ class PaymentHelper extends CommonHelper
case 'delete':
$action = $this->getAuthContext()->isAccessRole([ROLE['USER']['SECURITY']]) ? parent::getListButton($action, $label, $viewDatas, $extras) : "";
break;
case 'paid':
$action = form_submit($action . "_submit", $label ? $label : '결제 처리', [
"formaction" => current_url() . '/' . $action,
"class" => "btn btn-outline btn-warning",
]);
break;
case 'invoice':
$action = form_submit($action . "_submit", $label ? $label : '청구서 발행', [
"formaction" => current_url() . '/' . $action,
"class" => "btn btn-outline btn-primary",
]);
break;
case 'paid':
$action = form_submit($action . "_submit", $label ? $label : '결제 처리', [
"formaction" => current_url() . '/' . $action,
"class" => "btn btn-outline btn-warning",
]);
break;
default:
$action = parent::getListButton($action, $label, $viewDatas, $extras);
break;

View File

@ -241,6 +241,17 @@ class PaymentService extends CommonService
return $rows;
}
//지불 관련
public function setPaid(PaymentEntity $entity, array $formDatas): PaymentEntity
{
//결제 완료 처리 후 추가정보 처리
$formDatas['status'] = STATUS['PAID'];
$entity = parent::modify_process($entity, $formDatas);
//pay방식에따른 고객 정보 처리
service('customer_client')->setBalance($entity);
return $entity;
}
//서비스관련
private function getFormDatasByService(ServiceEntity $serviceEntity, array $formDatas = []): array
{

View File

@ -32,34 +32,8 @@
<tr class="text-center">
<th rowspan="2">
<div> <?= $viewDatas['entity']->getTitle() ?></div>
<div>
<?=
form_label(
"[청구서발행]",
'payment_invoice',
[
"data-src" => "/admin/payment?clientinfo_uid={$viewDatas['entity']->getPK()}&ActionTemplate=popup",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?>
</div>
<div class="mt-3">
<?=
form_label(
'서비스추가',
'create_service',
[
"data-src" => "/admin/customer/service/create?clientinfo_uid={$viewDatas['entity']->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "btn btn-sm btn-primary form-label-sm",
]
);
?>
</div>
<div> <?= $viewDatas['helper']->getListButton('invoice', "[청구서발행]", $viewDatas) ?></div>
<div class="mt-3"><?= $viewDatas['helper']->getListButton('addService', "서비스추가", $viewDatas) ?></div>
</th>
<th>도코</th>
<th>치바</th>
@ -90,22 +64,7 @@
<td><?= $viewDatas['helper']->getListButton("account", number_format($viewDatas['entity']->getAccountBalance()) . "", $viewDatas) ?></td>
<td><?= $viewDatas['helper']->getListButton("point", number_format($viewDatas['entity']->getPointBalance()), $viewDatas) ?></td>
<td><?= array_key_exists($viewDatas['entity']->getPK(), $viewDatas['totalAmounts']) ? number_format($viewDatas['totalAmounts'][$viewDatas['entity']->getPK()]) : 0 ?>원</td>
<td>
<?php if (array_key_exists($viewDatas['entity']->getPK(), $viewDatas['unPaids'])): ?>
<?=
form_label(
sprintf("총:%s건/%s원", $viewDatas['unPaids'][$viewDatas['entity']->getPK()]['cnt'], number_format($viewDatas['unPaids'][$viewDatas['entity']->getPK()]['amount'])),
'payment_unpaid',
[
"data-src" => "/admin/payment?clientinfo_uid={$viewDatas['entity']->getPK()}&status=unpaid&ActionTemplate=popup",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?>
<?php endif ?>
</td>
<td><?= $viewDatas['helper']->getListButton('unpaid', "", $viewDatas) ?></td>
</tr>
</table>
</div>

View File

@ -8,19 +8,8 @@
<?php foreach ($partCellDatas['entities'] as $entity): ?>
<?php $partCellDatas['entity'] = $entity; ?>
<tr>
<td class="text-end text-nowrap">
<?=
form_label(
$entity->getTitle(),
'disk_modify',
[
"data-src" => "admin/equipment/chassis/modify/{$entity->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?>
<td class="text-end text-nowrap"><?= $partCellDatas['helper']->getListButton('modify', $entity->getTitle(), $partCellDatas) ?>
</td>
<td class="text-center text-nowrap"><?= $entity->getUsed() ?></td>
<td class="text-center text-nowrap"><?= $entity->getAvailable() ?></td>

View File

@ -9,21 +9,8 @@
<?php foreach ($partCellDatas['entities'] as $entity): ?>
<?php $partCellDatas['entity'] = $entity; ?>
<tr>
<td class="text-end text-nowrap">
<?=
form_label(
$entity->getTitle(),
'disk_modify',
[
"data-src" => "admin/part/disk/modify/{$entity->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?>
</td>
<td class="text-center text-nowrap" 저장장치 재고><?= $entity->getUsed() ?></td>
<td class="text-end text-nowrap"><?= $partCellDatas['helper']->getListButton('modify', $entity->getTitle(), $partCellDatas) ?></td>
<td class="text-center text-nowrap"><?= $entity->getUsed() ?></td>
<td class="text-center text-nowrap"><?= $entity->getAvailable() ?></td>
<td class="text-center text-nowrap"><?= $partCellDatas['helper']->getFieldView('format', $entity->format, $partCellDatas) ?></td>
<td class="text-center text-nowrap"><?= $entity->getStock() ?></td>

View File

@ -8,20 +8,7 @@
<?php foreach ($partCellDatas['entities'] as $entity): ?>
<?php $partCellDatas['entity'] = $entity; ?>
<tr>
<td class="text-end text-nowrap">
<?=
form_label(
$entity->getTitle(),
'disk_modify',
[
"data-src" => "admin/part/ram/modify/{$entity->getPK()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?>
</td>
<td class="text-end text-nowrap"><?= $partCellDatas['helper']->getListButton('modify', $entity->getTitle(), $partCellDatas) ?><< /td>
<td class="text-center text-nowrap"><?= $entity->getUsed() ?></td>
<td class="text-center text-nowrap"><?= $entity->getAvailable() ?></td>
<td class="text-center text-nowrap"><?= $entity->getStock() ?></td>

View File

@ -7,7 +7,9 @@
<th style="width: 120px">결제금액</th>
<th style="width: 250px">항목</th>
<th style="width: 250px">청구방식</th>
<th style="width: 250px">처리자</th>
<th style="width: 250px">지불방법</th>
<th style="width: 250px">관리자</th>
<th style="width: 250px">결제처리</th>
</tr>
<?php foreach ($serviceCellDatas['entities'] as $entity): ?>
<?php $serviceCellDatas['entity'] = $entity ?>
@ -17,10 +19,11 @@
<td class="text-center"><?= $serviceCellDatas['helper']->getFieldView('amount', $entity->getAmount(), $serviceCellDatas) ?></td>
<td class="text-center"><?= $serviceCellDatas['helper']->getFieldView('title', $entity->getTitle(), $serviceCellDatas) ?></td>
<td class="text-center"><?= $serviceCellDatas['helper']->getFieldView('billing', $entity->getBilling(), $serviceCellDatas) ?></td>
<td class="text-center"><?= $serviceCellDatas['helper']->getFieldView('pay', $entity->getPay(), $serviceCellDatas) ?></td>
<td class="text-center"><?= $serviceCellDatas['helper']->getFieldView('user_uid', $entity->getUserUID(), $serviceCellDatas) ?></td>
</tr>
<tr>
<td class="text-start" colspan="6"><?= $serviceCellDatas['helper']->getFieldView('content', $entity->getTitle(), $serviceCellDatas) ?></td>
<td class="text-start" colspan="8"><?= $serviceCellDatas['helper']->getFieldView('content', $entity->getTitle(), $serviceCellDatas) ?></td>
</tr>
<?php endforeach; ?>
</table>

View File

@ -13,17 +13,7 @@
<div><?= $serviceCellDatas['helper']->getFieldView('site', $entity->getSite(), $serviceCellDatas) ?> /
<?= $serviceCellDatas['helper']->getFieldView('location', $entity->getLocation(), $serviceCellDatas) ?>
</div>
<div><?= form_label(
$entity->getCode(),
'modify_service',
[
"data-src" => "/admin/customer/service/modify/{$entity->getPK()}?clientinfo_uid={$entity->getClientInfoUID()}",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?></div>
<div><?= $serviceCellDatas['helper']->getListButton('modify', $entity->getCode(), $serviceCellDatas) ?></div>
<div><?= $entity->getTitle() ?></div>
<div>상면비 : <span class="text-danger"><?= number_format($entity->getRack()) ?></span>원</div>
<div>회선비 : <span class="text-danger"><?= number_format($entity->getLine()) ?></span>원</div>

View File

@ -11,18 +11,7 @@
<th class="fw-bold" nowrap>미납금</th>
<td class="amount-red" nowrap>
<?php if (array_key_exists($serviceEntity->getPK(), $serviceCellDatas['unPaids'])): ?>
<?=
form_label(
sprintf("총:%s건/%s원", $serviceCellDatas['unPaids'][$serviceEntity->getPK()]['cnt'], number_format($serviceCellDatas['unPaids'][$serviceEntity->getPK()]['amount'])),
'payment_unpaid',
[
"data-src" => "/admin/payment?clientinfo_uid={$serviceEntity->getClientInfoUID()}&serviceinfo_uid={$serviceEntity->getPK()}&status=unpaid&ActionTemplate=popup",
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form",
"class" => "text-primary form-label-sm",
]
);
?>
<?= $serviceCellDatas['helper']->getListButton('unpaid', '미납금', ['serviceCellDatas' => $serviceCellDatas, 'entity' => $serviceEntity], ['class' => 'btn btn-sm btn-primary']) ?>
<?php endif ?>
</td>
</tr>

View File

@ -64,7 +64,7 @@
"modify",
[
"class" => "dropdown-item form-label-sm",
"data-src" => "/admin/user/profile/" . $viewDatas['authContext']->getUID(),
"data-src" => "/admin/user/modify/" . $viewDatas['authContext']->getUID(),
"data-bs-toggle" => "modal",
"data-bs-target" => "#modal_action_form"
]