시스템관리 페이지 추가

This commit is contained in:
yangsh
2025-12-11 16:48:03 +09:00
parent 533d6b5d6b
commit 7324d2d9ba
38 changed files with 5291 additions and 188 deletions

View File

@@ -0,0 +1,257 @@
<?php
namespace App\Models\manage;
use CodeIgniter\Model;
class AreasModel extends Model
{
// 지역 목록 조회
public function getAreaList($sido = '', $gugun = '')
{
if (!empty($gugun)) {
$gugun = substr($gugun, '0', '5');
$sql = "SELECT a.region_cd, TRIM(REPLACE(a.region_nm, b.region_nm, '')) region_nm" .
" FROM region_codes a" .
" LEFT JOIN region_codes b ON b.region_cd = CONCAT(SUBSTR(a.region_cd,1,5),'00000')" .
" WHERE a.region_cd LIKE concat(?, '%')" .
" AND a.region_cd NOT LIKE '%00000'" .
" AND a.region_cd LIKE '%00'" .
" AND a.use_yn = 'Y'" .
" ORDER BY a.region_nm ASC";
$query = $this->db->query($sql, [$gugun]);
} else if (!empty($sido)) {
$chk_sido = substr($sido, '0', '2');
if ($chk_sido === '36') {
$sido = substr($sido, '0', '4');
$sql = "SELECT a.region_cd, TRIM(REPLACE(a.region_nm, b.region_nm, '')) region_nm " .
"FROM region_codes a " .
"LEFT JOIN region_codes b ON b.region_cd = CONCAT(SUBSTR(a.region_cd,1,4),'000000') " .
"WHERE a.region_cd LIKE concat(?, '%') " .
"AND a.region_cd NOT LIKE '%000000' " .
"AND a.region_cd LIKE '%00' " .
"AND a.use_yn = 'Y' " .
"AND EXISTS (SELECT 'x' FROM region_codes c WHERE c.region_cd LIKE CONCAT(SUBSTR(a.region_cd,1,5),'%') AND c.region_cd > CONCAT(SUBSTR(a.region_cd,1,5),'00000')) " .
"ORDER BY a.region_nm ASC";
} else {
$sido = substr($sido, '0', '2');
$sql = "SELECT a.region_cd, TRIM(REPLACE(a.region_nm, b.region_nm, '')) region_nm" .
" FROM region_codes a" .
" LEFT JOIN region_codes b ON b.region_cd = CONCAT(SUBSTR(a.region_cd,1,2),'00000000')" .
" WHERE a.region_cd LIKE concat(?, '%')" .
" AND a.region_cd NOT LIKE '%00000000'" .
" AND a.region_cd LIKE '%00000'" .
" AND a.use_yn = 'Y'" .
" AND EXISTS (SELECT 'x' FROM region_codes c WHERE c.region_cd LIKE CONCAT(SUBSTR(a.region_cd,1,5),'%') AND c.region_cd > CONCAT(SUBSTR(a.region_cd,1,5),'00000'))" .
" ORDER BY a.region_nm ASC";
}
$query = $this->db->query($sql, [$sido]);
} else {
$sql = "SELECT a.region_cd, a.region_nm " .
"FROM region_codes a " .
"WHERE (a.region_cd LIKE '%00000000' " .
"AND a.use_yn = 'Y') " .
"OR region_cd = 3611000000;";
$query = $this->db->query($sql);
}
return $query->getResultArray();
}
// 소속본부조회
public function getBonbuList()
{
$sql = "SELECT dept_sq, pdept_sq, dept_nm, dept_desc, dept_head, use_yn, depth, insert_tm, insert_usr, update_tm, update_usr, lft, rgt" .
" FROM departments" .
" WHERE depth = 1" .
" AND use_yn = 'Y'" .
" ORDER BY lft";
$query = $this->db->query($sql);
return $query->getResultArray();
}
// 소속팀 조회
public function getTeamList()
{
$sql = "SELECT dept_sq, pdept_sq, dept_nm" .
" FROM departments" .
" WHERE depth = 2" .
" AND use_yn = 'Y'" .
" ORDER BY dept_nm";
$query = $this->db->query($sql);
return $query->getResultArray();
}
// 유저 조회
public function getUserList()
{
$sql = "SELECT
a.usr_sq, a.usr_id, a.usr_nm, a.dept_sq
FROM users a
WHERE
a.usr_level IN ('3','4','40','5','50','6','60','61','62','7','8','70')
AND a.use_yn = 'Y'
AND EXISTS (
SELECT 'x' FROM departments a1 INNER JOIN departments a2 ON a2.lft BETWEEN a1.lft AND a1.rgt AND a2.use_yn = 'Y'
WHERE 1=1 AND a2.dept_sq = a.dept_sq AND a1.use_yn = 'Y'
)
ORDER BY a.usr_level DESC, a.usr_nm ASC ";
$query = $this->db->query($sql);
return $query->getResultArray();
}
public function getTotalCount($data)
{
$params = [];
$sql = "SELECT
COUNT(*) AS cnt
FROM
region_codes AS a
WHERE
a.use_yn = 'Y'
AND a.region_cd NOT LIKE '%00000000'
AND a.region_cd NOT LIKE '%00000' ";
if (!empty($data['region'])) {
$sql .= "AND a.region_cd LIKE CONCAT({$data['region']} ,'%') ";
}
if (!empty($data['srcUserteam'])) {
$sql .= "AND a.dept_sq = {$data['srcUserteam']} ";
} else if (!empty($data['srcUserbonbu'])) {
$sql1 = "SELECT lft, rgt FROM departments WHERE dept_sq = {$data['srcUserbonbu']}";
$res = $this->db->query($sql1);
$lft = $res->getRowArray();
$sql2 = "SELECT dept_sq FROM departments WHERE lft >= {$lft['lft']} AND rgt <= {$lft['rgt']}";
$res2 = $this->db->query($sql2);
$list = $res2->getResultArray();
$deptArr = [];
foreach ($list as $d) {
array_push($deptArr, $d['dept_sq']);
}
if (!empty($deptArr)) {
$in = implode(",", array_map("intval", $deptArr));
$sql .= " AND a.dept_sq IN ($in) ";
}
}
if (!empty($data['positionYn'])) {
if ($data['positionYn'] === "Y") {
$sql .= "AND a.dept_sq IS NOT NULL OR a.dept_sq != 0 ";
$sql .= "AND a.usr_sq IS NOT NULL OR a.usr_sq != 0 ";
} else {
$sql .= "AND a.dept_sq IS NULL OR a.dept_sq = 0 ";
$sql .= "AND a.usr_sq IS NULL OR a.usr_sq = 0 ";
}
}
$query = $this->db->query($sql);
return $query->getRow()->cnt;
}
public function getSvcArea($start, $end, $data)
{
$sql = "SELECT
region_cd, region_nm, dept_sq, (SELECT dept_nm FROM departments where dept_sq = a.dept_sq) dept_nm, (SELECT pdept_sq FROM departments where dept_sq = a.dept_sq) pdept_sq, usr_sq
FROM
region_codes AS a
WHERE
a.use_yn = 'Y'
AND a.region_cd NOT LIKE '%00000000'
AND a.region_cd NOT LIKE '%00000' ";
if (!empty($data['region'])) {
$sql .= "AND a.region_cd LIKE CONCAT({$data['region']} ,'%') ";
}
if (!empty($data['srcUserteam'])) {
$sql .= "AND a.dept_sq = {$data['srcUserteam']} ";
} else if (!empty($data['srcUserbonbu'])) {
$sql1 = "SELECT lft, rgt FROM departments WHERE dept_sq = {$data['srcUserbonbu']}";
$res = $this->db->query($sql1);
$lft = $res->getRowArray();
$sql2 = "SELECT dept_sq FROM departments WHERE lft >= {$lft['lft']} AND rgt <= {$lft['rgt']}";
$res2 = $this->db->query($sql2);
$list = $res2->getResultArray();
$deptArr = [];
foreach ($list as $d) {
array_push($deptArr, $d['dept_sq']);
}
if (!empty($deptArr)) {
$in = implode(",", array_map("intval", $deptArr));
$sql .= " AND a.dept_sq IN ($in) ";
}
}
if (!empty($data['positionYn'])) {
if ($data['positionYn'] === "Y") {
$sql .= "AND a.dept_sq IS NOT NULL OR a.dept_sq != 0 ";
$sql .= "AND a.usr_sq IS NOT NULL OR a.usr_sq != 0 ";
} else {
$sql .= "AND a.dept_sq IS NULL OR a.dept_sq = 0 ";
$sql .= "AND a.usr_sq IS NULL OR a.usr_sq = 0 ";
}
}
$sql .= "LIMIT {$start}, {$end}";
$query = $this->db->query($sql);
return $query->getResultArray();
}
// 이력관리정보저장
public function saveRegion($regionCd, $team, $user)
{
$sql = "UPDATE region_codes SET ";
$sql .= "dept_sq = {$team}, ";
$sql .= "usr_sq = {$user} ";
$sql .= "WHERE region_cd = '{$regionCd}'";
$this->db->query($sql);
if ($this->db->transStatus() === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
// 성공
return [
'success' => true,
];
}
}

View File

@@ -23,8 +23,11 @@ class MenuModel extends Model
" (SELECT mnu_nm FROM menu WHERE mnu_id = a.mnu_pid) mnu_pid_nm, " .
" mnu_nm, " .
" mnu_tp, " .
" CASE WHEN mnu_tp = 'D' THEN '디렉토리' WHEN mnu_tp = 'P' THEN '화면' WHEN mnu_tp = 'R' THEN '루트' END AS mnu_tp_nm, " .
" mnu_url, " .
" use_yn, " .
" CASE WHEN use_yn = 'Y' THEN '사용' ELSE '미사용' END AS use_yn_nm, " .
" view_odr, " .
" insert_tm, " .
" (select usr_nm from users where usr_sq = a.insert_usr) insert_usr, " .
" (select usr_nm from users where usr_sq = a.update_usr) update_usr, " .
@@ -37,7 +40,7 @@ class MenuModel extends Model
// $sql .= " AND mnu_pid = {$params['pid']} ";
// }
$sql .= " ORDER BY CASE WHEN mnu_pid = 'ROOT' THEN 0 ELSE 1 END, mnu_id";
$sql .= " ORDER BY CASE WHEN mnu_pid = 'ROOT' THEN 0 ELSE 1 END, mnu_id, view_odr";
$query = $this->db->query($sql);
@@ -47,4 +50,48 @@ class MenuModel extends Model
}
// 메뉴정보저장
public function saveMenu($data)
{
$sql = "INSERT INTO menu ";
$sql .= "(mnu_id, mnu_pid, mnu_nm, mnu_tp, mnu_url, view_odr, use_yn, insert_tm, insert_usr, update_tm, update_usr) ";
$sql .= "VALUES ";
$sql .= "('{$data['mnu_id']}', ";
$sql .= " '{$data['mnu_pid']}', ";
$sql .= " '{$data['mnu_nm']}', ";
$sql .= " '{$data['mnu_tp']}', ";
$sql .= " '{$data['mnu_url']}', ";
$sql .= " {$data['view_odr']}, ";
$sql .= " '{$data['use_yn']}', ";
$sql .= " NOW(), ";
$sql .= " {$data['usr_sq']}, ";
$sql .= " NOW(), ";
$sql .= " {$data['usr_sq']}) ";
$sql .= "ON DUPLICATE KEY UPDATE ";
$sql .= " mnu_nm = '{$data['mnu_nm']}', ";
$sql .= " mnu_tp = '{$data['mnu_tp']}', ";
$sql .= " mnu_url = '{$data['mnu_url']}', ";
$sql .= " view_odr = {$data['view_odr']}, ";
$sql .= " use_yn = '{$data['use_yn']}', ";
$sql .= " update_tm = NOW(), ";
$sql .= " update_usr = {$data['usr_sq']}";
$this->db->query($sql);
if ($this->db->transStatus() === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
// 성공
return [
'success' => true,
];
}
}

