1535 lines
52 KiB
PHP
1535 lines
52 KiB
PHP
<?php
|
|
namespace App\Models\v2;
|
|
|
|
use App\Models\webfax\FaxModel;
|
|
use CodeIgniter\Model;
|
|
|
|
class M702Model 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
|
|
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
|
|
JOIN v2_article_info_etc k ON k.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.charger = j.usr_id
|
|
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39' ";
|
|
|
|
$sql .= "WHERE 1=1 ";
|
|
|
|
// 매물번호
|
|
if (!empty($data['atcl_no'])) {
|
|
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
|
|
} else {
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$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['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.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 as vrfc_type_cd,
|
|
IFNULL(c.rm_no, '') as rm_no,
|
|
c.floor,
|
|
c.address_code,
|
|
IFNULL(c.address2, '') as address2,
|
|
IFNULL(k.address2a, '') as address2a,
|
|
IFNULL(k.address2b, '') as address2b,
|
|
IFNULL(c.address3, '') as address3,
|
|
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_nm,
|
|
c.ptp_no,
|
|
d.insert_tm as update_res_tm,
|
|
e.insert_tm as result_tm,
|
|
IFNULL(f.region_nm , '') as 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
|
|
FROM
|
|
v2_article_info a
|
|
JOIN v2_vrfc_req b ON a.vr_sq = b.vr_sq
|
|
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
|
|
JOIN v2_article_info_etc k ON k.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.charger = j.usr_id
|
|
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39' ";
|
|
|
|
$sql .= "WHERE 1=1 ";
|
|
|
|
// 매물번호
|
|
if (!empty($data['atcl_no'])) {
|
|
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
|
|
} else {
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$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['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 ";
|
|
|
|
$sql .= "LIMIT {$start}, {$end}";
|
|
|
|
$query = $this->db->query($sql);
|
|
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// 엑셀 다운로드
|
|
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 '중개소',
|
|
i.usr_nm AS '서류/전화 담당자',
|
|
IFNULL(d.insert_tm, d2.insert_tm) AS '서류/전화 확인완료시간',
|
|
a.reg_charger AS '등기부등본 담당자',
|
|
e.insert_tm AS '검증완료 일시',
|
|
FROM
|
|
v2_article_info a
|
|
JOIN v2_vrfc_req b ON a.vr_sq = b.vr_sq
|
|
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
|
|
JOIN v2_article_info_etc k ON k.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.charger = j.usr_id
|
|
LEFT JOIN v2_chg_stat d2 ON d2.vr_sq = a.vr_sq AND d2.stat_cd = '39' ";
|
|
|
|
$sql .= "WHERE 1=1 ";
|
|
|
|
// 매물번호
|
|
if (!empty($data['atcl_no'])) {
|
|
$sql .= "AND a.atcl = '{$data['atcl_no']}' ";
|
|
} else {
|
|
// 현재상태
|
|
if (!empty($data['stat_cd'])) {
|
|
$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['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 ";
|
|
|
|
$query = $this->db->query($sql);
|
|
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
|
|
// 배정변경
|
|
public function updateAssign($params)
|
|
{
|
|
|
|
$this->db->transStart();
|
|
|
|
$usr_id = session('usr_id');
|
|
$usr_sq = session('usr_sq');
|
|
|
|
// 현재상태 조회
|
|
$sql = "SELECT a.vr_sq, a.charger, b.stat_cd
|
|
FROM v2_article_info a
|
|
LEFT JOIN v2_vrfc_req b on b.vr_sq = a.vr_sq
|
|
WHERE a.vr_sq = ? ";
|
|
|
|
$query = $this->db->query($sql, [$params['vr_sq']]);
|
|
$oldRow = $query->getRowArray();
|
|
|
|
// 담당자 부서 조회.
|
|
$sql = "SELECT a.usr_sq, a.usr_id
|
|
, IFNULL(CASE b.depth WHEN '1' THEN b.dept_sq END, CASE c.depth WHEN '1' THEN c.dept_sq END) dept1_sq
|
|
, IFNULL(CASE b.depth WHEN '2' THEN b.dept_sq END, CASE c.depth WHEN '2' THEN c.dept_sq END) dept2_sq
|
|
FROM users a
|
|
LEFT JOIN departments b ON b.dept_sq = a.dept_sq
|
|
LEFT JOIN departments c ON c.dept_sq = b.pdept_sq
|
|
WHERE a.usr_id = ?";
|
|
|
|
|
|
$query = $this->db->query($sql, [$params['damdang']]);
|
|
$row = $query->getRowArray();
|
|
|
|
$data = [];
|
|
if ($params['type'] == "1") {
|
|
$data = [
|
|
'damdang' => $params['damdang'],
|
|
'dept1_sq' => $row['dept1_sq'],
|
|
'dept2_sq' => $row['dept2_sq'],
|
|
];
|
|
} else if ($params['type'] == "2") {
|
|
$data = [
|
|
'damdang' => $params['damdang'],
|
|
'reg_dept1_sq' => $row['dept1_sq'],
|
|
'reg_dept2_sq' => $row['dept2_sq'],
|
|
];
|
|
}
|
|
|
|
// UPDATE v2_article_info
|
|
$builder = $this->db->table('v2_article_info');
|
|
$builder->where('vr_sq', $params['vr_sq']);
|
|
if (!$builder->update()) {
|
|
return [
|
|
'success' => false,
|
|
'msg' => '저장 실패',
|
|
];
|
|
}
|
|
|
|
// UPDATE v2_vrfc_req
|
|
$builder = $this->db->table('v2_vrfc_req');
|
|
$builder->where('vr_sq', $params['vr_sq']);
|
|
$builder->where('CAST(stat_cd AS UNSIGNED) <', 20);
|
|
|
|
$builder->update();
|
|
|
|
$builder = $this->db->table('v2_vrfc_req');
|
|
$builder->where('vr_sq', $params['vr_sq']);
|
|
$builder->where('CAST(stat_cd AS UNSIGNED) <', 30);
|
|
|
|
$builder->update();
|
|
|
|
if (!empty($oldRow)) {
|
|
if (intval($oldRow['stat_cd']) < 20) {
|
|
$this->saveV2ChgStat($oldRow['vr_sq'], '20', $usr_sq);
|
|
}
|
|
|
|
$memo = $oldRow['charger'] . ' => ' . $params['damdang'];
|
|
$this->saveHistory($oldRow['vr_sq'], $oldRow['stat_cd'], 'C13', $usr_id, $memo);
|
|
}
|
|
|
|
$this->db->transComplete();
|
|
|
|
return [
|
|
'success' => true,
|
|
];
|
|
}
|
|
|
|
public function chgStat($vr_sq, $stat_cd, $insert_tm)
|
|
{ //상태변경 TABLE INSERT
|
|
|
|
$usr_sq = session('usr_sq');
|
|
$usr_id = session('usr_id');
|
|
|
|
$list = $this->getDetail($vr_sq);
|
|
|
|
$sql = "INSERT INTO v2_chg_stat (vr_sq, stat_cd, insert_user, insert_tm)" .
|
|
"VALUES (?, ?, ?, ?)" .
|
|
"ON DUPLICATE KEY " .
|
|
"UPDATE vr_sq=VALUES(vr_sq), stat_cd=VALUES(stat_cd), insert_user=VALUES(insert_user), insert_tm=VALUES(insert_tm)";
|
|
|
|
$data = array(
|
|
'vr_sq' => $vr_sq
|
|
,
|
|
'stat_cd' => $stat_cd
|
|
,
|
|
'usr_sq' => $usr_sq
|
|
,
|
|
'insert_tm' => $insert_tm
|
|
);
|
|
|
|
$this->db->transStart();
|
|
$res = $this->db->query($sql, $data);
|
|
|
|
// echo $this->db->last_query();
|
|
|
|
$return['error_number'] = $this->db->_error_number();
|
|
$return['error_message'] = $this->db->_error_message();
|
|
|
|
if (empty($return['error_number'])) {
|
|
//로그를 남긴다.
|
|
if ($this->db->affected_rows() > 0) {
|
|
if (!empty($changed)) {
|
|
$this->saveHistory($list['data']['vr_sq'], $stat_cd, 'C9', $usr_id, "등기부등본확인 정보 수정"); //검증결과 변동사항 HISTORY
|
|
}
|
|
}
|
|
}
|
|
$this->db->transComplete();
|
|
}
|
|
|
|
public function chgStatVrfc($vr_sq, $stat_cd)
|
|
{
|
|
$data = ['stat_cd' => $stat_cd];
|
|
|
|
$builder = $this->db->table('v2_vrfc_req');
|
|
$builder->where('vr_sq', $vr_sq);
|
|
$builder->update($data);
|
|
|
|
$error = $this->db->error();
|
|
$return['error_number'] = $error['code'] ?? null;
|
|
$return['error_message'] = $error['message'] ?? null;
|
|
|
|
return $return;
|
|
}
|
|
|
|
public function chgStatFax($vr_sq, $stat_cd)
|
|
{
|
|
$data = ['stat_cd' => $stat_cd];
|
|
|
|
$builder = $this->db->table('fax_imgs');
|
|
$builder->where('vr_sq', $vr_sq);
|
|
$builder->update($data);
|
|
|
|
$error = $this->db->error();
|
|
$return['error_number'] = $error['code'] ?? null;
|
|
$return['error_message'] = $error['message'] ?? null;
|
|
|
|
return $return;
|
|
}
|
|
|
|
// 상태변경 시각 기록
|
|
public function saveV2ChgStat($vr_sq, $stat_cd, $insert_user)
|
|
{
|
|
$sql = "INSERT INTO v2_chg_stat" .
|
|
" (vr_sq, stat_cd, insert_user, insert_tm)" .
|
|
" VALUES" .
|
|
" (?, ?, ?, now())" .
|
|
" ON DUPLICATE KEY UPDATE insert_user=VALUES(insert_user), insert_tm=VALUES(insert_tm)";
|
|
|
|
$this->db->query($sql, [$vr_sq, $stat_cd, $insert_user]);
|
|
}
|
|
|
|
// 파일정보 저장
|
|
public function saveFileInfo($file)
|
|
{
|
|
$this->db->transStart();
|
|
|
|
$fileType = $file['file_type'] ?? '1';
|
|
|
|
// 기존 파일 확인
|
|
$sql = "SELECT seq FROM v2_files WHERE vr_sq = ? AND use_yn = 'Y' AND file_type = ?";
|
|
$query = $this->db->query($sql, [$file['vr_sq'], $fileType]);
|
|
$result = $query->getRow();
|
|
|
|
if (!empty($result)) {
|
|
// 기존 파일을 비활성화
|
|
$sql = "UPDATE v2_files SET use_yn = 'N' WHERE vr_sq = ? AND file_type = ?";
|
|
$this->db->query($sql, [$file['vr_sq'], $fileType]);
|
|
}
|
|
|
|
// 새 파일 정보 INSERT
|
|
$data = [
|
|
'vr_sq' => $file['vr_sq'],
|
|
'use_yn' => 'Y',
|
|
'file_type' => $fileType,
|
|
'view_odr' => $file['view_odr'] ?? 0,
|
|
'file_path' => $file['file_path'],
|
|
'file_name' => $file['new_name'],
|
|
'file_ext' => $file['ext'],
|
|
'file_size' => $file['size'],
|
|
'insert_user' => session('usr_sq'),
|
|
'insert_tm' => date('Y-m-d H:i:s'),
|
|
'cloud_upload_yn' => 'Y',
|
|
];
|
|
|
|
$builder = $this->db->table('v2_files');
|
|
$builder->insert($data);
|
|
|
|
$this->db->transComplete();
|
|
}
|
|
|
|
|
|
// 변경이력 저장
|
|
public function saveHistory($vr_sq, $stat_cd, $chg_type, $usr_id, $memo)
|
|
{
|
|
$sql = "INSERT INTO v2_chg_history
|
|
(vr_sq, stat_cd, chg_type, insert_id, insert_tm, memo)
|
|
VALUES
|
|
(?, ?, ?, ?, NOW(), ?)
|
|
";
|
|
|
|
$data = [
|
|
$vr_sq,
|
|
$stat_cd,
|
|
$chg_type,
|
|
$usr_id,
|
|
$memo
|
|
];
|
|
|
|
$this->db->query($sql, $data);
|
|
}
|
|
|
|
|
|
// 홍보확인서 정보
|
|
public function getRecordInfo($vr_sq, $file_type)
|
|
{
|
|
$sql = "SELECT seq, vr_sq, use_yn, file_type, view_odr, IFNULL(file_path , '') AS file_path, IFNULL(file_name, '') AS file_name, file_ext, file_size, img_width, img_height, meta_data, insert_user, insert_tm, cloud_upload_yn
|
|
FROM v2_files
|
|
WHERE vr_sq = ? AND use_yn = 'Y' AND file_type = ?
|
|
ORDER BY seq DESC ";
|
|
|
|
$query = $this->db->query($sql, [$vr_sq, $file_type]);
|
|
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
// 메모확인
|
|
public function getMemo($vr_sq)
|
|
{
|
|
$sql = "SELECT memo FROM v2_vrfc_req where vr_sq = ?";
|
|
|
|
$query = $this->db->query($sql, [$vr_sq]);
|
|
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
// 상세목록 조회
|
|
public function getDetail($vr_sq)
|
|
{
|
|
$sql = "SELECT
|
|
a.vr_sq,
|
|
a.dong_ho_chk,
|
|
a.hscplqry_lv,
|
|
b.tel_fail_cause,
|
|
a.atcl_no,
|
|
a.cpid,
|
|
a.cp_atcl_id,
|
|
a.rlet_type_cd,
|
|
a.address1,
|
|
a.sise,
|
|
a.rdate,
|
|
b.try_cnt,
|
|
a.seller_tel_no,
|
|
a.seller_nm,
|
|
a.realtor_nm,
|
|
a.realtor_tel_no,
|
|
a.charger,
|
|
b.insert_tm,
|
|
a.reg_charger,
|
|
b.stat_cd,
|
|
i2.usr_nm as reg_charger_nm,
|
|
c.bild_nm,
|
|
b.vrfc_type as vrfc_type_cd,
|
|
c.rm_no,
|
|
c.floor,
|
|
c.floor2,
|
|
c.address_code,
|
|
c.address2,
|
|
c1.address2a,
|
|
c1.address2b,
|
|
c.address3,
|
|
c.address4,
|
|
c.trade_type as trade_type_cd,
|
|
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,
|
|
g.cd as pre_stat_cd,
|
|
h.cd_nm as vrfc_type,
|
|
i.usr_nm,
|
|
j.cd_nm as trade_type,
|
|
c.hscp_nm,
|
|
c.ptp_nm,
|
|
l.success,
|
|
k.cd_nm as atcl_nm,
|
|
m.code as result_d11,
|
|
m.comment,
|
|
n.code as fax_conf_yn_2,
|
|
o.code as fax_conf_yn_3,
|
|
p.code as fax_conf_yn_4,
|
|
n.comment as fax_conf_yn_info_2,
|
|
o.comment as fax_conf_yn_info_3,
|
|
p.comment as fax_conf_yn_info_4,
|
|
v.success AS tel_suc,
|
|
r.code AS tel_agree,
|
|
s.code AS tel_conf_yn_2,
|
|
t.code AS tel_conf_yn_3,
|
|
u.code AS tel_conf_yn_4,
|
|
s.comment AS tel_conf_yn_info_2,
|
|
t.comment AS tel_conf_yn_info_3,
|
|
u.comment AS tel_conf_yn_info_4,
|
|
w.success AS reg_conf_yn_1,
|
|
x.code AS reg_conf_yn_2,
|
|
y.code AS reg_conf_yn_3,
|
|
x.comment AS reg_conf_yn_info_2,
|
|
y.comment AS reg_conf_yn_info_3,
|
|
b.rgbk_confirm,
|
|
a.confirm_doc_img_url,
|
|
a.cert_register,
|
|
a.cert_register_save_yn,
|
|
a.confirm_doc_img_url_save_yn,
|
|
a.reference_file_url,
|
|
a.reference_file_url_save_yn,
|
|
a.reference_file_url_yn,
|
|
c1.vir_addr_yn
|
|
FROM
|
|
v2_article_info AS a
|
|
JOIN v2_vrfc_req b ON a.vr_sq = b.vr_sq
|
|
JOIN v2_modify_info c ON a.vr_sq = c.vr_sq
|
|
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 codes j ON c.trade_type = j.cd AND j.category = 'TRADE_TYPE'
|
|
LEFT JOIN codes k ON a.rlet_type_cd = k.cd AND k.category = 'ARTICLE_TYPE'
|
|
LEFT JOIN v2_confirm l ON a.vr_sq = l.vr_sq AND l.vrfc_type = 'D'
|
|
LEFT JOIN v2_check_list m ON a.vr_sq = m.vr_sq AND m.type = 'D11'
|
|
LEFT JOIN v2_check_list n ON a.vr_sq = n.vr_sq AND n.type = 'D12'
|
|
LEFT JOIN v2_check_list o ON a.vr_sq = o.vr_sq AND o.type = 'D13'
|
|
LEFT JOIN v2_check_list p ON a.vr_sq = p.vr_sq AND p.type = 'D14'
|
|
LEFT JOIN v2_confirm v ON a.vr_sq = v.vr_sq AND v.vrfc_type = 'T'
|
|
LEFT JOIN v2_check_list r ON a.vr_sq = r.vr_sq AND r.type = 'T11'
|
|
LEFT JOIN v2_check_list s ON a.vr_sq = s.vr_sq AND s.type = 'T12'
|
|
LEFT JOIN v2_check_list t ON a.vr_sq = t.vr_sq AND t.type = 'T13'
|
|
LEFT JOIN v2_check_list u ON a.vr_sq = u.vr_sq AND u.type = 'T14'
|
|
LEFT JOIN v2_confirm w ON a.vr_sq = w.vr_sq AND w.vrfc_type = 'R'
|
|
LEFT JOIN v2_check_list x ON a.vr_sq = x.vr_sq AND x.type = '21'
|
|
LEFT JOIN v2_check_list y ON a.vr_sq = y.vr_sq AND y.type = '22'
|
|
LEFT JOIN users i ON a.charger = i.usr_id
|
|
LEFT JOIN users i2 ON a.reg_charger = i2.usr_id
|
|
|
|
WHERE a.vr_sq = ?";
|
|
|
|
|
|
$query = $this->db->query($sql, [$vr_sq]);
|
|
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
|
|
/* 매물정보를 수정 */
|
|
//public function saveModifyInfo($atcl_vr_sq, $atcl_hscp_nm, $atcl_ptp_nm, $atcl_vrfc_type, $trade_type, $atcl_addr1, $atcl_addr1a, $atcl_addr1b, $atcl_addr2, $atcl_hscp_no, $atcl_ptp_no, $atcl_amt1, $atcl_amt2, $atcl_amt3, $atcl_floor, $atcl_floor2){
|
|
public function saveModifyInfo($atcl_vr_sq, $atcl_hscp_nm, $atcl_ptp_nm, $atcl_vrfc_type, $trade_type, $atcl_addr1, $atcl_addr1a, $atcl_addr1b, $atcl_addr2, $atcl_hscp_no, $atcl_ptp_no, $atcl_amt1, $atcl_amt2, $atcl_amt3, $atcl_floor, $atcl_floor2)
|
|
{
|
|
$usr_id = session('usr_id');
|
|
|
|
$list = $this->getDetail($atcl_vr_sq);
|
|
|
|
if ($trade_type !== 'B2') {
|
|
$atcl_amt3 = '0';
|
|
$data['lease_amt'] = $atcl_amt3;
|
|
}
|
|
if (!empty($trade_type)) {
|
|
$data['trade_type'] = $trade_type;
|
|
}
|
|
if (!empty($atcl_hscp_nm)) {
|
|
$data['hscp_nm'] = $atcl_hscp_nm;
|
|
}
|
|
if (!empty($atcl_ptp_nm)) {
|
|
$data['ptp_nm'] = $atcl_ptp_nm;
|
|
}
|
|
if (!empty($atcl_addr1)) {
|
|
$data['address2'] = $atcl_addr1;
|
|
}
|
|
if (!empty($atcl_addr1a)) {
|
|
$data['address2a'] = $atcl_addr1a;
|
|
}
|
|
if (!empty($atcl_addr1b)) {
|
|
$data['address2b'] = $atcl_addr1b;
|
|
}
|
|
if (!empty($atcl_addr2)) {
|
|
$data['address3'] = $atcl_addr2;
|
|
}
|
|
if (!empty($atcl_hscp_no)) {
|
|
$data['hscp_no'] = $atcl_hscp_no;
|
|
}
|
|
if (!empty($atcl_ptp_no)) {
|
|
$data['ptp_no'] = $atcl_ptp_no;
|
|
}
|
|
if (!empty($atcl_amt1)) {
|
|
$data['deal_amt'] = $atcl_amt1;
|
|
}
|
|
if (!empty($atcl_amt2)) {
|
|
$data['wrrnt_amt'] = $atcl_amt2;
|
|
}
|
|
if (!empty($atcl_amt3)) {
|
|
$data['lease_amt'] = $atcl_amt3;
|
|
}
|
|
if (!empty($atcl_floor)) {
|
|
$data['floor'] = $atcl_floor;
|
|
}
|
|
if (!empty($atcl_floor2)) {
|
|
$data['floor2'] = $atcl_floor2;
|
|
}
|
|
$data['modify_yn'] = 'Y';
|
|
|
|
$this->db->transStart();
|
|
|
|
$builder = $this->db->table('v2_modify_info');
|
|
$builder->where('vr_sq', $atcl_vr_sq);
|
|
$builder->update($data);
|
|
|
|
$lastQuery = (string) $this->db->getLastQuery();
|
|
$currentUrl = current_url();
|
|
log_message('debug', "{$currentUrl} :: {$lastQuery}");
|
|
|
|
$data['trade_type_cd'] = $trade_type;
|
|
$error = $this->db->error();
|
|
$return['error_number'] = $error['code'] ?? null;
|
|
$return['error_message'] = $error['message'] ?? null;
|
|
|
|
if (empty($return['error_number'])) {
|
|
if ($this->db->affectedRows() > 0) {
|
|
if (!empty($changed)) {
|
|
$this->saveHistory($list['data']['vr_sq'], $list['data']['pre_stat_cd'], 'C25', $usr_id, '매물정보 수정');
|
|
}
|
|
}
|
|
}
|
|
|
|
$this->db->transComplete();
|
|
|
|
$faxModel = new FaxModel();
|
|
$faxModel->updateAddress($atcl_vr_sq, $list['data']['address_code'], $data['address2'], $data['address3'], $data['hscp_no'], $data['hscp_nm']);
|
|
|
|
return $return;
|
|
}
|
|
|
|
public function saveModifyVrfc($atcl_vr_sq, $atcl_vrfc_type)
|
|
{
|
|
$usr_id = session('usr_id');
|
|
|
|
$list = $this->getDetail($atcl_vr_sq);
|
|
|
|
|
|
$data = [
|
|
'vrfc_type' => $atcl_vrfc_type,
|
|
];
|
|
|
|
$this->db->transStart();
|
|
|
|
$builder = $this->db->table('v2_vrfc_req');
|
|
$builder->where('vr_sq', $atcl_vr_sq);
|
|
$builder->update($data);
|
|
|
|
$data['vrfc_type_cd'] = $atcl_vrfc_type;
|
|
|
|
$error = $this->db->error();
|
|
$return['error_number'] = $error['code'] ?? null;
|
|
$return['error_message'] = $error['message'] ?? null;
|
|
|
|
if (empty($return['error_number'])) {
|
|
if ($this->db->affectedRows() > 0) {
|
|
if (!empty($changed)) {
|
|
$this->saveHistory($list['data']['vr_sq'], $list['data']['pre_stat_cd'], 'C25', $usr_id, '매물정보 저장');
|
|
}
|
|
}
|
|
}
|
|
|
|
$this->db->transComplete();
|
|
|
|
return $return;
|
|
}
|
|
|
|
// 현재상태확인
|
|
public function chkStat($vr_sq)
|
|
{
|
|
$sql = "SELECT stat_cd FROM v2_vrfc_req WHERE vr_sq = ?";
|
|
$data = [
|
|
$vr_sq
|
|
];
|
|
$query = $this->db->query($sql, $data);
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
public function InsResChar($atcl_vr_sq)
|
|
{
|
|
$usr_id = session('usr_id');
|
|
|
|
$sql = "UPDATE v2_article_info" .
|
|
" SET reg_charger = ?" .
|
|
" WHERE vr_sq = ?";
|
|
|
|
$data = array(
|
|
$usr_id,
|
|
$atcl_vr_sq
|
|
);
|
|
$res = $this->db->query($sql, $data);
|
|
$log_v = $this->db->getLastQuery();
|
|
log_message('debug', $log_v);
|
|
}
|
|
|
|
public function chkRegiTryCnt($atcl_vr_sq)
|
|
{
|
|
$builder = $this->db->table('v2_vrfc_req a');
|
|
$builder->select('a.reg_try_cnt');
|
|
$builder->where('vr_sq', $atcl_vr_sq);
|
|
|
|
$query = $builder->get();
|
|
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
public function chkConfirm($atcl_vr_sq, $reg_yn)
|
|
{ //검증결과 table에 있는지 확인.
|
|
$builder = $this->db->table('v2_confirm a');
|
|
$builder->select('a.vr_sq');
|
|
$builder->where('a.vr_sq', $atcl_vr_sq);
|
|
|
|
if (!empty($reg_yn)) {
|
|
$builder->where('a.vrfc_type', $reg_yn); // 등기부등본 정보 확인시
|
|
}
|
|
|
|
return $builder->get()->getNumRows();
|
|
}
|
|
|
|
public function insertConfirm($vr_sq, $vrfc_type, $success, $type)
|
|
{ //v2_confirm INSERT
|
|
|
|
$usr_sq = session('usr_sq');
|
|
$usr_id = session('usr_id');
|
|
|
|
$sql = "INSERT INTO v2_confirm" .
|
|
"(vr_sq, vrfc_type, success, type, charger, date, insert_user, insert_tm, update_user, update_tm)" .
|
|
"VALUES" .
|
|
"(?, ?, ?, ?, ?, '" . date('YmdHis') . "', ?, NOW(), ?, NOW())";
|
|
|
|
$data = array(
|
|
$vr_sq,
|
|
$vrfc_type,
|
|
$success,
|
|
$type,
|
|
$usr_id,
|
|
$usr_sq,
|
|
$usr_sq
|
|
);
|
|
|
|
$this->db->query($sql, $data);
|
|
|
|
}
|
|
|
|
public function updateConfirm($vr_sq, $vrfc_type, $success)
|
|
{
|
|
$data = [
|
|
'success' => $success,
|
|
'update_user' => session('usr_sq'),
|
|
'update_tm' => date('Y-m-d H:i:s')
|
|
];
|
|
|
|
$builder = $this->db->table('v2_confirm');
|
|
$builder->where('vr_sq', $vr_sq);
|
|
$builder->where('vrfc_type', $vrfc_type);
|
|
$builder->update($data);
|
|
|
|
$error = $this->db->error();
|
|
$return['error_number'] = $error['code'] ?? null;
|
|
$return['error_message'] = $error['message'] ?? null;
|
|
|
|
return $return;
|
|
}
|
|
|
|
public function saveApiErr($err_sq, $err_code, $err_nm, $err_time, $err_no, $err_server = '')
|
|
{
|
|
|
|
$sql = "INSERT INTO err_api (err_sq, err_code, err_nm, err_time, err_no, err_server)" .
|
|
" VALUES (?, ?, ?, ?, ?, ?);";
|
|
|
|
$data = array(
|
|
$err_sq,
|
|
$err_code,
|
|
$err_nm,
|
|
$err_time,
|
|
$err_no,
|
|
$err_server
|
|
);
|
|
$res = $this->db->query($sql, $data);
|
|
}
|
|
|
|
public function insertChkList($vr_sq, $vrfc_type, $type, $code, $comment)
|
|
{ //v2_check_list INSERT
|
|
|
|
$usr_sq = session('usr_sq');
|
|
$sql = "INSERT INTO v2_check_list" .
|
|
"(vr_sq, vrfc_type, type, code, comment, insert_user, insert_tm)" .
|
|
"VALUES" .
|
|
"(?, ?, ?, ?, ?, ?, NOW())" .
|
|
" ON DUPLICATE KEY UPDATE" .
|
|
" vr_sq=values(vr_sq), vrfc_type=values(vrfc_type), type=values(type), code=values(code), comment=values(comment), insert_user=values(insert_user), insert_tm=values(insert_tm)";
|
|
|
|
$data = array(
|
|
$vr_sq,
|
|
$vrfc_type,
|
|
$type,
|
|
$code,
|
|
$comment,
|
|
$usr_sq
|
|
);
|
|
|
|
|
|
$res = $this->db->query($sql, $data);
|
|
}
|
|
|
|
/* 등기부등본 API 호출*/
|
|
public function getDatacertAPI($vr_sq, $vrfc_type = '')
|
|
{
|
|
|
|
// 요청정보
|
|
$sql = "SELECT vr_sq, atcl_no, step, cpid, cp_atcl_id, trade_type, realtor_nm, realtor_tel_no, seller_tel_no, vrfc_type, rgbk_confirm, req_type, rdate, stat_cd, try_cnt, insert_user, insert_tm, owner_verifiable" .
|
|
" FROM v2_vrfc_req where vr_sq = ?";
|
|
$data = array($vr_sq);
|
|
$query = $this->db->query($sql, $data);
|
|
$row_vrfc_req = $query->getRowArray();
|
|
|
|
if (!empty($vrfc_type)) {
|
|
$row_vrfc_req['vrfc_type'] = $vrfc_type;
|
|
}
|
|
|
|
log_message('debug', $this->db->getLastQuery());
|
|
|
|
// 매물정보
|
|
$sql = "SELECT vr_sq, atcl_no, cpid, cp_atcl_id, rlet_type_cd, trade_type, address_code, address1, address2, address3, sply_spc, excls_spc, tot_spc, grnd_spc, bldg_spc, deal_amt, wrrnt_amt, lease_amt, isale_amt, prem_amt, sise, floor, rdate, seller_tel_no, seller_nm, realtor_nm, realtor_tel_no, hscp_no, hscp_nm, ptp_no, ptp_nm, charger, req_price_yn, reg_charger, dept1_sq, dept2_sq, reg_dept1_sq, reg_dept2_sq, floor2" .
|
|
" FROM v2_article_info where vr_sq = ?";
|
|
$data = array($vr_sq);
|
|
$query = $this->db->query($sql, $data);
|
|
$row_article_info = $query->getRowArray();
|
|
|
|
log_message('debug', $this->db->getLastQuery());
|
|
|
|
// 수정정보
|
|
$sql = "SELECT vr_sq, bild_nm, rm_no, floor, address_code, address2, address3, trade_type, deal_amt, wrrnt_amt, lease_amt, isale_amt, prem_amt, sply_spc, excls_spc, tot_spc, grnd_spc, bldg_spc, hscp_no, hscp_nm, ptp_no, ptp_nm, modify_yn, floor2" .
|
|
" FROM v2_modify_info where vr_sq = ?";
|
|
$data = array($vr_sq);
|
|
$query = $this->db->query($sql, $data);
|
|
$row_modify_info = $query->getRowArray();
|
|
|
|
log_message('debug', $this->db->getLastQuery());
|
|
|
|
// 검증결과
|
|
$sql = "SELECT vr_sq, vrfc_type, success, type, charger, date, insert_user, insert_tm, update_user, update_tm, work_type" .
|
|
" FROM v2_confirm where vr_sq = ? and vrfc_type = ?";
|
|
$data = array($vr_sq, $row_vrfc_req['vrfc_type']);
|
|
$query = $this->db->query($sql, $data);
|
|
$row_confirm = $query->getRowArray();
|
|
|
|
log_message('debug', $this->db->getLastQuery());
|
|
|
|
// 확인정보
|
|
$sql = "SELECT a.type, a.code, a.comment, b.ownerNm, b.owner_birth" .
|
|
" FROM v2_check_list a " .
|
|
" INNER JOIN v2_article_info b on a.vr_sq = b.vr_sq" .
|
|
" WHERE a.vr_sq = ? and a.vrfc_type = ?";
|
|
// " FROM v2_check_list where vr_sq = ? and vrfc_type = ? and type like concat(vrfc_type, '%')";
|
|
$data = array($vr_sq, $row_vrfc_req['vrfc_type']);
|
|
$query = $this->db->query($sql, $data);
|
|
$res_check_list = $query->getResultArray();
|
|
|
|
log_message('debug', $this->db->getLastQuery());
|
|
|
|
log_message('debug', implode(', ', $row_confirm));
|
|
|
|
$atclNo = $row_vrfc_req['atcl_no'];
|
|
$type = $row_vrfc_req['try_cnt'];
|
|
$success = empty($row_confirm['success']) ? FALSE : TRUE;
|
|
$charger = $row_confirm['charger'];
|
|
$date = $row_confirm['date'];
|
|
if ($row_vrfc_req['owner_verifiable'] == 'false') {
|
|
$ownerVerifiable = FALSE;
|
|
} else {
|
|
$ownerVerifiable = TRUE;
|
|
}
|
|
|
|
$checkList = array();
|
|
foreach ($res_check_list as $row) {
|
|
$checkList[] = array(
|
|
'type' => $row['type'],
|
|
'code' => $row['code'],
|
|
'comment' => $row['comment'],
|
|
'ownerNm' => $row['ownerNm'],
|
|
'ownerBirth' => $row['owner_birth'],
|
|
);
|
|
}
|
|
|
|
$modifyInfo = array();
|
|
if ($row_modify_info['modify_yn'] == 'Y') {
|
|
if (!empty($row_modify_info['hscp_no'])) {
|
|
// 공동주택
|
|
$modifyInfo = array(
|
|
'hscpNo' => $row_modify_info['hscp_no'],
|
|
'ptpNo' => $row_modify_info['ptp_no'],
|
|
'bildNm' => $row_modify_info['address2'],
|
|
'rmNo' => $row_modify_info['address3'],
|
|
'tradeType' => $row_modify_info['trade_type'],
|
|
'dealAmt' => $row_modify_info['deal_amt'],
|
|
'wrrntAmt' => $row_modify_info['wrrnt_amt'],
|
|
'leaseAmt' => $row_modify_info['lease_amt'],
|
|
'isaleAmt' => $row_modify_info['isale_amt'],
|
|
'premAmt' => $row_modify_info['prem_amt'],
|
|
'floor' => $row_modify_info['floor'],
|
|
);
|
|
} else {
|
|
// 비공동주택
|
|
$modifyInfo = array(
|
|
'addressCode' => $row_modify_info['address_code'],
|
|
'address2' => $row_modify_info['address2'],
|
|
'address3' => $row_modify_info['address3'],
|
|
'tradeType' => $row_modify_info['trade_type'],
|
|
'dealAmt' => $row_modify_info['deal_amt'],
|
|
'wrrntAmt' => $row_modify_info['wrrnt_amt'],
|
|
'leaseAmt' => $row_modify_info['lease_amt'],
|
|
'splySpc' => $row_modify_info['sply_spc'],
|
|
'exclsSpc' => $row_modify_info['excls_spc'],
|
|
'totSpc' => $row_modify_info['tot_spc'],
|
|
'grndSpc' => $row_modify_info['grnd_spc'],
|
|
'bldgSpc' => $row_modify_info['bldg_spc'],
|
|
'floor' => $row_modify_info['floor'],
|
|
'floor2' => $row_modify_info['floor2'],
|
|
);
|
|
}
|
|
|
|
return array(
|
|
'atclNo' => $atclNo,
|
|
'type' => $type,
|
|
'success' => $success,
|
|
'checkList' => $checkList,
|
|
'charger' => $charger,
|
|
'modifyInfo' => $modifyInfo,
|
|
'date' => $date,
|
|
'ownerVerifiable' => $ownerVerifiable,
|
|
);
|
|
} else {
|
|
return array(
|
|
'atclNo' => $atclNo,
|
|
'type' => $type,
|
|
'success' => $success,
|
|
'checkList' => $checkList,
|
|
'charger' => $charger,
|
|
'date' => $date,
|
|
'ownerVerifiable' => $ownerVerifiable,
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
public function chgRegiTryCnt($vr_sq, $try_cnt)
|
|
{ //v2_vrfc_req try_cnt 값 변경.
|
|
$sql = "UPDATE v2_vrfc_req" .
|
|
" SET reg_try_cnt = ?" .
|
|
" WHERE vr_sq = ?";
|
|
|
|
$data = array(
|
|
$try_cnt,
|
|
$vr_sq
|
|
);
|
|
|
|
$res = $this->db->query($sql, $data);
|
|
}
|
|
|
|
public function InsCharger($atcl_vr_sq)
|
|
{
|
|
$usr_id = session('usr_id');
|
|
|
|
$sql = "UPDATE v2_article_info" .
|
|
" SET charger = ?" .
|
|
" WHERE vr_sq = ?";
|
|
|
|
$data = array(
|
|
$usr_id,
|
|
$atcl_vr_sq
|
|
);
|
|
|
|
$res = $this->db->query($sql, $data);
|
|
$log_v = $this->db->getLastQuery();
|
|
log_message('debug', $log_v);
|
|
}
|
|
|
|
public function chkTryCnt($atcl_vr_sq)
|
|
{
|
|
$builder = $this->db->table('v2_vrfc_req a');
|
|
$builder->select('a.try_cnt');
|
|
$builder->where('a.vr_sq', $atcl_vr_sq);
|
|
|
|
$query = $builder->get();
|
|
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
public function saveMemo($data)
|
|
{
|
|
$usr_id = session('usr_id');
|
|
|
|
$sql = "UPDATE v2_vrfc_req SET
|
|
memo = ?
|
|
WHERE vr_sq = ?
|
|
";
|
|
|
|
if ($this->db->query($sql, [$data['memo'], $data['vr_sq']]) === false) {
|
|
return [
|
|
'success' => false,
|
|
'msg' => '저장 실패',
|
|
];
|
|
}
|
|
|
|
$detail = $this->getDetail($data['vr_sq']);
|
|
|
|
$memo = "메모변경 : " . $detail['memo'] . " => " . $data['memo'];
|
|
$this->saveHistory($data['vr_sq'], $data['pre_stat_cd'], 'C19', $usr_id, $memo);
|
|
return [
|
|
'success' => true,
|
|
];
|
|
}
|
|
|
|
// 변경이력 조회
|
|
public function getHistory($vr_sq)
|
|
{
|
|
$sql = "SELECT
|
|
a.seq,
|
|
a.vr_sq,
|
|
a.stat_cd,
|
|
a.chg_type,
|
|
a.insert_id,
|
|
a.insert_tm,
|
|
a.memo,
|
|
b.cd_nm as stat_cd_nm,
|
|
c.cd_nm as chg_type
|
|
FROM
|
|
v2_chg_history a
|
|
LEFT JOIN codes b ON a.stat_cd = b.cd AND b.category = 'STEP_VERIFICATION'
|
|
LEFT JOIN codes c ON a.chg_type = c.cd AND b.category = 'CHANGED_TYPE'
|
|
WHERE
|
|
a.vr_sq = ?
|
|
ORDER BY a.seq DESC ";
|
|
|
|
$query = $this->db->query($sql, [$vr_sq]);
|
|
|
|
return $query->getResultArray();
|
|
}
|
|
} |