This commit is contained in:
@@ -1035,6 +1035,7 @@ class ReceiptModel extends Model
|
||||
,a.rcpt_sido
|
||||
,a.rcpt_gugun
|
||||
,a.rcpt_dong
|
||||
,c.region_nm AS addr
|
||||
,a.rcpt_dtl_addr
|
||||
,a.rcpt_li_addr
|
||||
,a.rcpt_jibun_addr
|
||||
@@ -1145,7 +1146,6 @@ class ReceiptModel extends Model
|
||||
,get_code_name('RECEIPT_STATUS3', a.rcpt_stat) AS rcpt_stat_nm
|
||||
,DATE_FORMAT(a.insert_tm, '%Y년 %m월 %d일') as insert_tm2
|
||||
,DATE_FORMAT(a.rsrv_date, '%Y-%m-%d') as rsrv_date2
|
||||
,c.region_nm as addr
|
||||
,c.dept_sq as region_dept_sq
|
||||
,c.usr_sq as region_usr_sq
|
||||
,d.pdept_sq
|
||||
@@ -1348,6 +1348,20 @@ class ReceiptModel extends Model
|
||||
return $query->getResultArray();
|
||||
}
|
||||
|
||||
public function getImageListByType($rsrv_sq, $img_type)
|
||||
{
|
||||
$sql = "SELECT * " .
|
||||
" FROM result_imgs" .
|
||||
" WHERE rsrv_sq = ?" .
|
||||
" AND img_type = ?" .
|
||||
" AND use_yn = 'Y'" .
|
||||
" ORDER BY view_odr";
|
||||
|
||||
$data = [$rsrv_sq, $img_type];
|
||||
$query = $this->db->query($sql, $data);
|
||||
return $query->getResultArray();
|
||||
}
|
||||
|
||||
public function getImageCountByType($rsrv_sq)
|
||||
{
|
||||
$sql = "SELECT img_type, COUNT(*) img_cnt" .
|
||||
@@ -1669,9 +1683,9 @@ class ReceiptModel extends Model
|
||||
";
|
||||
$param = [
|
||||
$data['rsrv_sq'],
|
||||
$f['file_path'],
|
||||
$f['new_name'],
|
||||
$f['orig_name'],
|
||||
$f['upload_path'],
|
||||
$f['file_name'],
|
||||
$f['origin_name'],
|
||||
$f['size'],
|
||||
$data['rec_tel'],
|
||||
$data['rec_nm'],
|
||||
@@ -1709,4 +1723,325 @@ class ReceiptModel extends Model
|
||||
'success' => true,
|
||||
];
|
||||
}
|
||||
|
||||
// 워터마크 조회
|
||||
public function getWatermarkList($rcpt_cpid)
|
||||
{
|
||||
$builder = $this->db->table('watermark');
|
||||
|
||||
$builder->select('cpid, wm_type, wm_img_path, wm_img_height, wm_img_width, wm_position, wm_img_opacity, wm_space, text_font, text_color, text_opacity, text_size, text_pixel, img_width_min, img_width_max');
|
||||
|
||||
$builder->where('cpid', $rcpt_cpid);
|
||||
|
||||
|
||||
$row = $builder->get()->getResultArray();
|
||||
return $row;
|
||||
}
|
||||
|
||||
// 업로드정보 저장
|
||||
public function saveImg($param)
|
||||
{
|
||||
$this->db->transStart();
|
||||
|
||||
$usr_id = session('usr_id');
|
||||
$usr_sq = session('usr_sq');
|
||||
|
||||
$receipt = $param['receipt'];
|
||||
|
||||
$cloud_upload_yn = 'Y';
|
||||
|
||||
if ($param['img_type'] == 'I6' || $param['img_type'] == 'I7') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set exp_spc_yn = 'Y' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$param['rcpt_sq']];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
} else if ($param['img_type'] == 'I8') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set exp_spc_yn = 'Y' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$param['rcpt_sq']];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
} else if ($param['img_type'] == 'I9') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set image_360_yn = 'Y' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$param['rcpt_sq']];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
} else if ($param['img_type'] == 'I11') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set check_list_img_yn = 'Y' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$param['rcpt_sq']];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
}
|
||||
|
||||
//한장의 사진만 업로드하는것들은 UPDATE -> INSERT
|
||||
$img_list = ['I1', 'I2', 'I5', 'I6', 'I7', 'V1', 'I10', 'I11'];
|
||||
|
||||
// 주소가 rcpt_jibun_addr 있을때는 그 주소로
|
||||
$addr_nm = $receipt['addr'];
|
||||
if ($receipt['rcpt_jibun_addr']) {
|
||||
$img_hannm = '컨펌스_' . $addr_nm . ' ' . $receipt['rcpt_jibun_addr'] . ' ' . $receipt['rcpt_etc_addr'] . '_' . $receipt['excls_spc'] . '.jpeg';
|
||||
} else {
|
||||
$img_hannm = '컨펌스_' . $addr_nm . ' ' . $receipt['rcpt_dtl_addr'] . ' ' . $receipt['rcpt_ho'] . '_' . $receipt['excls_spc'] . '.jpeg';
|
||||
}
|
||||
|
||||
if (in_array($param['img_type'], $img_list)) {
|
||||
//업데이트할게없어도 에러가 안난다 단지 row(s)affected 가 0 일뿐
|
||||
$sql = "UPDATE result_imgs" .
|
||||
" SET use_yn = 'N'" .
|
||||
" WHERE rsrv_sq = ?" .
|
||||
" AND img_type = ?" .
|
||||
" AND use_yn = 'Y'";
|
||||
$data = [$param['rsrv_sq'], $param['img_type']];
|
||||
$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, meta_data, img_hannm , cloud_upload_yn )" .
|
||||
"VALUES (?, 'Y', ?, 1, ?, ?, ?, ?, ?, ?, ?, NOW(), ?,? , ?)";
|
||||
$data = [
|
||||
$param['rsrv_sq'],
|
||||
$param['img_type'],
|
||||
$param['upload_path'],
|
||||
$param['file_name'],
|
||||
$param['origin_name'],
|
||||
$param['size'],
|
||||
$param['width'],
|
||||
$param['height'],
|
||||
$usr_sq,
|
||||
isset($param['meta_data']) ? $param['meta_data'] : null,
|
||||
$img_hannm,
|
||||
$cloud_upload_yn
|
||||
];
|
||||
$res = $this->db->query($sql, $data);
|
||||
} 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 = array($param['rsrv_sq'], $param['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, meta_data, img_hannm , cloud_upload_yn )" .
|
||||
"VALUES (?, 'Y', ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), ?,?, ?)";
|
||||
|
||||
$data = [
|
||||
$param['rsrv_sq'],
|
||||
$param['img_type'],
|
||||
$view_odr,
|
||||
$param['upload_path'],
|
||||
$param['file_name'],
|
||||
$param['origin_name'],
|
||||
$param['size'],
|
||||
$param['width'],
|
||||
$param['height'],
|
||||
$usr_sq,
|
||||
isset($param['meta_data']) ? $param['meta_data'] : null,
|
||||
$img_hannm,
|
||||
$cloud_upload_yn
|
||||
];
|
||||
$res = $this->db->query($sql, $data);
|
||||
}
|
||||
|
||||
if ($res) {
|
||||
switch ($param['img_type']) {
|
||||
case 'I1':
|
||||
$remark = "홍보확인서 사진 업로드";
|
||||
break;
|
||||
case 'I2':
|
||||
$remark = "현장확인 내역서 사진 업로드";
|
||||
break;
|
||||
case 'I3':
|
||||
$remark = "건물외관 사진 업르도";
|
||||
break;
|
||||
case 'I4':
|
||||
$remark = "매물사진 업로드";
|
||||
break;
|
||||
case 'I5':
|
||||
$remark = "평면도 업로드";
|
||||
break;
|
||||
case 'I6':
|
||||
$remark = "전용면적 파일 업로드";
|
||||
break;
|
||||
case 'I7':
|
||||
$remark = "공용면적 파일 업로드";
|
||||
break;
|
||||
case 'I8':
|
||||
$remark = "분양권 파일 업로드";
|
||||
break;
|
||||
case 'I9':
|
||||
$remark = "360이미지 업로드";
|
||||
break;
|
||||
case 'I10':
|
||||
$remark = "촬영동의서 사진 업로드";
|
||||
break;
|
||||
case 'I11':
|
||||
$remark = "체크리스트 사진 업로드";
|
||||
break;
|
||||
case 'V1':
|
||||
$remark = "동영상 업로드";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
$this->saveChangedHistory($param['rcpt_sq'], $receipt['rcpt_stat'], 'C16', $usr_id, $remark);
|
||||
|
||||
$this->db->transComplete();
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
];
|
||||
} else {
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '저장실패',
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 파일정보조회
|
||||
public function getUploadFileInfo($img_sq)
|
||||
{
|
||||
$sql = "SELECT * FROM result_imgs WHERE img_sq = ?";
|
||||
|
||||
$query = $this->db->query($sql, [$img_sq]);
|
||||
$row = $query->getRowArray();
|
||||
|
||||
return $row;
|
||||
|
||||
}
|
||||
|
||||
// 업로드파일 삭제
|
||||
public function removeUploadFile($rcpt_sq, $img_sq)
|
||||
{
|
||||
$this->db->transStart();
|
||||
|
||||
$usr_id = session('usr_id');
|
||||
|
||||
// 이미지정보 조회
|
||||
$row = $this->getUploadFileInfo($img_sq);
|
||||
|
||||
if (!empty($row)) {
|
||||
|
||||
if ($row['img_type'] == 'I6' || $row['img_type'] == 'I7') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set exp_spc_yn = 'N' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$rcpt_sq];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
} else if ($row['img_type'] == 'I8') {
|
||||
$yn_sql = "UPDATE receipt" .
|
||||
" SET parcel_out_yn = CASE (SELECT COUNT('x')" .
|
||||
" FROM result_imgs " .
|
||||
" WHERE rsrv_sq = (SELECT rsrv_sq FROM result_imgs WHERE img_sq = ? AND img_type = 'I8')" .
|
||||
" AND use_yn = 'Y'" .
|
||||
" AND img_type = 'I8') WHEN 0 THEN 'N' ELSE 'Y' END" .
|
||||
" WHERE rcpt_sq = ? ";
|
||||
$yn_data = [$rcpt_sq];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
} else if ($row['img_type'] == 'I9') {
|
||||
$yn_sql = "UPDATE receipt" .
|
||||
" SET image_360_yn = (" .
|
||||
" CASE (SELECT COUNT(1)" .
|
||||
" FROM result_imgs" .
|
||||
" WHERE rsrv_sq = (SELECT rsrv_sq FROM result_imgs WHERE img_sq = ? AND img_type = 'I9')" .
|
||||
" AND img_type = 'I9' AND use_yn = 'Y')" .
|
||||
" WHEN 0 THEN 'N'" .
|
||||
" ELSE 'Y'" .
|
||||
" END" .
|
||||
" )" .
|
||||
" WHERE rcpt_sq = ?";
|
||||
$yn_data = [$rcpt_sq];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
} else if ($row['img_type'] == 'I11') {
|
||||
$yn_sql = "update receipt " .
|
||||
" set check_list_img_yn = 'N' " .
|
||||
" where rcpt_sq = ? ";
|
||||
$yn_data = [$rcpt_sq];
|
||||
$this->db->query($yn_sql, $yn_data);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//삭제이미지보다 순번이 높은거는 순번 업데이트
|
||||
$sql = "UPDATE result_imgs SET view_odr = view_odr - 1 WHERE rsrv_sq = ? AND img_type = ? AND view_odr > ? AND use_yn = 'Y'";
|
||||
$data = [$row['rsrv_sq'], $row['img_type'], $row['view_odr']];
|
||||
|
||||
$this->db->query($sql, $data);
|
||||
|
||||
|
||||
//이미지 삭제
|
||||
$sql = "DELETE FROM result_imgs WHERE img_sq = ?";
|
||||
$data = [$img_sq];
|
||||
|
||||
if ($this->db->query($sql, $data) === false) {
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '삭제실패',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
if (in_array($row['img_type'], ['I1', 'I2', 'I8', 'I10', 'I11'])) {
|
||||
$remark = "";
|
||||
switch ($row['img_type']) {
|
||||
case 'I1':
|
||||
$remark = "홍보확인서 사진 삭제";
|
||||
break;
|
||||
case 'I2':
|
||||
$remark = "현장확인 내역서 사진 삭제";
|
||||
break;
|
||||
case 'I8':
|
||||
$remark = "분양권 파일 삭제";
|
||||
break;
|
||||
case 'I10':
|
||||
$remark = "촬영동의서 사진 삭제";
|
||||
break;
|
||||
case 'I11':
|
||||
$remark = "체크리스트 사진 삭제";
|
||||
break;
|
||||
}
|
||||
|
||||
// 상태값을 가져오기위한 쿼리 해오기
|
||||
$sql = "SELECT rcpt_stat FROM receipt WHERE rcpt_sq = ?";
|
||||
$data = [$rcpt_sq];
|
||||
$query = $this->db->query($sql, $data);
|
||||
$row = $query->getRowArray();
|
||||
|
||||
$this->saveChangedHistory($rcpt_sq, $row['rcpt_stat'], 'C31', $usr_id, $remark);
|
||||
}
|
||||
|
||||
$this->db->transComplete();
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 촬영위치 저장
|
||||
public function saveImgLocation($img_sq, $rsrv_sq, $location)
|
||||
{
|
||||
$sql = "UPDATE result_imgs" .
|
||||
" SET img_location = ?" .
|
||||
" WHERE img_sq = ?" .
|
||||
" AND rsrv_sq = ?";
|
||||
|
||||
$data = [$location, $img_sq, $rsrv_sq];
|
||||
|
||||
if ($this->db->query($sql, $data) === false) {
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '저장실패',
|
||||
];
|
||||
} else {
|
||||
return [
|
||||
'success' => true,
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user