Files
confirms/app/Models/receipt/ReceiptModel.php
2026-01-06 17:53:05 +09:00

149 lines
4.9 KiB
PHP

<?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);
}
}