Files
confirms/app/Models/v2/M705Model.php
yangsh 761607beae
Some checks failed
Close Pull Request / main (pull_request_target) Has been cancelled
등기부등본 목록 추가
2026-01-07 14:34:04 +09:00

791 lines
29 KiB
PHP

<?php
namespace App\Models\v2;
use CodeIgniter\Model;
class M705Model 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)
{
$sql = "SELECT
COUNT(*) AS cnt
FROM v2_article_info a
JOIN v2_vrfc_req b ON a.vr_sq = b.vr_sq AND b.rgbk_confirm = TRUE
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
LEFT JOIN v2_article_info_etc c1 ON c1.vr_sq = a.vr_sq
LEFT JOIN region_codes f ON a.address_code = f.region_cd
LEFT JOIN v2_chg_stat d ON a.vr_sq = d.vr_sq AND d.stat_cd = '35'
LEFT JOIN v2_chg_stat e ON a.vr_sq = e.vr_sq AND e.stat_cd = '60'
LEFT JOIN codes g ON b.stat_cd = g.cd AND g.category = 'STEP_VERIFICATION'
LEFT JOIN codes h ON b.vrfc_type = h.cd AND h.category = 'VRFCREQ_WAY'
LEFT JOIN users i ON a.charger = i.usr_id
LEFT JOIN users j ON a.reg_charger = j.usr_id
LEFT JOIN v2_article_info_etc k ON a.vr_sq = k.vr_sq
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39'
WHERE
1=1
AND b.insert_tm >= DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
AND b.vrfc_type <> 'N'
AND b.vrfc_type <> 'O' ";
// 매물번호
if (!empty($data['atcl_no'])) {
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
} else {
// 현재상태
if (!empty($data['stat_cd'])) {
if ($data['stat_cd'] == "999") {
$sql .= "AND EXISTS (select 1 from v2_article_fail d3 where d3.vr_sq = a.vr_sq )";
} else {
$sql .= "AND b.stat_cd = '{$data['stat_cd']}' ";
}
}
// 중개소
if (!empty($data['realtor_nm'])) {
$sql .= "AND a.realtor_nm = '{$data['realtor_nm']}' ";
}
// 매물구분
if (!empty($data['rlet_type_cd'])) {
$sql .= "AND a.rlet_type_cd = '{$data['rlet_type_cd']}' ";
}
// 접수기간
if (!empty($data['receipt_sdate'])) {
$sql .= "AND b.insert_tm >= '{$data['receipt_sdate']} 00:00:00' ";
}
if (!empty($data['receipt_edate'])) {
$sql .= "AND b.insert_tm <= '{$data['receipt_edate']} 23:59:59' ";
}
// 완료기간
if (!empty($data['complete_sdate'])) {
$sql .= "AND b.insert_tm >= '{$data['complete_sdate']} 00:00:00' ";
}
if (!empty($data['complete_edate'])) {
$sql .= "AND b.insert_tm <= '{$data['complete_edate']} 23:59:59' ";
}
// 검증방식
if (!empty($data['vrfc_type_sub'])) {
$sql .= "AND a.vrfc_type_sub = '{$data['vrfc_type_sub']}' ";
} else {
if (!empty($data['vrfcreq_way'])) {
$sql .= "AND b.vrfc_type = '{$data['vrfcreq_way']}' ";
}
}
// 매체사
if (!empty($data['rcpt_cpid'])) {
$sql .= "AND a.cpid = '{$data['rcpt_cpid']}' ";
}
// 지역구분
if (!empty($data['srcDong'])) {
$sql .= "AND a.address_code = '{$data['srcDong']}' ";
} else {
if (!empty($data['srcGugun'])) {
$str_gugun = substr($data['srcGugun'], '0', '2');
if ($str_gugun == '36') { //세종시는 군구가 없고 바로 동이라서 예외
$sql .= "AND a.address_code = '{$data['srcGugun']}' ";
} else {
$gugunPrefix = substr($data['srcGugun'], '0', '5');
$sql .= "AND a.address_code LIKE '{$gugunPrefix}%' ";
}
} else {
if (!empty($data['srcSido'])) {
$sidoPrefix = substr($data['srcSido'], '0', '2');
$sql .= "AND a.address_code LIKE '{$sidoPrefix}%' ";
}
}
}
// 담당자
if (!empty($data['damdang'])) {
switch ($data['charger_gbn']) {
case "1":
$sql .= "a.charger = '{$data['damdang']}' ";
break;
case "2":
$sql .= "a.reg_charger = '{$data['damdang']}' ";
break;
}
} else {
// 배정여부
if ($data['assign_yn'] !== "A") {
switch ($data['charger_gbn'] . $data['assign_yn']) {
case "1Y": // 전화/서류 담당자
$sql .= "a.charger != '' ";
break;
case "1N": // 전화/서류 담당자
$sql .= "a.charger = '' ";
break;
case "2Y": // 등기부등본 담당자
$sql .= "a.reg_charger != '' ";
break;
case "2N": // 등기부등본 담당자
$sql .= "a.reg_charger IS NULL ";
break;
}
}
}
// 본부
if (!empty($data['bonbu'])) {
if ($data['charger_gbn'] === "1") {
$sql .= "AND a.dept1_sq = '{$data['bonbu']}' ";
} else {
$sql .= "AND a.reg_dept1_sq = '{$data['bonbu']}' ";
}
}
// 팀
if (!empty($data['team'])) {
if ($data['charger_gbn'] === "1") {
$sql .= "AND a.dept2_sq = '{$data['team']}' ";
} else {
$sql .= "AND a.reg_dept2_sq = '{$data['team']}' ";
}
}
// 매물종류
if (!empty($data['rlet_type_cd'])) {
$sql .= "AND a.rlet_type_cd = '{$data['rlet_type_cd']}' ";
}
// 면적여부
if ($data['chk_spc_yn'] == "Y") {
$sql .= "AND a.dong_ho_chk = 'N' AND a.hscplqry_lv = '3' ";
} else if ($data['chk_spc_yn'] == "N") {
$sql .= "AND a.rlet_type_cd ('A01', 'A02','A03') ";
$sql .= "(a.dong_ho_Chk = 'Y' or a.hscplqry_lv is null or a.hscplqry_lv != '3') and a.dong_ho_Chk is not null ";
}
// 참고파일
if (!empty($data['reference_file_url_yn'])) {
$sql .= "AND a.reference_file_url_yn = '{$data['a.reference_file_url_yn']}' ";
}
// 법인
if (!empty($data['corp_own'])) {
$sql .= "AND m.corp_own = '{$data['a.corp_own']}' ";
}
}
$query = $this->db->query($sql);
return $query->getRow()->cnt;
}
public function getResultList($start, $end, $data)
{
$sql = "SELECT
a.vr_sq,
a.dong_ho_chk,
a.hscplqry_lv,
a.atcl_no,
a.cpid,
a.cp_atcl_id,
a.rlet_type_cd,
a.address1,
a.sise,
a.rdate,
a.seller_tel_no,
a.seller_nm,
a.realtor_nm,
a.realtor_tel_no,
a.charger,
b.insert_tm,
b.stat_cd,
c.bild_nm,
b.vrfc_type,
c.rm_no,
c.floor,
c.address_code,
c.address2,
c1.address2a,
c1.address2b,
c.address3,
c.address4,
c.trade_type,
c.deal_amt,
c.wrrnt_amt,
c.lease_amt,
c.isale_amt,
c.prem_amt,
c.sply_spc,
c.excls_spc,
c.tot_spc,
c.grnd_spc,
c.bldg_spc,
c.hscp_no,
c.ptp_no,
d.insert_tm as update_res_tm,
e.insert_tm as result_tm,
f.region_nm,
g.cd_nm as pre_stat,
h.cd_nm as vrfc_type,
i.usr_nm,
j.usr_nm as reg_charger,
d2.insert_tm as stat_39_tm,
a.vrfc_type_sub,
k.corp_own,
a.reference_file_url_yn,
(select count(*) from v2_article_fail d3 where d3.vr_sq = a.vr_sq ) as final_fail_cnt
FROM v2_article_info a
JOIN v2_vrfc_req b ON a.vr_sq = b.vr_sq AND b.rgbk_confirm = TRUE
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
LEFT JOIN v2_article_info_etc c1 ON c1.vr_sq = a.vr_sq
LEFT JOIN region_codes f ON a.address_code = f.region_cd
LEFT JOIN v2_chg_stat d ON a.vr_sq = d.vr_sq AND d.stat_cd = '35'
LEFT JOIN v2_chg_stat e ON a.vr_sq = e.vr_sq AND e.stat_cd = '60'
LEFT JOIN codes g ON b.stat_cd = g.cd AND g.category = 'STEP_VERIFICATION'
LEFT JOIN codes h ON b.vrfc_type = h.cd AND h.category = 'VRFCREQ_WAY'
LEFT JOIN users i ON a.charger = i.usr_id
LEFT JOIN users j ON a.reg_charger = j.usr_id
LEFT JOIN v2_article_info_etc k ON a.vr_sq = k.vr_sq
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39'
WHERE
1=1
AND b.insert_tm >= DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
AND b.vrfc_type <> 'N'
AND b.vrfc_type <> 'O' ";
// 매물번호
if (!empty($data['atcl_no'])) {
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
} else {
// 현재상태
if (!empty($data['stat_cd'])) {
if ($data['stat_cd'] == "999") {
$sql .= "AND EXISTS (select 1 from v2_article_fail d3 where d3.vr_sq = a.vr_sq )";
} else {
$sql .= "AND b.stat_cd = '{$data['stat_cd']}' ";
}
}
// 중개소
if (!empty($data['realtor_nm'])) {
$sql .= "AND a.realtor_nm = '{$data['realtor_nm']}' ";
}
// 매물구분
if (!empty($data['rlet_type_cd'])) {
$sql .= "AND a.rlet_type_cd = '{$data['rlet_type_cd']}' ";
}
// 접수기간
if (!empty($data['receipt_sdate'])) {
$sql .= "AND b.insert_tm >= '{$data['receipt_sdate']} 00:00:00' ";
}
if (!empty($data['receipt_edate'])) {
$sql .= "AND b.insert_tm <= '{$data['receipt_edate']} 23:59:59' ";
}
// 완료기간
if (!empty($data['complete_sdate'])) {
$sql .= "AND b.insert_tm >= '{$data['complete_sdate']} 00:00:00' ";
}
if (!empty($data['complete_edate'])) {
$sql .= "AND b.insert_tm <= '{$data['complete_edate']} 23:59:59' ";
}
// 검증방식
if (!empty($data['vrfc_type_sub'])) {
$sql .= "AND a.vrfc_type_sub = '{$data['vrfc_type_sub']}' ";
} else {
if (!empty($data['vrfcreq_way'])) {
$sql .= "AND b.vrfc_type = '{$data['vrfcreq_way']}' ";
}
}
// 매체사
if (!empty($data['rcpt_cpid'])) {
$sql .= "AND a.cpid = '{$data['rcpt_cpid']}' ";
}
// 지역구분
if (!empty($data['srcDong'])) {
$sql .= "AND a.address_code = '{$data['srcDong']}' ";
} else {
if (!empty($data['srcGugun'])) {
$str_gugun = substr($data['srcGugun'], '0', '2');
if ($str_gugun == '36') { //세종시는 군구가 없고 바로 동이라서 예외
$sql .= "AND a.address_code = '{$data['srcGugun']}' ";
} else {
$gugunPrefix = substr($data['srcGugun'], '0', '5');
$sql .= "AND a.address_code LIKE '{$gugunPrefix}%' ";
}
} else {
if (!empty($data['srcSido'])) {
$sidoPrefix = substr($data['srcSido'], '0', '2');
$sql .= "AND a.address_code LIKE '{$sidoPrefix}%' ";
}
}
}
// 담당자
if (!empty($data['damdang'])) {
switch ($data['charger_gbn']) {
case "1":
$sql .= "a.charger = '{$data['damdang']}' ";
break;
case "2":
$sql .= "a.reg_charger = '{$data['damdang']}' ";
break;
}
} else {
// 배정여부
if ($data['assign_yn'] !== "A") {
switch ($data['charger_gbn'] . $data['assign_yn']) {
case "1Y": // 전화/서류 담당자
$sql .= "a.charger != '' ";
break;
case "1N": // 전화/서류 담당자
$sql .= "a.charger = '' ";
break;
case "2Y": // 등기부등본 담당자
$sql .= "a.reg_charger != '' ";
break;
case "2N": // 등기부등본 담당자
$sql .= "a.reg_charger IS NULL ";
break;
}
}
}
// 본부
if (!empty($data['bonbu'])) {
if ($data['charger_gbn'] === "1") {
$sql .= "AND a.dept1_sq = '{$data['bonbu']}' ";
} else {
$sql .= "AND a.reg_dept1_sq = '{$data['bonbu']}' ";
}
}
// 팀
if (!empty($data['team'])) {
if ($data['charger_gbn'] === "1") {
$sql .= "AND a.dept2_sq = '{$data['team']}' ";
} else {
$sql .= "AND a.reg_dept2_sq = '{$data['team']}' ";
}
}
// 매물종류
if (!empty($data['rlet_type_cd'])) {
$sql .= "AND a.rlet_type_cd = '{$data['rlet_type_cd']}' ";
}
// 면적여부
if ($data['chk_spc_yn'] == "Y") {
$sql .= "AND a.dong_ho_chk = 'N' AND a.hscplqry_lv = '3' ";
} else if ($data['chk_spc_yn'] == "N") {
$sql .= "AND a.rlet_type_cd ('A01', 'A02','A03') ";
$sql .= "(a.dong_ho_Chk = 'Y' or a.hscplqry_lv is null or a.hscplqry_lv != '3') and a.dong_ho_Chk is not null ";
}
// 참고파일
if (!empty($data['reference_file_url_yn'])) {
$sql .= "AND a.reference_file_url_yn = '{$data['a.reference_file_url_yn']}' ";
}
// 법인
if (!empty($data['corp_own'])) {
$sql .= "AND m.corp_own = '{$data['a.corp_own']}' ";
}
}
$sql .= "ORDER BY b.vr_sq DESC , b.insert_tm DESC ";
$sql .= "LIMIT {$start}, {$end}";
$query = $this->db->query($sql);
return $query->getResultArray();
}
// 배정확인
public function getNotAssign()
{
$this->db->transStart();
$usr_id = session('usr_id');
$usr_sq = session('usr_sq');
$row_dept = $this->getDepartmentPath($usr_sq);
$reg_dept1_sq = '';
$reg_dept2_sq = '';
if (!empty($row_dept)) {
$reg_dept1_sq = $row_dept['dept1_sq'];
$reg_dept2_sq = $row_dept['dept2_sq'];
}
$sql = "select a.vr_sq from v2_article_info a
inner join v2_vrfc_req b on b.vr_sq = a.vr_sq and b.rgbk_confirm = true and b.stat_cd = '40'
where b.insert_tm >= DATE_ADD(CURDATE(), INTERVAL -1 DAY)
and b.insert_tm < DATE_FORMAT(curdate(), '%Y%m%d172959')
and a.reg_charger is null
AND b.vrfc_type not in ( 'N' , 'O' )
order by a.vr_sq asc
limit 1
FOR UPDATE SKIP LOCKED";
$query = $this->db->query($sql);
$row = $query->getRowArray();
if (!empty($row)) {
$sql = "UPDATE v2_article_info" .
" SET reg_charger = ?, reg_dept1_sq = ?, reg_dept2_sq = ?" .
" WHERE vr_sq = ?";
$data = [
$usr_id,
$reg_dept1_sq,
$reg_dept2_sq,
$row['vr_sq']
];
$this->db->query($sql, $data);
}
$this->db->transComplete();
return $row;
}
// 사용자 부서 조회
public function getDepartmentPath($usr_sq)
{
$sql = "SELECT
b.dept_sq AS dept2_sq, c.dept_sq AS dept1_sq
FROM users a
JOIN departments b ON b.dept_sq = a.dept_sq
JOIN departments c ON c.dept_sq = b.pdept_sq
WHERE a.usr_sq = ?";
$query = $this->db->query($sql, [$usr_sq]);
return $query->getRowArray();
}
// 엑셀다운로드
public function getExcelList($data)
{
$sql = "SELECT
a.atcl_no AS '매물번호'
, g.cd_nm AS '진행상태'
, b.insert_tm AS '접수시간'
, h.cd_nm AS '검증방식'
, CONCAT(f.region_nm, ' ', c.rm_no) AS '주소'
, CONCAT(c.address2, ' ', c.address3) AS '상세주소'
, a.cpid AS '매체사'
, a.realtor_nm AS '중개소'
, IFNULL(d.insert_tm, d2.insert_tm) AS '서류/전화 확인시간'
, i.usr_nm AS '담당자'
, e.insert_tm AS '검증완료일시'
FROM v2_article_info a
JOIN v2_vrfc_req b ON a.vr_sq = b.vr_sq AND b.rgbk_confirm = TRUE
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
LEFT JOIN v2_article_info_etc c1 ON c1.vr_sq = a.vr_sq
LEFT JOIN region_codes f ON a.address_code = f.region_cd
LEFT JOIN v2_chg_stat d ON a.vr_sq = d.vr_sq AND d.stat_cd = '35'
LEFT JOIN v2_chg_stat e ON a.vr_sq = e.vr_sq AND e.stat_cd = '60'
LEFT JOIN codes g ON b.stat_cd = g.cd AND g.category = 'STEP_VERIFICATION'
LEFT JOIN codes h ON b.vrfc_type = h.cd AND h.category = 'VRFCREQ_WAY'
LEFT JOIN users i ON a.charger = i.usr_id
LEFT JOIN users j ON a.reg_charger = j.usr_id
LEFT JOIN v2_article_info_etc k ON a.vr_sq = k.vr_sq
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39'
WHERE
1=1
AND b.insert_tm >= DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
AND b.vrfc_type <> 'N'
AND b.vrfc_type <> 'O' ";
// 매물번호
if (!empty($data['atcl_no'])) {
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
} else {
// 현재상태
if (!empty($data['stat_cd'])) {
if ($data['stat_cd'] == "999") {
$sql .= "AND EXISTS (select 1 from v2_article_fail d3 where d3.vr_sq = a.vr_sq )";
} else {
$sql .= "AND b.stat_cd = '{$data['stat_cd']}' ";
}
}
// 중개소
if (!empty($data['realtor_nm'])) {
$sql .= "AND a.realtor_nm = '{$data['realtor_nm']}' ";
}
// 매물구분
if (!empty($data['rlet_type_cd'])) {
$sql .= "AND a.rlet_type_cd = '{$data['rlet_type_cd']}' ";
}
// 접수기간
if (!empty($data['receipt_sdate'])) {
$sql .= "AND b.insert_tm >= '{$data['receipt_sdate']} 00:00:00' ";
}
if (!empty($data['receipt_edate'])) {
$sql .= "AND b.insert_tm <= '{$data['receipt_edate']} 23:59:59' ";
}
// 완료기간
if (!empty($data['complete_sdate'])) {
$sql .= "AND b.insert_tm >= '{$data['complete_sdate']} 00:00:00' ";
}
if (!empty($data['complete_edate'])) {
$sql .= "AND b.insert_tm <= '{$data['complete_edate']} 23:59:59' ";
}
// 검증방식
if (!empty($data['vrfc_type_sub'])) {
$sql .= "AND a.vrfc_type_sub = '{$data['vrfc_type_sub']}' ";
} else {
if (!empty($data['vrfcreq_way'])) {
$sql .= "AND b.vrfc_type = '{$data['vrfcreq_way']}' ";
}
}
// 매체사
if (!empty($data['rcpt_cpid'])) {
$sql .= "AND a.cpid = '{$data['rcpt_cpid']}' ";
}
// 지역구분
if (!empty($data['srcDong'])) {
$sql .= "AND a.address_code = '{$data['srcDong']}' ";
} else {
if (!empty($data['srcGugun'])) {
$str_gugun = substr($data['srcGugun'], '0', '2');
if ($str_gugun == '36') { //세종시는 군구가 없고 바로 동이라서 예외
$sql .= "AND a.address_code = '{$data['srcGugun']}' ";
} else {
$gugunPrefix = substr($data['srcGugun'], '0', '5');
$sql .= "AND a.address_code LIKE '{$gugunPrefix}%' ";
}
} else {
if (!empty($data['srcSido'])) {
$sidoPrefix = substr($data['srcSido'], '0', '2');
$sql .= "AND a.address_code LIKE '{$sidoPrefix}%' ";
}
}
}
// 담당자
if (!empty($data['damdang'])) {
switch ($data['charger_gbn']) {
case "1":
$sql .= "a.charger = '{$data['damdang']}' ";
break;
case "2":
$sql .= "a.reg_charger = '{$data['damdang']}' ";
break;
}
} else {
// 배정여부
if ($data['assign_yn'] !== "A") {
switch ($data['charger_gbn'] . $data['assign_yn']) {
case "1Y": // 전화/서류 담당자
$sql .= "a.charger != '' ";
break;
case "1N": // 전화/서류 담당자
$sql .= "a.charger = '' ";
break;
case "2Y": // 등기부등본 담당자
$sql .= "a.reg_charger != '' ";
break;
case "2N": // 등기부등본 담당자
$sql .= "a.reg_charger IS NULL ";
break;
}
}
}
// 본부
if (!empty($data['bonbu'])) {
if ($data['charger_gbn'] === "1") {
$sql .= "AND a.dept1_sq = '{$data['bonbu']}' ";
} else {
$sql .= "AND a.reg_dept1_sq = '{$data['bonbu']}' ";
}
}
// 팀
if (!empty($data['team'])) {
if ($data['charger_gbn'] === "1") {
$sql .= "AND a.dept2_sq = '{$data['team']}' ";
} else {
$sql .= "AND a.reg_dept2_sq = '{$data['team']}' ";
}
}
// 매물종류
if (!empty($data['rlet_type_cd'])) {
$sql .= "AND a.rlet_type_cd = '{$data['rlet_type_cd']}' ";
}
// 면적여부
if ($data['chk_spc_yn'] == "Y") {
$sql .= "AND a.dong_ho_chk = 'N' AND a.hscplqry_lv = '3' ";
} else if ($data['chk_spc_yn'] == "N") {
$sql .= "AND a.rlet_type_cd ('A01', 'A02','A03') ";
$sql .= "(a.dong_ho_Chk = 'Y' or a.hscplqry_lv is null or a.hscplqry_lv != '3') and a.dong_ho_Chk is not null ";
}
// 참고파일
if (!empty($data['reference_file_url_yn'])) {
$sql .= "AND a.reference_file_url_yn = '{$data['a.reference_file_url_yn']}' ";
}
// 법인
if (!empty($data['corp_own'])) {
$sql .= "AND m.corp_own = '{$data['a.corp_own']}' ";
}
}
$sql .= "ORDER BY b.vr_sq DESC , b.insert_tm DESC ";
$query = $this->db->query($sql);
return $query->getResultArray();
}
}