695 lines
26 KiB
PHP
695 lines
26 KiB
PHP
<?php
|
|
namespace App\Models\v2;
|
|
|
|
use CodeIgniter\Model;
|
|
|
|
class M708Model 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
|
|
fax_imgs a
|
|
LEFT JOIN region_codes c ON c.region_cd = a.address_code
|
|
LEFT JOIN users d ON d.usr_id = a.charger
|
|
LEFT JOIN users e ON e.usr_id = a.reg_charger
|
|
LEFT JOIN receipt f1 ON f1.rcpt_sq = a.vr_sq
|
|
LEFT JOIN v2_vrfc_req f2 ON f2.vr_sq = a.vr_sq
|
|
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39' ";
|
|
|
|
$sql .= "WHERE 1=1
|
|
AND (a.work_type = '1' or a.work_type = '3' or a.work_type ='E')
|
|
AND a.RECV_TIME >= DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
|
|
";
|
|
|
|
// 매물번호
|
|
if (!empty($data['atcl_no'])) {
|
|
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
|
|
|
|
// 발신팩스번호
|
|
} else if (!empty($data['caller_no'])) {
|
|
$sql .= "EXISTS (SELECT 'x'
|
|
FROM fax_imgs b
|
|
WHERE b.RECV_TIME >= DATE_ADD(CURDATE(), INTERVAL -3 MONTH)
|
|
AND b.RECV_TIME >= '" . $data['receipt_sdate'] . "' AND b.RECV_TIME <= '" . $data['receipt_edate'] . "'
|
|
AND b.caller_no LIKE CONCAT('%', '" . $data['caller_no'] . "', '%')
|
|
AND b.fax_sq = a.fax_sq
|
|
) ";
|
|
} else {
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$sql .= "AND b.stat_cd = '{$data['stat_cd']}' ";
|
|
}
|
|
|
|
// 매물번호입력
|
|
if ($data['chk_atcl_no'] == "Y") {
|
|
$sql .= "AND a.atcl_no != '' ";
|
|
}
|
|
|
|
// 중개소
|
|
if (!empty($data['realtor_nm'])) {
|
|
$sql .= "AND a.realtor_nm = '{$data['realtor_nm']}' ";
|
|
}
|
|
|
|
// 접수기간
|
|
if (!empty($data['receipt_sdate'])) {
|
|
$sql .= "AND a.RECV_TIME >= '{$data['receipt_sdate']} 00:00:00' ";
|
|
}
|
|
|
|
if (!empty($data['receipt_edate'])) {
|
|
$sql .= "AND a.RECV_TIME <= '{$data['receipt_edate']} 23:59:59' ";
|
|
}
|
|
|
|
// 처리기간
|
|
if (!empty($data['complete_sdate'])) {
|
|
$sql .= "AND a.send_tm >= '{$data['complete_sdate']} 00:00:00' ";
|
|
}
|
|
|
|
if (!empty($data['complete_edate'])) {
|
|
$sql .= "AND a.send_tm <= '{$data['complete_edate']} 23:59:59' ";
|
|
}
|
|
|
|
if (!empty($data['srcSido'])) {
|
|
$sql .= "a.address_code LIKE " . substr($data['srcSido'], 0, 2) . "% ";
|
|
}
|
|
|
|
if (!empty($data['srcGugun'])) {
|
|
$chk_gugun = substr($data['srcGugun'], 0, 2);
|
|
if ($chk_gugun == '36') {
|
|
$sql .= "AND a.address_code = '{$data['srcGugun']}' ";
|
|
} else {
|
|
$sql .= "AND a.address_code LIKE " . substr($data['srcGugun'], 0, 5) . "% ";
|
|
}
|
|
}
|
|
|
|
if (!empty($data['srcDong'])) {
|
|
$sql .= "AND a.address_code = '{$data['srcDong']}' ";
|
|
}
|
|
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$sql .= "AND a.work_type = '1' ";
|
|
$sql .= "EXISTS(SELECT 1 FROM receipt z WHERE z.rcpt_sq = a.vr_sq AND z.rcpt_stat LIKE '{$data['stat_cd']}%') ";
|
|
}
|
|
|
|
// 매물종류
|
|
if (!empty($data['rlet_type_cd'])) {
|
|
$sql .= "AND f1.rcpt_product = '{$data['rlet_type_cd']}' ";
|
|
}
|
|
|
|
// 담당자
|
|
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['target_yn'])) {
|
|
switch ($data['target_yn']) {
|
|
case "1":
|
|
$sql .= "AND (a.work_type = '1' and a.send_yn = 'Y') ";
|
|
break;
|
|
case "E":
|
|
$sql .= "AND a.work_type ='E' ";
|
|
break;
|
|
case "3":
|
|
$sql .= "AND (a.work_type = '1' and a.bunyang_yn = 'Y') ";
|
|
break;
|
|
case "A":
|
|
$sql .= "AND (a.work_type = '1' and a.send_yn = 'N') ";
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 매체사
|
|
if (!empty($data['rcpt_cpid'])) {
|
|
$sql .= "AND a.cpid = '{$data['rcpt_cpid']}' ";
|
|
}
|
|
|
|
// 검증방식
|
|
if (!empty($data['rcpt_v2'])) {
|
|
$sql .= "AND f1.isSiteVRVerification = '{$data['rcpt_v2']}' ";
|
|
}
|
|
|
|
}
|
|
|
|
$sql .= "ORDER BY a.fax_sq DESC, a.RECV_TIME DESC ";
|
|
|
|
|
|
|
|
$query = $this->db->query($sql);
|
|
|
|
return $query->getRow()->cnt;
|
|
}
|
|
|
|
public function getResultList($start, $end, $data)
|
|
{
|
|
$sql = "SELECT
|
|
a.fax_sq, a.mid, a.file_name, a.file_path, a.thumbnail, a.img_width, a.img_height, a.img_size, a.img_sq, a.remark, a.work_type, a.bunyang_yn
|
|
, case when a.atcl_no = '' and a.work_type = '1' then f1.rcpt_atclno when a.atcl_no = '' and a.work_type = '2' then f2.atcl_no else a.atcl_no end as atcl_no
|
|
, a.cpid, a.realtor_nm, a.stat_cd, a.proc_tm, a.send_tm, a.send_yn
|
|
, a.address_code, IFNULL(a.address2, '') AS address2, IFNULL(a.address3, '') AS address3, a.charger, a.reg_charger, a.CALLER_NO, a.callee_no, a.tiff_file_name, a.tiff_save_path, a.tiff_file_size, a.RECV_TIME, a.save_time
|
|
, c.region_nm, d.usr_nm, e.usr_nm reg_charger_nm, d2.insert_tm as stat_39_tm, f1.rcpt_stat, f1.rcpt_sq, f2.stat_cd as stat_cd2
|
|
FROM
|
|
fax_imgs a
|
|
LEFT JOIN region_codes c ON c.region_cd = a.address_code
|
|
LEFT JOIN users d ON d.usr_id = a.charger
|
|
LEFT JOIN users e ON e.usr_id = a.reg_charger
|
|
LEFT JOIN receipt f1 ON f1.rcpt_sq = a.vr_sq
|
|
LEFT JOIN v2_vrfc_req f2 ON f2.vr_sq = a.vr_sq
|
|
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39' ";
|
|
|
|
$sql .= "WHERE 1=1
|
|
AND (a.work_type = '1' or a.work_type = '3' or a.work_type ='E')
|
|
AND a.RECV_TIME >= DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
|
|
";
|
|
|
|
// 매물번호
|
|
if (!empty($data['atcl_no'])) {
|
|
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
|
|
|
|
// 발신팩스번호
|
|
} else if (!empty($data['caller_no'])) {
|
|
$sql .= "EXISTS (SELECT 'x'
|
|
FROM fax_imgs b
|
|
WHERE b.RECV_TIME >= DATE_ADD(CURDATE(), INTERVAL -3 MONTH)
|
|
AND b.RECV_TIME >= '" . $data['receipt_sdate'] . "' AND b.RECV_TIME <= '" . $data['receipt_edate'] . "'
|
|
AND b.caller_no LIKE CONCAT('%', '" . $data['caller_no'] . "', '%')
|
|
AND b.fax_sq = a.fax_sq
|
|
) ";
|
|
} else {
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$sql .= "AND b.stat_cd = '{$data['stat_cd']}' ";
|
|
}
|
|
|
|
// 매물번호입력
|
|
if ($data['chk_atcl_no'] == "Y") {
|
|
$sql .= "AND a.atcl_no != '' ";
|
|
}
|
|
|
|
// 중개소
|
|
if (!empty($data['realtor_nm'])) {
|
|
$sql .= "AND a.realtor_nm = '{$data['realtor_nm']}' ";
|
|
}
|
|
|
|
// 접수기간
|
|
if (!empty($data['receipt_sdate'])) {
|
|
$sql .= "AND a.RECV_TIME >= '{$data['receipt_sdate']} 00:00:00' ";
|
|
}
|
|
|
|
if (!empty($data['receipt_edate'])) {
|
|
$sql .= "AND a.RECV_TIME <= '{$data['receipt_edate']} 23:59:59' ";
|
|
}
|
|
|
|
// 처리기간
|
|
if (!empty($data['complete_sdate'])) {
|
|
$sql .= "AND a.send_tm >= '{$data['complete_sdate']} 00:00:00' ";
|
|
}
|
|
|
|
if (!empty($data['complete_edate'])) {
|
|
$sql .= "AND a.send_tm <= '{$data['complete_edate']} 23:59:59' ";
|
|
}
|
|
|
|
if (!empty($data['srcSido'])) {
|
|
$sql .= "a.address_code LIKE " . substr($data['srcSido'], 0, 2) . "% ";
|
|
}
|
|
|
|
if (!empty($data['srcGugun'])) {
|
|
$chk_gugun = substr($data['srcGugun'], 0, 2);
|
|
if ($chk_gugun == '36') {
|
|
$sql .= "AND a.address_code = '{$data['srcGugun']}' ";
|
|
} else {
|
|
$sql .= "AND a.address_code LIKE " . substr($data['srcGugun'], 0, 5) . "% ";
|
|
}
|
|
}
|
|
|
|
if (!empty($data['srcDong'])) {
|
|
$sql .= "AND a.address_code = '{$data['srcDong']}' ";
|
|
}
|
|
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$sql .= "AND a.work_type = '1' ";
|
|
$sql .= "EXISTS(SELECT 1 FROM receipt z WHERE z.rcpt_sq = a.vr_sq AND z.rcpt_stat LIKE '{$data['stat_cd']}%') ";
|
|
}
|
|
|
|
// 매물종류
|
|
if (!empty($data['rlet_type_cd'])) {
|
|
$sql .= "AND f1.rcpt_product = '{$data['rlet_type_cd']}' ";
|
|
}
|
|
|
|
// 담당자
|
|
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['target_yn'])) {
|
|
switch ($data['target_yn']) {
|
|
case "1":
|
|
$sql .= "AND (a.work_type = '1' and a.send_yn = 'Y') ";
|
|
break;
|
|
case "E":
|
|
$sql .= "AND a.work_type ='E' ";
|
|
break;
|
|
case "3":
|
|
$sql .= "AND (a.work_type = '1' and a.bunyang_yn = 'Y') ";
|
|
break;
|
|
case "A":
|
|
$sql .= "AND (a.work_type = '1' and a.send_yn = 'N') ";
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 매체사
|
|
if (!empty($data['rcpt_cpid'])) {
|
|
$sql .= "AND a.cpid = '{$data['rcpt_cpid']}' ";
|
|
}
|
|
|
|
// 검증방식
|
|
if (!empty($data['rcpt_v2'])) {
|
|
$sql .= "AND f1.isSiteVRVerification = '{$data['rcpt_v2']}' ";
|
|
}
|
|
|
|
}
|
|
|
|
$sql .= "ORDER BY a.fax_sq DESC, a.RECV_TIME DESC ";
|
|
|
|
$sql .= "LIMIT {$start}, {$end} ";
|
|
|
|
|
|
$query = $this->db->query($sql);
|
|
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
|
|
// 엑셀다운로드
|
|
public function getExcelList($data)
|
|
{
|
|
$sql = "SELECT
|
|
a.atcl_no AS '매물번호',
|
|
CASE WHEN f2.stat_cd IS NULL
|
|
THEN
|
|
CASE WHEN f1.rcpt_stat IS NULL
|
|
THEN
|
|
(SELECT cd_nm FROM codes WHERE cd = a.stat_cd AND category = 'STEP_VERIFICATION')
|
|
ELSE
|
|
(SELECT cd_nm FROM codes WHERE cd = f1.rcpt_stat AND category = 'RECEIPT_STATUS3')
|
|
END
|
|
ELSE
|
|
(SELECT cd_nm FROM codes WHERE cd = f2.stat_cd AND category = 'STEP_VERIFICATION')
|
|
END AS '현재상태',
|
|
CASE
|
|
WHEN a.work_type = '1' AND a.send_yn = 'Y' THEN '홍보확인서'
|
|
WHEN a.work_type = '3' THEN '분양권'
|
|
WHEN a.work_type = 'E' THEN '홍보확인서 아님'
|
|
WHEN a.work_type = '1' AND a.send_yn = 'N' THEN '미처리'
|
|
END AS '홍보확인서여부',
|
|
a.RECV_TIME AS '수신시간',
|
|
a.CALLER_NO AS '발신번호',
|
|
c.region_nm AS '주소',
|
|
IFNULL(a.address2, '') AS '상세주소',
|
|
a.cpid AS '매체사',
|
|
a.realtor_nm AS '중개소',
|
|
d.usr_nm AS '서류/전화 담당자',
|
|
IFNULL(a.proc_tm, d2.insert_tm) AS '서류/전화 확인시간',
|
|
e.usr_nm AS '등기부등본 담당자',
|
|
a.send_tm AS '검증완료일시'
|
|
FROM
|
|
fax_imgs a
|
|
LEFT JOIN region_codes c ON c.region_cd = a.address_code
|
|
LEFT JOIN users d ON d.usr_id = a.charger
|
|
LEFT JOIN users e ON e.usr_id = a.reg_charger
|
|
LEFT JOIN receipt f1 ON f1.rcpt_sq = a.vr_sq
|
|
LEFT JOIN v2_vrfc_req f2 ON f2.vr_sq = a.vr_sq
|
|
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39' ";
|
|
|
|
$sql .= "WHERE 1=1
|
|
AND (a.work_type = '1' or a.work_type = '3' or a.work_type ='E')
|
|
AND a.RECV_TIME >= DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
|
|
";
|
|
|
|
// 매물번호
|
|
if (!empty($data['atcl_no'])) {
|
|
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
|
|
|
|
// 발신팩스번호
|
|
} else if (!empty($data['caller_no'])) {
|
|
$sql .= "EXISTS (SELECT 'x'
|
|
FROM fax_imgs b
|
|
WHERE b.RECV_TIME >= DATE_ADD(CURDATE(), INTERVAL -3 MONTH)
|
|
AND b.RECV_TIME >= '" . $data['receipt_sdate'] . "' AND b.RECV_TIME <= '" . $data['receipt_edate'] . "'
|
|
AND b.caller_no LIKE CONCAT('%', '" . $data['caller_no'] . "', '%')
|
|
AND b.fax_sq = a.fax_sq
|
|
) ";
|
|
} else {
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$sql .= "AND b.stat_cd = '{$data['stat_cd']}' ";
|
|
}
|
|
|
|
// 매물번호입력
|
|
if ($data['chk_atcl_no'] == "Y") {
|
|
$sql .= "AND a.atcl_no != '' ";
|
|
}
|
|
|
|
// 중개소
|
|
if (!empty($data['realtor_nm'])) {
|
|
$sql .= "AND a.realtor_nm = '{$data['realtor_nm']}' ";
|
|
}
|
|
|
|
// 접수기간
|
|
if (!empty($data['receipt_sdate'])) {
|
|
$sql .= "AND a.RECV_TIME >= '{$data['receipt_sdate']} 00:00:00' ";
|
|
}
|
|
|
|
if (!empty($data['receipt_edate'])) {
|
|
$sql .= "AND a.RECV_TIME <= '{$data['receipt_edate']} 23:59:59' ";
|
|
}
|
|
|
|
// 처리기간
|
|
if (!empty($data['complete_sdate'])) {
|
|
$sql .= "AND a.send_tm >= '{$data['complete_sdate']} 00:00:00' ";
|
|
}
|
|
|
|
if (!empty($data['complete_edate'])) {
|
|
$sql .= "AND a.send_tm <= '{$data['complete_edate']} 23:59:59' ";
|
|
}
|
|
|
|
if (!empty($data['srcSido'])) {
|
|
$sql .= "a.address_code LIKE " . substr($data['srcSido'], 0, 2) . "% ";
|
|
}
|
|
|
|
if (!empty($data['srcGugun'])) {
|
|
$chk_gugun = substr($data['srcGugun'], 0, 2);
|
|
if ($chk_gugun == '36') {
|
|
$sql .= "AND a.address_code = '{$data['srcGugun']}' ";
|
|
} else {
|
|
$sql .= "AND a.address_code LIKE " . substr($data['srcGugun'], 0, 5) . "% ";
|
|
}
|
|
}
|
|
|
|
if (!empty($data['srcDong'])) {
|
|
$sql .= "AND a.address_code = '{$data['srcDong']}' ";
|
|
}
|
|
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$sql .= "AND a.work_type = '1' ";
|
|
$sql .= "EXISTS(SELECT 1 FROM receipt z WHERE z.rcpt_sq = a.vr_sq AND z.rcpt_stat LIKE '{$data['stat_cd']}%') ";
|
|
}
|
|
|
|
// 매물종류
|
|
if (!empty($data['rlet_type_cd'])) {
|
|
$sql .= "AND f1.rcpt_product = '{$data['rlet_type_cd']}' ";
|
|
}
|
|
|
|
// 담당자
|
|
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['target_yn'])) {
|
|
switch ($data['target_yn']) {
|
|
case "1":
|
|
$sql .= "AND (a.work_type = '1' and a.send_yn = 'Y') ";
|
|
break;
|
|
case "E":
|
|
$sql .= "AND a.work_type ='E' ";
|
|
break;
|
|
case "3":
|
|
$sql .= "AND (a.work_type = '1' and a.bunyang_yn = 'Y') ";
|
|
break;
|
|
case "A":
|
|
$sql .= "AND (a.work_type = '1' and a.send_yn = 'N') ";
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 매체사
|
|
if (!empty($data['rcpt_cpid'])) {
|
|
$sql .= "AND a.cpid = '{$data['rcpt_cpid']}' ";
|
|
}
|
|
|
|
// 검증방식
|
|
if (!empty($data['rcpt_v2'])) {
|
|
$sql .= "AND f1.isSiteVRVerification = '{$data['rcpt_v2']}' ";
|
|
}
|
|
|
|
}
|
|
|
|
$sql .= "ORDER BY a.fax_sq DESC, a.RECV_TIME DESC ";
|
|
|
|
$query = $this->db->query($sql);
|
|
|
|
return $query->getResultArray();
|
|
}
|
|
} |