Merge pull request 'feature/template' (#7) from feature/template into master
Reviewed-on: http://192.168.10.243:3000/owrainfo/confirms/pulls/7
This commit was merged in pull request #7.
This commit is contained in:
149
app/Models/receipt/ReceiptModel.php
Normal file
149
app/Models/receipt/ReceiptModel.php
Normal file
@@ -0,0 +1,149 @@
|
||||
<?php
|
||||
namespace App\Models\receipt;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class ReceiptModel extends Model
|
||||
{
|
||||
|
||||
/**
|
||||
* 홍보확인서 fax 목록에서 선택할 경우.
|
||||
*/
|
||||
public function saveFaxImage($faxSq, $rcpt_sq, $rsrv_sq, $img_type, $img_path, $img_filenm, $img_nm, $img_size, $img_width, $img_height, $receipt)
|
||||
{
|
||||
$this->db->transStart();
|
||||
|
||||
$usr_sq = session('usr_sq');
|
||||
$usr_id = session('usr_id');
|
||||
|
||||
$sql = "";
|
||||
$data = [];
|
||||
$res = "";
|
||||
$remark = "";
|
||||
|
||||
$result_img = [];
|
||||
|
||||
if ($img_type == 'I8') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set parcel_out_yn = 'Y' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$rcpt_sq];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
|
||||
$sql = "update fax_imgs " .
|
||||
" set bunyang_yn = 'Y' " .
|
||||
" where fax_sq = ? ";
|
||||
$data = [$faxSq];
|
||||
$this->db->query($sql, $data);
|
||||
}
|
||||
|
||||
//홍보확인서, 현장확인 내역서 저장
|
||||
if ($img_type == 'I1' || $img_type == 'I2' || $img_type == 'I10') {
|
||||
//기존에 있던 이미지는 사용유무 N으로 변경
|
||||
$sql = "select img_sq from result_imgs" .
|
||||
" WHERE rsrv_sq = ?" .
|
||||
" AND img_type = ?" .
|
||||
" AND use_yn = 'Y'";
|
||||
$data = [$rsrv_sq, $img_type];
|
||||
$res = $this->db->query($sql, $data);
|
||||
$row = $res->getRowArray();
|
||||
if (!empty($row)) {
|
||||
$this->updateImgSqNullOnFaxImgs($row['img_sq']); // 홍보확인서 재지정일
|
||||
}
|
||||
|
||||
$sql = "UPDATE result_imgs" .
|
||||
" SET use_yn = 'N'" .
|
||||
" WHERE rsrv_sq = ?" .
|
||||
" AND img_type = ?" .
|
||||
" AND use_yn = 'Y'";
|
||||
$data = [$rsrv_sq, $img_type];
|
||||
$res = $this->db->query($sql, $data);
|
||||
|
||||
//새로운 이미지 생성
|
||||
$sql = "INSERT INTO result_imgs(rsrv_sq, use_yn, img_type, view_odr, img_path, img_filenm, img_nm, img_size, img_width, img_height, insert_usr, insert_tm)" .
|
||||
"VALUES (?, 'Y', ?, 1, ?, ?, ?, ?, ?, ?, ?, NOW())";
|
||||
$data = [$rsrv_sq, $img_type, $img_path, $img_filenm, $img_nm, $img_size, $img_width, $img_height, $usr_sq];
|
||||
$res = $this->db->query($sql, $data);
|
||||
|
||||
if ($img_type == 'I1')
|
||||
$remark = "홍보확인서 사진 업로드";
|
||||
else if ($img_type == 'I2')
|
||||
$remark = "현장확인 내역서 사진 업로드";
|
||||
else if ($img_type == 'I10')
|
||||
$remark = "촬영동의서 사진 업로드";
|
||||
else if ($img_type == 'I11')
|
||||
$remark = "체크리스트 사진 업로드";
|
||||
} else {
|
||||
//이미지 순번 검색
|
||||
$odr_sql = "SELECT COALESCE(MAX(view_odr), 0) + 1 as seq FROM result_imgs WHERE rsrv_sq = ? AND img_type = ? AND use_yn = 'Y'";
|
||||
$odr_data = [$rsrv_sq, $img_type];
|
||||
$query = $this->db->query($odr_sql, $odr_data);
|
||||
$row = $query->getRowArray();
|
||||
$view_odr = $row['seq'];
|
||||
|
||||
$sql = "INSERT INTO result_imgs(rsrv_sq, use_yn, img_type, view_odr, img_path, img_filenm, img_nm, img_size, img_width, img_height, insert_usr, insert_tm)" .
|
||||
"VALUES (?, 'Y', ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())";
|
||||
$data = array(
|
||||
$rsrv_sq,
|
||||
$img_type,
|
||||
$view_odr,
|
||||
$img_path,
|
||||
$img_filenm,
|
||||
$img_nm,
|
||||
$img_size,
|
||||
$img_width,
|
||||
$img_height,
|
||||
$usr_sq
|
||||
);
|
||||
|
||||
$res = $this->db->query($sql, $data);
|
||||
|
||||
if ($img_type == 'I3')
|
||||
$remark = "건물외관 사진 업르도";
|
||||
else if ($img_type == 'I4')
|
||||
$remark = "내부 사진 업로드";
|
||||
else if ($img_type == 'I8')
|
||||
$remark = "분양권 사진 업로드";
|
||||
|
||||
}
|
||||
|
||||
|
||||
$imgSq = $this->db->insertID();
|
||||
$this->updateImgSqOnFaxImgs($faxSq, $imgSq);
|
||||
|
||||
if (!$res) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->db->transComplete();
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 홍보확인서를 재지정했을 경우 기존의 홍보확인서는 선택되지 않음으로 ...
|
||||
*/
|
||||
public function updateImgSqNullOnFaxImgs($imgSq)
|
||||
{
|
||||
$sql = "UPDATE fax_imgs" .
|
||||
" SET img_sq = null" .
|
||||
" WHERE img_sq = ?";
|
||||
$data = [$imgSq];
|
||||
$this->db->query($sql, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* FAX이미지를 홍보확인서에서 선택할 경우...
|
||||
*/
|
||||
public function updateImgSqOnFaxImgs($faxSq, $imgSq)
|
||||
{
|
||||
$sql = "UPDATE fax_imgs" .
|
||||
" SET img_sq = ?" .
|
||||
" WHERE fax_sq = ?";
|
||||
|
||||
$data = [$imgSq, $faxSq];
|
||||
$this->db->query($sql, $data);
|
||||
}
|
||||
}
|
||||
@@ -155,4 +155,187 @@ class M415Model extends Model
|
||||
|
||||
return $query->getResultArray();
|
||||
}
|
||||
|
||||
|
||||
// 팩스 인입시간
|
||||
public function getFaxSaveTime($vr_sq)
|
||||
{
|
||||
$sql = "SELECT recv_time from fax_imgs" .
|
||||
" WHERE vr_sq = ?" .
|
||||
" ORDER BY fax_sq DESC" .
|
||||
" LIMIT 1";
|
||||
$data = [
|
||||
$vr_sq
|
||||
];
|
||||
$query = $this->db->query($sql, $data);
|
||||
|
||||
$res = $query->getRowArray();
|
||||
return $res;
|
||||
}
|
||||
|
||||
// 서류/전화 불일치 시간
|
||||
public function getFaxFailTimeForHistory($vr_sq)
|
||||
{
|
||||
$sql = "select insert_tm from v2_chg_history" .
|
||||
" where vr_sq = ?" .
|
||||
" and stat_cd = '39'" .
|
||||
" and chg_type= 'C9'" .
|
||||
" order by seq desc" .
|
||||
" limit 1";
|
||||
$data = [
|
||||
$vr_sq
|
||||
];
|
||||
$query = $this->db->query($sql, $data);
|
||||
// echo $this->db->last_query().'<br>';
|
||||
$res = $query->row_array();
|
||||
return $res;
|
||||
}
|
||||
|
||||
// 등기부등본 확인중 시간, 서류에서 등기로 넘어갈때 간혹 서류전화 확인 완료가 안찍히는 건들이 있다
|
||||
public function get_cert_ing_TimeForHistory($vr_sq)
|
||||
{
|
||||
$sql = "select insert_tm from v2_chg_history" .
|
||||
" where vr_sq = ?" .
|
||||
" and stat_cd = '40'" .
|
||||
" and chg_type= 'C9'" .
|
||||
" order by seq desc" .
|
||||
" limit 1";
|
||||
$data = array(
|
||||
$vr_sq
|
||||
);
|
||||
$query = $this->db->query($sql, $data);
|
||||
// echo $this->db->last_query().'<br>';
|
||||
$res = $query->row_array();
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
//서류전화 (검증실패/검증완료)
|
||||
public function insert_v2_time_required_Conf_Done($atcl_no, $cpid, $vrfc_type, $insert_tm, $tel_doc_conf_dt, $finishTime)
|
||||
{
|
||||
if (substr($insert_tm, 0, 10) == substr($tel_doc_conf_dt, 0, 10)) {
|
||||
switch ($vrfc_type) {
|
||||
case 'D':
|
||||
if (('12:00:00' < substr($insert_tm, -8)) && (substr($insert_tm, -8) < '13:00:00')) {//접수시간이 12~13시 사이면 13시로 해준다
|
||||
if (substr($tel_doc_conf_dt, -8) > '13:00:00') { //검증완료가 13시 '이후'에 끝나면 접수시간을 13시로 변경해준다
|
||||
$insert_tm = date("Y-m-d", time()) . " 13:00:00";
|
||||
}
|
||||
} else if (
|
||||
(substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') && //접수와 확인완료시간이 모두 17:30:00 ~ 09:00:00 사이가 아니면
|
||||
(substr($tel_doc_conf_dt, -8) < '17:30:00' || substr($tel_doc_conf_dt, -8) < '08:59:59')
|
||||
) {
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:00:00";
|
||||
}
|
||||
;
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
if (('13:00:00' < substr($insert_tm, -8)) && (substr($insert_tm, -8) < '14:00:00')) {//접수시간이 13~14시 사이면 14시로 해준다
|
||||
if (substr($tel_doc_conf_dt, -8) > '14:00:00') { //검증완료가 14시 '이후'에 끝나면 접수시간을 14시로 변경해준다
|
||||
$insert_tm = date("Y-m-d", time()) . " 14:00:00";
|
||||
}
|
||||
} else if (
|
||||
(substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') &&
|
||||
(substr($tel_doc_conf_dt, -8) < '17:30:00' || substr($tel_doc_conf_dt, -8) < '08:59:59')
|
||||
) { //접수와 확인완료시간이 모두 17:30:00 ~ 09:00:00 사이면
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:30:00";
|
||||
}
|
||||
;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if ($vrfc_type == 'D') { //홍보
|
||||
if (substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') {
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:00:00";
|
||||
}
|
||||
} else { //전화
|
||||
if (substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') {
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:30:00";
|
||||
}
|
||||
}
|
||||
}
|
||||
$stan_date = substr($insert_tm, 0, 10);
|
||||
|
||||
$sql = "INSERT INTO v2_time_required(stan_date, atcl_no, cpid, vrfc_type, insert_tm, tel_doc_conf_dt,conf_required_tm,tot_required_tm)" .
|
||||
" VALUES(?, ?, ?, ?, ?, ?, TIMEDIFF(?,?), TIMEDIFF(?,?)) " .
|
||||
" ON DUPLICATE KEY UPDATE insert_tm = VALUES(insert_tm), tel_doc_conf_dt=VALUES(tel_doc_conf_dt),conf_required_tm = VALUES(conf_required_tm),tot_required_tm = VALUES(tot_required_tm) ";
|
||||
$data = [
|
||||
$stan_date,
|
||||
$atcl_no,
|
||||
$cpid,
|
||||
$vrfc_type,
|
||||
$insert_tm,
|
||||
$tel_doc_conf_dt,
|
||||
$tel_doc_conf_dt,
|
||||
$insert_tm,
|
||||
$tel_doc_conf_dt,
|
||||
$insert_tm
|
||||
];
|
||||
$this->db->query($sql, $data);
|
||||
}
|
||||
|
||||
//서류전화 확인완료(일치/불일치)
|
||||
//서류전화 (검증실패/검증완료)
|
||||
public function insert_v2_time_required_Conf($atcl_no, $cpid, $vrfc_type, $insert_tm, $tel_doc_conf_dt, $finishTime)
|
||||
{
|
||||
if (substr($insert_tm, 0, 10) == substr($tel_doc_conf_dt, 0, 10)) {
|
||||
switch ($vrfc_type) {
|
||||
case 'D':
|
||||
if (('12:00:00' < substr($insert_tm, -8)) && (substr($insert_tm, -8) < '13:00:00')) {//접수시간이 12~13시 사이면 13시로 해준다
|
||||
if (substr($tel_doc_conf_dt, -8) > '13:00:00') { //검증완료가 13시 '이후'에 끝나면 접수시간을 13시로 변경해준다
|
||||
$insert_tm = date("Y-m-d", time()) . " 13:00:00";
|
||||
}
|
||||
} else if (
|
||||
(substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') && //접수와 확인완료시간이 모두 17:30:00 ~ 09:00:00 사이가 아니면
|
||||
(substr($tel_doc_conf_dt, -8) < '17:30:00' || substr($tel_doc_conf_dt, -8) < '08:59:59')
|
||||
) {
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:00:00";
|
||||
}
|
||||
;
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
if (('13:00:00' < substr($insert_tm, -8)) && (substr($insert_tm, -8) < '14:00:00')) {//접수시간이 13~14시 사이면 14시로 해준다
|
||||
if (substr($tel_doc_conf_dt, -8) > '14:00:00') { //검증완료가 14시 '이후'에 끝나면 접수시간을 14시로 변경해준다
|
||||
$insert_tm = date("Y-m-d", time()) . " 14:00:00";
|
||||
}
|
||||
} else if (
|
||||
(substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') &&
|
||||
(substr($tel_doc_conf_dt, -8) < '17:30:00' || substr($tel_doc_conf_dt, -8) < '08:59:59')
|
||||
) { //접수와 확인완료시간이 모두 17:30:00 ~ 09:00:00 사이면
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:30:00";
|
||||
}
|
||||
;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if ($vrfc_type == 'D') { //홍보
|
||||
if (substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') {
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:00:00";
|
||||
}
|
||||
} else { //전화
|
||||
if (substr($insert_tm, -8) > '17:30:00' || substr($insert_tm, -8) < '08:59:59') {
|
||||
$insert_tm = date("Y-m-d", time()) . " 09:30:00";
|
||||
}
|
||||
}
|
||||
}
|
||||
$stan_date = substr($insert_tm, 0, 10);
|
||||
|
||||
$sql = "INSERT INTO v2_time_required(stan_date, atcl_no, cpid, vrfc_type, insert_tm, tel_doc_conf_dt,conf_required_tm,tot_required_tm)" .
|
||||
" VALUES(?, ?, ?, ?, ?, ?, TIMEDIFF(?,?), TIMEDIFF(?,?)) " .
|
||||
" ON DUPLICATE KEY UPDATE insert_tm = VALUES(insert_tm), tel_doc_conf_dt=VALUES(tel_doc_conf_dt),conf_required_tm = VALUES(conf_required_tm),tot_required_tm = VALUES(tot_required_tm) ";
|
||||
$data = array(
|
||||
$stan_date,
|
||||
$atcl_no,
|
||||
$cpid,
|
||||
$vrfc_type,
|
||||
$insert_tm,
|
||||
$tel_doc_conf_dt,
|
||||
$tel_doc_conf_dt,
|
||||
$insert_tm,
|
||||
$tel_doc_conf_dt,
|
||||
$insert_tm
|
||||
);
|
||||
$this->db->query($sql, $data);
|
||||
}
|
||||
}
|
||||
@@ -682,6 +682,29 @@ class M701Model extends Model
|
||||
return $query->getResultArray();
|
||||
}
|
||||
|
||||
// 홍보확인서 정보
|
||||
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($id)
|
||||
@@ -692,7 +715,7 @@ class M701Model extends Model
|
||||
a.hscplqry_lv,
|
||||
b.tel_fail_cause,
|
||||
a.reg_charger,
|
||||
i2.usr_nm as reg_charger_nm,
|
||||
i2.usr_nm AS reg_charger_nm,
|
||||
a.atcl_no,
|
||||
b.try_cnt,
|
||||
a.cpid,
|
||||
@@ -852,4 +875,103 @@ class M701Model extends Model
|
||||
|
||||
return $query->getResultArray();
|
||||
}
|
||||
|
||||
|
||||
// 상태변경
|
||||
public function chgArticleStatus($data)
|
||||
{
|
||||
|
||||
$usr_id = session('usr_id');
|
||||
|
||||
$this->db->transStart();
|
||||
|
||||
$sql = "INSERT INTO v2_chg_stat
|
||||
(vr_sq, stat_cd, insert_user, insert_tm)
|
||||
VALUES
|
||||
({$data['vr_sq']}, '{$data['stat_cd']}', '{$usr_id}', NOW())
|
||||
";
|
||||
|
||||
if ($this->db->query($sql) === false) {
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '저장 실패',
|
||||
];
|
||||
}
|
||||
|
||||
$detail = $this->getDetail($data['vr_sq']);
|
||||
|
||||
$memo = "상태변경 : " . $detail['stat_cd'] . " => " . $data['stat_cd'];
|
||||
$this->saveHistory($data['vr_sq'], $data['stat_cd'], 'C9', $usr_id, $memo);
|
||||
|
||||
$sql = "UPDATE v2_modify_info SET
|
||||
modify_yn = 'Y'
|
||||
WHERE vr_sq = {$data['vr_sq']}
|
||||
";
|
||||
|
||||
$this->db->query($sql);
|
||||
|
||||
$sql = "UPDATE v2_vrfc_req SET
|
||||
stat_cd = '{$data['stat_cd']}'
|
||||
WHERE vr_sq = {$data['vr_sq']}
|
||||
";
|
||||
|
||||
$this->db->query($sql);
|
||||
|
||||
|
||||
$this->db->transComplete();
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
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 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
953
app/Models/v2/M702Model.php
Normal file
953
app/Models/v2/M702Model.php
Normal file
@@ -0,0 +1,953 @@
|
||||
<?php
|
||||
namespace App\Models\v2;
|
||||
|
||||
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,
|
||||
c.rm_no,
|
||||
c.floor,
|
||||
c.address_code,
|
||||
c.address2,
|
||||
k.address2a,
|
||||
k.address2b,
|
||||
c.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,
|
||||
f.region_nm,
|
||||
g.cd_nm as pre_stat,
|
||||
h.cd_nm as vrfc_type,
|
||||
i.usr_nm,
|
||||
j.usr_nm as reg_charger,
|
||||
d2.insert_tm as stat_39_tm
|
||||
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 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 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 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();
|
||||
}
|
||||
}
|
||||
2185
app/Models/v2/M703Model.php
Normal file
2185
app/Models/v2/M703Model.php
Normal file
File diff suppressed because it is too large
Load Diff
23
app/Models/v2/M710Model.php
Normal file
23
app/Models/v2/M710Model.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
namespace App\Models\v2;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class M710Model extends Model
|
||||
{
|
||||
|
||||
public function insert_v2_stop_api_save_info($atcl_no, $vr_sq, $type, $fax_sq)
|
||||
{
|
||||
$sql = "INSERT INTO v2_stop_api_save_info(atcl_no,vr_sq,type,status,stop_dt,fax_sq)" .
|
||||
" VALUE(?,?,?,'stop',now(),?)";
|
||||
$date = [
|
||||
$atcl_no,
|
||||
$vr_sq,
|
||||
$type,
|
||||
$fax_sq
|
||||
];
|
||||
$this->db->query($sql, $date);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user