Merge branch 'feature/template'

This commit is contained in:
yangsh
2026-01-02 08:49:43 +09:00
36 changed files with 1355 additions and 140 deletions

View File

@@ -461,5 +461,59 @@ class UserModel extends Model
return $query->getResultArray();
}
// 최근 비밀번호 변경일 확인
public function chkChgPwDiff($usr_id)
{
$sql = "SELECT DATEDIFF( NOW() , ifnull( last_usr_pw_tm , '2024-01-01 00:00:00') ) as diff FROM users WHERE usr_id = ?";
$query = $this->db->query($sql, [$usr_id]);
return $query->getRow()->diff;
}
// 기존 비밀번호 일치 확인
public function chkUserExist($usr_id, $usr_pass)
{
$sql = "SELECT COUNT(*) AS cnt FROM users WHERE usr_id = ? AND usr_pw = SHA2(?, 256)";
$query = $this->db->query($sql, [$usr_id, $usr_pass]);
return $query->getRow()->cnt;
}
// 비밀번호 변경
public function changeUsrPass($usr_id, $usr_pass, $new_pass)
{
$sql = "UPDATE users SET usr_pw = SHA2(?, 256), last_usr_pw_tm = NOW() WHERE usr_id = ? AND usr_pw = SHA2(?, 256) ";
if ($this->db->query($sql, [$new_pass, $usr_id, $usr_pass]) === false) {
return [
'success' => false,
'msg' => '비밀번호 변경 실패',
];
}
$this->addUserChgHistory(session('usr_sq'), session('usr_sq'), "개인 비밀번호 변경", $new_pass);
// 성공
return [
'success' => true,
];
}
// 변경이력저장
public function addUserChgHistory($usr_sq, $update_user, $memo, $pwd = null)
{
$sql = "INSERT INTO user_chg_history(usr_sq,update_user,memo,update_dttm )" .
" VALUES(?,?,?,now() )";
$data = [
$usr_sq,
$update_user,
$memo
];
$this->db->query($sql, $data);
}
}

View File

@@ -681,4 +681,175 @@ class M701Model extends Model
return $query->getResultArray();
}
// 상세화면
public function getDetail($id)
{
$sql = "SELECT
a.vr_sq,
a.dong_ho_chk,
a.hscplqry_lv,
b.tel_fail_cause,
a.reg_charger,
i2.usr_nm as reg_charger_nm,
a.atcl_no,
b.try_cnt,
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,
a.ownerNm,
a.ownerTelNo,
b.owner_verifiable,
b.insert_tm,
b.stat_cd,
c.bild_nm,
b.vrfc_type as vrfc_type_cd,
b.memo,
c.rm_no,
c.floor,
c.floor2,
c.address_code,
c.address2,
c1.address2a,
c1.address2b,
c1.vrfcMthdTpCd,
c1.registerBookUniqueNo,
c1.ownerTypeCode,
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,
z.code AS tel_conf_yn_5,
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,
IF(b.insert_tm <= DATE_ADD(CURDATE(), INTERVAL -2 MONTH),'Y','N') after60,
c1.vir_addr_yn,
c1.noRgbkVrfcReqYn,
c1.areaByBdbkVrfcReqYn,
sm.sm_apporval_date ,
sm.sm_end_date,
sm.sm_seq,
registerBookUniqueNumber
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
LEFT 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 d.stat_cd = '60'
LEFT JOIN codes g ON b.stat_cd = g.cd AND g.category = 'STEP_VERIFICATION'
LEFT JOIN codes h ON b.stat_cd = h.cd AND g.category = 'VRFCREQ_WAY'
LEFT JOIN codes j ON b.stat_cd = h.cd AND j.category = 'TRADE_TYPE'
LEFT JOIN codes k ON b.stat_cd = k.cd AND j.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 m.type = 'D12'
LEFT JOIN v2_check_list o ON a.vr_sq = o.vr_sq AND m.type = 'D13'
LEFT JOIN v2_check_list p ON a.vr_sq = p.vr_sq AND m.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 r.type = 'T12'
LEFT JOIN v2_check_list t ON a.vr_sq = t.vr_sq AND r.type = 'T13'
LEFT JOIN v2_check_list u ON a.vr_sq = u.vr_sq AND r.type = 'T14'
LEFT JOIN v2_check_list z ON a.vr_sq = z.vr_sq AND r.type = 'T15'
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 x.type = '22'
LEFT JOIN users i ON a.charger = i.usr_id
LEFT JOIN users i2 ON a.reg_charger = i2.usr_id
LEFT JOIN scomplex_manage sm ON a.hscp_no = sm.sm_code
WHERE a.vr_sq = ? ";
$query = $this->db->query($sql, [$id]);
return $query->getRowArray();
}
// 변경이력 조회
public function getHistory($id)
{
$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, [$id]);
return $query->getResultArray();
}
}