사이트·관리자 봉투 물류 기능(수불·통계·레포트·재고·발주)과 DB·메뉴·E2E를 운영 반영한다.
통계 분석(전년대비·월별·계절별), 수급계획·LOT 수불, 지정판매소·실사·메뉴 링크 등을 포함한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -16,6 +16,19 @@ class FreeRecipient extends BaseController
|
||||
$this->model = model(FreeRecipientModel::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 무료용 대상 구분(스크린샷 기준): 사람뿐 아니라 동사무소 자체도 등록 가능.
|
||||
*
|
||||
* @return array<string,string>
|
||||
*/
|
||||
private function recipientTypeOptions(): array
|
||||
{
|
||||
return [
|
||||
'office' => '읍.면.동 사무소',
|
||||
'target' => '무료 대상자',
|
||||
];
|
||||
}
|
||||
|
||||
private function getCodeOptions(string $ckCode): array
|
||||
{
|
||||
helper('admin');
|
||||
@@ -33,16 +46,42 @@ class FreeRecipient extends BaseController
|
||||
return redirect()->to(work_area_home_url())->with('error', '지자체를 선택해 주세요.');
|
||||
}
|
||||
|
||||
$list = $this->model->where('fr_lg_idx', $lgIdx)->orderBy('fr_idx', 'DESC')->paginate(20);
|
||||
$list = $this->model
|
||||
->where('fr_lg_idx', $lgIdx)
|
||||
->orderBy('fr_type_code', 'ASC')
|
||||
->orderBy('fr_name', 'ASC')
|
||||
->orderBy('fr_idx', 'DESC')
|
||||
->paginate(20);
|
||||
$pager = $this->model->pager;
|
||||
$perPage = 20;
|
||||
$currentPage = (int) ($pager->getCurrentPage() ?: 1);
|
||||
$totalCount = (int) $this->model
|
||||
->where('fr_lg_idx', $lgIdx)
|
||||
->countAllResults();
|
||||
$dongNameMap = [];
|
||||
foreach ($this->getCodeOptions('D') as $dong) {
|
||||
$code = (string) ($dong->cd_code ?? '');
|
||||
if ($code === '') {
|
||||
continue;
|
||||
}
|
||||
$dongNameMap[$code] = (string) ($dong->cd_name ?? $code);
|
||||
}
|
||||
|
||||
return $this->renderWorkPage('무료용 대상자 관리', 'admin/free_recipient/index', ['list' => $list, 'pager' => $pager]);
|
||||
return $this->renderWorkPage('무료용 대상자 관리', 'admin/free_recipient/index', [
|
||||
'list' => $list,
|
||||
'pager' => $pager,
|
||||
'recipientTypeOptions' => $this->recipientTypeOptions(),
|
||||
'dongNameMap' => $dongNameMap,
|
||||
'totalCount' => $totalCount,
|
||||
'currentPage' => $currentPage,
|
||||
'perPage' => $perPage,
|
||||
]);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return $this->renderWorkPage('무료용 대상자 등록', 'admin/free_recipient/create', [
|
||||
'typeCodes' => $this->getCodeOptions('H'),
|
||||
'recipientTypeOptions' => $this->recipientTypeOptions(),
|
||||
'dongCodes' => $this->getCodeOptions('D'),
|
||||
]);
|
||||
}
|
||||
@@ -85,7 +124,7 @@ class FreeRecipient extends BaseController
|
||||
|
||||
return $this->renderWorkPage('무료용 대상자 수정', 'admin/free_recipient/edit', [
|
||||
'item' => $item,
|
||||
'typeCodes' => $this->getCodeOptions('H'),
|
||||
'recipientTypeOptions' => $this->recipientTypeOptions(),
|
||||
'dongCodes' => $this->getCodeOptions('D'),
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user