View File

@@ -0,0 +1,77 @@
<?php
namespace App\Models\manage;
use CodeIgniter\Model;
class PermitModel extends Model
{
public function getUsrLevel()
{
$sql = "SELECT cd_sq AS cd, cd_nm FROM codes WHERE category = 'USER_LEVEL' AND use_yn = 'Y' ORDER BY view_odr ASC ";
$query = $this->db->query($sql);
return $query->getResultArray();
}
// 메뉴권한목록조회
public function getMenuAuthList($usrLevel)
{
$sql = "SELECT
a.mnu_id AS id,
a.mnu_pid,
CASE WHEN a.mnu_pid = 'ROOT' THEN '#' WHEN a.mnu_pid = '0' THEN 'M' ELSE a.mnu_pid END AS `parent`,
(SELECT a.mnu_nm FROM menu WHERE mnu_id = a.mnu_pid) mnu_pid_nm,
a.mnu_nm AS text,
a.mnu_tp,
CASE WHEN a.mnu_tp = 'D' THEN '디렉토리' WHEN mnu_tp = 'P' THEN '화면' WHEN mnu_tp = 'R' THEN '루트' END AS mnu_tp_nm,
a.mnu_url,
CASE WHEN a.use_yn = 'Y' THEN '사용' ELSE '미사용' END AS use_yn_nm,
a.view_odr,
b.mgrp_sq,
CASE WHEN b.mgrp_sq IS NOT NULL THEN 'selected' ELSE '' END `state`
FROM
menu AS a
LEFT JOIN
menu_perms AS b ON b.mnu_id = a.mnu_id AND b.mgrp_sq = {$usrLevel}
WHERE 1=1
ORDER BY CASE WHEN id = 'ROOT' THEN 0 ELSE 1 END, a.mnu_id, a.view_odr
";
$query = $this->db->query($sql);
return $query->getResultArray();
}
// 메뉴권한 전체삭제
public function deleteMenuPermit($usrLevel)
{
$sql = "DELETE FROM menu_perms WHERE mgrp_sq = {$usrLevel} ";
$this->db->query($sql);
}
// 메뉴권한 등록
public function saveMenuAuth($data)
{
$sql = "INSERT INTO menu_perms ";
$sql .= "(mgrp_sq, mnu_id, prm_list, insert_tm, insert_usr, update_tm, update_usr) ";
$sql .= "VALUES ";
$sql .= "({$data['usrLevel']}, '{$data['mnuId']}', 'Y', NOW(), {$data['usrSq']}, NOW(), {$data['usrSq']}) ";
$this->db->query($sql);
if ($this->db->transStatus() === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
// 성공
return [
'success' => true,
];
}
}

View File

@@ -17,13 +17,41 @@ class PhoneModel extends Model
public function getTotalCount($data)
{
$params = [];
$sql = "SELECT
COUNT(*) AS cnt
FROM
dupl_phone_list AS a
LEFT JOIN codes AS b ON a.cpid = b.cd AND b.category = 'CP_ID' ";
$query = $this->db->query($sql);
$sql .= "WHERE 1=1 ";
if (!empty($data['cpid'])) {
$sql .= "AND a.cpid = ?";
array_push($params, $data['cpid']);
}
if (!empty($data['s_date'])) {
$sql .= "AND a.s_date >= DATE(?) ";
array_push($params, $data['s_date']);
}
if (!empty($data['e_date'])) {
$sql .= "AND a.e_date <= DATE(?) ";
array_push($params, $data['e_date']);
}
if (!empty($data['phone'])) {
$sql .= "AND REPLACE(a.phone_number, '-', '') LIKE CONCAT('%', REPLACE(?, '-', ''), '%') ";
array_push($params, $data['phone']);
}
if (!empty($data['useYn'])) {
$sql .= "AND a.use_yn = ? ";
array_push($params, $data['useYn']);
}
$query = $this->db->query($sql, $params ?: []);
return $query->getRow()->cnt;
}
@@ -40,6 +68,34 @@ class PhoneModel extends Model
dupl_phone_list AS a
LEFT JOIN codes AS b ON a.cpid = b.cd AND b.category = 'CP_ID' ";
$sql .= "WHERE 1=1 ";
if (!empty($data['cpid'])) {
$sql .= "AND a.cpid = ?";
array_push($params, $data['cpid']);
}
if (!empty($data['s_date'])) {
$sql .= "AND a.s_date >= DATE(?) ";
array_push($params, $data['s_date']);
}
if (!empty($data['e_date'])) {
$sql .= "AND a.e_date <= DATE(?) ";
array_push($params, $data['e_date']);
}
if (!empty($data['phone'])) {
$sql .= "AND REPLACE(a.phone_number, '-', '') LIKE CONCAT('%', REPLACE(?, '-', ''), '%') ";
array_push($params, $data['phone']);
}
if (!empty($data['useYn'])) {
$sql .= "AND a.use_yn = ? ";
array_push($params, $data['useYn']);
}
$sql .= "ORDER BY a.use_yn ASC, a.s_date DESC ";
$sql .= " LIMIT ?, ?";
@@ -76,4 +132,93 @@ class PhoneModel extends Model
'success' => true,
];
}
public function updateDuplPhone($data)
{
$sql = " UPDATE dupl_phone_list" .
" SET phone_number = ? " .
" , use_yn = ? " .
" , s_date = ? " .
" , e_date = ? " .
" , address = ? " .
" , owner = ? " .
" , applicant = ? " .
" , relation = ? " .
" , cpid = ? " .
" , memo = ? " .
" , insert_tm = SYSDATE() " .
" , insert_user_id = ? " .
" WHERE phone_number = ?";
$this->db->query($sql, $data);
if ($this->db->transStatus() === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
// 성공
return [
'success' => true,
];
}
// 엑셀다운로드
function getExcelPhoneList($data)
{
$params = [];
$sql = "SELECT
a.phone_number AS '연락처'
, a.s_date AS '등록일'
, a.e_date AS '만료일'
, b.cd_nm AS '매체사'
, a.address AS '주소'
, a.owner AS '소유자'
, a.applicant AS '신청인'
, a.relation AS '관계'
, (CASE a.use_yn WHEN 'Y' THEN '사용' WHEN 'N' THEN '미사용' END) AS '사용유무'
, a.memo AS '메모'
FROM
dupl_phone_list AS a
LEFT JOIN codes AS b ON a.cpid = b.cd AND b.category = 'CP_ID' ";
$sql .= "WHERE 1=1 ";
if (!empty($data['cpid'])) {
$sql .= "AND a.cpid = ?";
array_push($params, $data['cpid']);
}
if (!empty($data['s_date'])) {
$sql .= "AND a.s_date >= DATE(?) ";
array_push($params, $data['s_date']);
}
if (!empty($data['e_date'])) {
$sql .= "AND a.e_date <= DATE(?) ";
array_push($params, $data['e_date']);
}
if (!empty($data['phone'])) {
$sql .= "AND REPLACE(a.phone_number, '-', '') LIKE CONCAT('%', REPLACE(?, '-', ''), '%') ";
array_push($params, $data['phone']);
}
if (!empty($data['useYn'])) {
$sql .= "AND a.use_yn = ? ";
array_push($params, $data['useYn']);
}
$sql .= "ORDER BY a.use_yn ASC, a.s_date DESC ";
$query = $this->db->query($sql, $params ?: []);
return $query->getResultArray();
}
}

