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(); } }