현장확인 수정
Some checks failed
Close Pull Request / main (pull_request_target) Has been cancelled

This commit is contained in:
yangsh
2026-02-06 10:38:18 +09:00
parent 53695a1dc3
commit 8b621a065e
6 changed files with 1732 additions and 139 deletions

View File

@@ -115,6 +115,22 @@ class DeptModel extends Model
return $query->getResultArray();
}
/**
* 부서검색(상세)
*/
public function getDeptDetail($dept_sq)
{
$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 dept_sq = ?";
$data = array($dept_sq);
$query = $this->db->query($sql, $data);
$row = $query->getRowArray();
return $row;
}
// 조직별통계
public function getDeptStatistics($data)
{

View File

@@ -149,6 +149,31 @@ class ReceiptModel extends Model
return $query->getResultArray();
}
/**
* 사용자 상세정보
*/
public function getUserDetail($usr_sq)
{
$builder = $this->db->table('users a');
$builder->select("
a.usr_sq,
a.dept_sq,
a.usr_id,
a.usr_nm,
a.usr_level,
a.usr_tel1,
a.usr_tel2,
b.dept_nm
", false);
$builder->join('departments b', 'a.dept_sq = b.dept_sq', 'left');
$builder->where('a.usr_sq', $usr_sq);
return $builder->get()->getRowArray();
}
public function getTotalCount($data)
{
$usr_sq = session('usr_sq');
@@ -1179,10 +1204,27 @@ class ReceiptModel extends Model
$builder->where('a.rcpt_key', $id);
return $builder->get()->getRowArray();
}
/**
* 사용자의 지정일자에 배정된 목록을 가져온다. (시간, 위치만...)
*/
public function getAssignReceiptListByUser($rsrv_date, $usr_sq, $arrExcept = [])
{
$sql = "SELECT a.rcpt_key, a.rcpt_atclno, a.rcpt_x, a.rcpt_y, b.rsrv_tm_ap, b.rsrv_tm_hour" .
" FROM receipt a" .
" INNER JOIN result b ON b.rcpt_sq = a.rcpt_sq AND b.usr_sq = ? AND b.rsrv_date = ?" .
" WHERE a.rcpt_key not in (?)";
$except_rcptKey = implode(',', $arrExcept);
$data = array($usr_sq, $rsrv_date, $except_rcptKey);
$query = $this->db->query($sql, $data);
$res = $query->getResultArray();
return $res;
}
public function getDupleGP($rcpt_key, $rcpt_sido, $rcpt_gugun, $rcpt_dong, $rcpt_hscp_nm, $rcpt_dtl_addr, $rcpt_ho)
{
$sql = "select rcpt_sq, c.rcpt_key, c.photo_save_dt from" .
@@ -1426,6 +1468,40 @@ class ReceiptModel extends Model
];
}
// 거주여부 저장
public function saveResDB($rcpt_sq, $rsrv_sq, $resYn, $dbUsageAgrYn)
{
$this->db->transStart();
$usr_id = session('usr_id');
$sql = "SELECT result_cd3, resYn, dbUsageAgrYn FROM result WHERE rsrv_sq = ?";
$data = array($rsrv_sq);
$query = $this->db->query($sql, $data);
$row = $query->getRowArray();
$sql = "UPDATE result" .
" SET resYn = ?" .
" ,dbUsageAgrYn = ?" .
" WHERE rsrv_sq = ?" .
" AND rcpt_sq = ?";
$data = array($resYn, $dbUsageAgrYn, $rsrv_sq, $rcpt_sq);
if ($this->db->query($sql, $data) === false) {
return [
'success' => false,
'msg' => '저장실패',
];
}
$this->saveChangedHistory($rcpt_sq, $row['result_cd3'], 'C24', $usr_id, $row['resYn'] . "|" . $row['dbUsageAgrYn']);
$this->db->transComplete();
return [
'success' => true,
];
}
// 평면도요청 저장
public function saveGround($rcpt_sq, $ground_plan)
{
@@ -2044,4 +2120,202 @@ class ReceiptModel extends Model
}
}
/**
* 배정자 등록
*/
public function assignRegist($rcpt_sq, $rsrv_date, $rsrv_tm_ap, $rsrv_tm_hour, $dept_sq, $usr_sq, $receipt)
{
// 세션정보
$usr_id = session('usr_id');
$reg_usr_sq = session('usr_sq');
$this->db->transStart();
// 변경전 기존 데이터 가져오기
$org_sql = "SELECT * FROM result WHERE rcpt_sq = ?";
$query = $this->db->query($org_sql, [$rcpt_sq]);
$row = $query->getRowArray();
// 예약확인
$sql1 = "UPDATE result" .
" SET rsrv_date = ?" .
" ,rsrv_tm_ap = ?" .
" ,rsrv_tm_hour = ?" .
" ,rsrv_save_dt = now()" .
" ,update_tm = now()" .
" ,update_usr = ?" .
" WHERE rcpt_sq = ?";
$data1 = [
$rsrv_date,
$rsrv_tm_ap,
$rsrv_tm_hour,
$reg_usr_sq,
$rcpt_sq
];
if ($this->db->query($sql1, $data1) === false) {
return [
'success' => false,
'msg' => '저장 실패',
];
}
// 배정
$sql2 = "UPDATE result" .
" SET dept_sq = ?" .
" ,usr_sq = ?" .
" ,result_cd1 = 20" .
" ,result_cd2 = 2000" .
" ,result_cd3 = 200000" .
" ,update_usr = ?" .
" ,update_tm = now()" .
" ,assign_save_dt = now()" .
" ,rsrv_cplt_dt = now()" .
" WHERE rcpt_sq = ?";
$data2 = [
$dept_sq,
$usr_sq,
$reg_usr_sq,
$rcpt_sq
];
if ($this->db->query($sql2, $data2) === false) {
return [
'success' => false,
'msg' => '저장 실패',
];
}
// 매물상태 변경
$rcpt_sql = "UPDATE receipt" .
" SET rcpt_stat = 200000" .
" WHERE rcpt_sq = ?";
$this->db->query($rcpt_sql, [$rcpt_sq]);
// 정보변경이력 저장
if (!empty($row)) {
$remark = "{$row['rsrv_date']} {$row['rsrv_tm_ap']} {$row['rsrv_tm_hour']}시 -> {$rsrv_date} {$rsrv_tm_ap} {$rsrv_tm_hour}";
} else {
$remark = "{$receipt['rsrv_date']} {$receipt['rsrv_tm_ap']} -> {$rsrv_date} {$rsrv_tm_hour}";
}
$this->saveChangedHistory($rcpt_sq, '200000', 'C11', $usr_id, $remark);
$this->db->transComplete();
return [
'success' => true,
];
}
/**
* 취소
*/
public function rsrvcancel($rcpt_sq, $rsrv_sq, $result_cd2, $result_cd3, $result_msg, $receipt)
{
// 세션정보
$usr_id = session('usr_id');
$usr_sq = session('usr_sq');
$usr_nm = session('usr_nm');
// 변경전 기존 데이터 가져오기
$org_sql = "SELECT * FROM result WHERE rcpt_sq = ?";
$query = $this->db->query($org_sql, [$rcpt_sq]);
$row = $query->getRowArray();
$this->db->transStart();
if ($result_cd2 == "9050") {
$sql = "UPDATE result" .
" SET result_cd1 = '90'" .
" ,result_cd2 = ?" .
" ,result_cd3 = ?" .
" ,result_msg = ?" .
" ,check_fail_dt = now()" .
" ,update_usr = ?" .
" ,update_tm = now()" .
" WHERE rsrv_sq = ?";
} else {
$sql = "UPDATE result" .
" SET result_cd1 = '90'" .
" ,result_cd2 = ?" .
" ,result_cd3 = ?" .
" ,result_msg = ?" .
" ,cancel_dt = now()" .
" ,update_usr = ?" .
" ,update_tm = now()" .
" WHERE rsrv_sq = ?";
}
$data = [
$result_cd2,
$result_cd3,
$result_msg,
$usr_sq,
$rsrv_sq
];
$res = $this->db->query($sql, $data);
if (!$res) {
$return = [
'success' => false,
'msg' => '저장실패',
];
} else {
// 매물상태 변경
$rcpt_sql = "UPDATE receipt" .
" SET rcpt_stat = ?" .
" WHERE rcpt_sq = ?";
$rcpt_data = [$result_cd3, $rcpt_sq];
$this->db->query($rcpt_sql, $rcpt_data);
// 정보변경이력 저장
if (!empty($row['result_msg'])) {
$remark = $row['result_msg'] . " -> " . $result_msg;
} else {
$remark = $result_msg;
}
$this->saveChangedHistory($rcpt_sq, $result_cd3, 'C5', $usr_id, $remark);
// 문자발송
if ($result_cd2 == "9010" || $result_cd2 == "9020") {
// 접수취소, 예약취소
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S2', $receipt);
} else if ($result_cd2 == "9030") {
// 방문전 취소
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S4', $receipt);
} else if ($result_cd2 == "9040") {
// 방문후 취소
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S5', $receipt);
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S5-1', $receipt);
} else if ($result_cd2 == "9045") {
// 촬영후 취소
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S6', $receipt);
}
if ($result_cd3 == "905010") {
// 거주인녹취실패 취소(검수실패)
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S9', $receipt);
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S9-1', $receipt);
} else if ($result_cd3 == "905020") {
// 홍보확인서 미수취 취소(검수실패)
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S11', $receipt);
$this->sendSms($receipt['agent_head_tel'], $receipt['agent_nm'], '1600-5749', $usr_nm, 0, $rsrv_sq, $rcpt_sq, 'S11-1', $receipt);
}
$return = [
'success' => true,
];
}
$this->db->transComplete();
return $return;
}
}