View File

@@ -0,0 +1,246 @@
<?php
namespace App\Models\manage;
use CodeIgniter\Model;
class ScomplexModel extends Model
{
public function getCodeList()
{
$sql = "SELECT * FROM codes WHERE category = 'ARTICLE_TYPE' ";
$query = $this->db->query($sql);
return $query->getResultArray();
}
public function getTotalCount($data)
{
$params = [];
$sql = "SELECT COUNT(*) AS cnt
FROM scomplex_manage AS sm
LEFT JOIN codes AS c ON c.cd = sm.codes AND c.category = 'ARTICLE_TYPE' ";
$sql .= "WHERE 1=1 ";
if (!empty($data['name'])) {
$sql .= "AND sm.sm_name LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['name']);
}
if (!empty($data['apporval_date'])) {
$sql .= "AND sm.sm_apporval_date >= DATE(?) ";
array_push($params, $data['apporval_date']);
}
if (!empty($data['end_date'])) {
$sql .= "AND sm.sm_end_date <= DATE(?) ";
array_push($params, $data['end_date']);
}
if (!empty($data['code'])) {
$sql .= "AND sm.sm_code LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['code']);
}
if (!empty($data['cd'])) {
$sql .= "AND sm.codes = ? ";
array_push($params, $data['cd']);
}
if (!empty($data['address'])) {
$sql .= "AND sm.sm_address LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['address']);
}
$query = $this->db->query($sql, $params ?: []);
return $query->getRow()->cnt;
}
public function getScomplexList($start, $end, $data)
{
$params = [];
$sql = "SELECT
sm.sm_seq AS sm_seq,
sm.sm_name AS sm_name,
sm.sm_code AS sm_code,
sm.sm_address AS sm_address,
c.cd AS cd ,
c.cd_nm AS cd_nm ,
sm.sm_apporval_date AS sm_apporval_date,
sm.sm_end_date AS sm_end_date,
sm.sm_memo AS sm_memo,
sm.insert_tm AS insert_tm,
sm.update_tm AS update_tm,
sm.insert_usr AS insert_usr,
sm.update_usr AS update_usr
FROM
scomplex_manage AS sm
LEFT JOIN
codes AS c ON c.cd = sm.codes AND c.category = 'ARTICLE_TYPE' ";
$sql .= "WHERE 1=1 ";
if (!empty($data['name'])) {
$sql .= "AND sm.sm_name LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['name']);
}
if (!empty($data['apporval_date'])) {
$sql .= "AND sm.sm_apporval_date >= DATE(?) ";
array_push($params, $data['apporval_date']);
}
if (!empty($data['end_date'])) {
$sql .= "AND sm.sm_end_date <= DATE(?) ";
array_push($params, $data['end_date']);
}
if (!empty($data['code'])) {
$sql .= "AND sm.sm_code LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['code']);
}
if (!empty($data['cd'])) {
$sql .= "AND sm.codes = ? ";
array_push($params, $data['cd']);
}
if (!empty($data['address'])) {
$sql .= "AND sm.sm_address LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['address']);
}
$sql .= "ORDER BY sm.insert_tm DESC ";
$sql .= "LIMIT ?, ? ";
$params[] = (int) $start;
$params[] = (int) $end;
$query = $this->db->query($sql, $params ?: []);
return $query->getResultArray();
}
public function insertScomplex($data)
{
$sql = "INSERT INTO scomplex_manage ";
$sql .= "(sm_name, sm_code, sm_address, codes, sm_apporval_date, sm_end_date, sm_memo, insert_tm, insert_usr) ";
$sql .= "VALUES ";
$sql .= "(?, ?, ?, ?, ?, ?, ?, NOW(), ?)";
$this->db->query($sql, $data);
if ($this->db->transStatus() === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
// 성공
return [
'success' => true,
];
}
public function updateScomplex($data)
{
$sql = "UPDATE scomplex_manage SET ";
$sql .= "sm_name = ?,
sm_code = ?,
sm_address = ?,
codes = ?,
sm_apporval_date = ?,
sm_end_date = ?,
sm_memo = ?,
update_tm = ?,
update_usr = NOW() ";
$sql .= "WHERE sm_seq = ?";
$this->db->query($sql, $data);
if ($this->db->transStatus() === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
// 성공
return [
'success' => true,
];
}
public function getExcelScomplexList($data)
{
$params = [];
$sql = "SELECT
sm.sm_name AS '단지명',
sm.sm_code AS '단지코드',
sm.sm_address AS '단지주소',
c.cd_nm AS '매물종류' ,
sm.sm_apporval_date AS '사용승인일',
sm.sm_end_date AS '승인종료일',
sm.sm_memo AS '메모',
sm.insert_tm AS '등록일'
FROM
scomplex_manage AS sm
LEFT JOIN
codes AS c ON c.cd = sm.codes AND c.category = 'ARTICLE_TYPE' ";
$sql .= "WHERE 1=1 ";
if (!empty($data['name'])) {
$sql .= "AND sm.sm_name LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['name']);
}
if (!empty($data['apporval_date'])) {
$sql .= "AND sm.sm_apporval_date >= DATE(?) ";
array_push($params, $data['apporval_date']);
}
if (!empty($data['end_date'])) {
$sql .= "AND sm.sm_end_date <= DATE(?) ";
array_push($params, $data['end_date']);
}
if (!empty($data['code'])) {
$sql .= "AND sm.sm_code LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['code']);
}
if (!empty($data['cd'])) {
$sql .= "AND sm.codes = ? ";
array_push($params, $data['cd']);
}
if (!empty($data['address'])) {
$sql .= "AND sm.sm_address LIKE CONCAT('%', ?, '%') ";
array_push($params, $data['address']);
}
$sql .= "ORDER BY sm.insert_tm DESC ";
$query = $this->db->query($sql, $params ?: []);
return $query->getResultArray();
}
}