This commit is contained in:
695
app/Models/v2/M708Model.php
Normal file
695
app/Models/v2/M708Model.php
Normal file
@@ -0,0 +1,695 @@
|
||||
<?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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user