현장 확인 업로드
This commit is contained in:
@@ -409,10 +409,9 @@ class ReceiptModel extends Model
|
||||
|
||||
}
|
||||
|
||||
// log_message('debug', '[getTotalCount] SQL = ' . $builder->getCompiledSelect());
|
||||
|
||||
|
||||
$row = $builder->get()->getRowArray();
|
||||
error_log('[getTotalCount] SQL = ' . $this->db->getLastQuery());
|
||||
|
||||
return (int) ($row['cnt'] ?? 0);
|
||||
}
|
||||
|
||||
@@ -538,10 +537,10 @@ class ReceiptModel extends Model
|
||||
|
||||
$builder->join('result b', 'b.rcpt_sq = a.rcpt_sq', 'inner');
|
||||
$builder->join('region_codes c', 'a.rcpt_dong = c.region_cd', 'inner');
|
||||
$builder->join('departments d', 'b.dept_sq = d.dept_sq', 'left');
|
||||
$builder->join('users u', 'b.usr_sq = u.usr_sq', 'left');
|
||||
$builder->join('result_imgs e', "e.rsrv_sq = b.rsrv_sq AND e.img_type = 'I1' AND e.use_yn = 'Y'", 'left');
|
||||
$builder->join('receipt_transimage_log l', 'a.rcpt_key = l.rcpt_key', 'left');
|
||||
$builder->join('departments d', 'b.dept_sq = d.dept_sq', 'left outer');
|
||||
$builder->join('users u', 'b.usr_sq = u.usr_sq', 'left outer');
|
||||
$builder->join('result_imgs e', "e.rsrv_sq = b.rsrv_sq AND e.img_type = 'I1' AND e.use_yn = 'Y'", 'left outer');
|
||||
$builder->join('receipt_transimage_log l', 'a.rcpt_key = l.rcpt_key', 'left outer');
|
||||
|
||||
|
||||
$login_dept_info = $this->getDeptDetail($dept_sq); // 로그인 사용자 소속부서정보
|
||||
@@ -573,8 +572,8 @@ class ReceiptModel extends Model
|
||||
$builder->where('a.rcpt_tm >=', $data['sdate'] . ' 00:00:00');
|
||||
$builder->where('a.rcpt_tm <=', $data['edate'] . ' 23:59:59');
|
||||
} else {
|
||||
$builder->where('b.rsrv_date >=', $data['sdate'] . ' 00:00:00');
|
||||
$builder->where('b.rsrv_date <=', $data['edate'] . ' 23:59:59');
|
||||
$builder->where('b.rsrv_date >=', $data['sdate'] );
|
||||
$builder->where('b.rsrv_date <=', $data['edate'] );
|
||||
}
|
||||
|
||||
// 지역
|
||||
@@ -753,9 +752,12 @@ class ReceiptModel extends Model
|
||||
|
||||
$builder->limit($end, $start);
|
||||
|
||||
// log_message('debug', '[getResultList] SQL = ' . $builder->getCompiledSelect());
|
||||
$result = $builder->get()->getResultArray();
|
||||
|
||||
error_log('[getResultList] SQL = ' . $this->db->getLastQuery());
|
||||
error_log('[getResultList] Result count = ' . count($result));
|
||||
|
||||
return $builder->get()->getResultArray();
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
@@ -1837,7 +1839,8 @@ class ReceiptModel extends Model
|
||||
|
||||
$receipt = $param['receipt'];
|
||||
|
||||
$cloud_upload_yn = 'Y';
|
||||
// 실제 클라우드 업로드 성공 여부를 파라미터에서 받아옴 (기본값 'Y')
|
||||
$cloud_upload_yn = $param['cloud_upload_yn'] ?? 'Y';
|
||||
|
||||
if ($param['img_type'] == 'I6' || $param['img_type'] == 'I7') {
|
||||
$yn_sql = "update receipt " .
|
||||
@@ -2011,103 +2014,161 @@ class ReceiptModel extends Model
|
||||
// 이미지정보 조회
|
||||
$row = $this->getUploadFileInfo($img_sq);
|
||||
|
||||
if (!empty($row)) {
|
||||
if (empty($row)) {
|
||||
$this->db->transComplete();
|
||||
// 파일이 이미 삭제된 경우 성공으로 처리 (중복 삭제 요청 방지)
|
||||
log_message('info', "[removeUploadFile] 파일 정보 없음 (이미 삭제됨): img_sq={$img_sq}");
|
||||
return [
|
||||
'success' => true,
|
||||
'msg' => '이미 삭제된 파일입니다',
|
||||
];
|
||||
}
|
||||
|
||||
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);
|
||||
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 = [$img_sq, $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 = [$img_sq, $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];
|
||||
|
||||
$deleteResult = $this->db->query($sql, $data);
|
||||
|
||||
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);
|
||||
$rowStat = $query->getRowArray();
|
||||
|
||||
//삭제이미지보다 순번이 높은거는 순번 업데이트
|
||||
$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->saveChangedHistory($rcpt_sq, $rowStat['rcpt_stat'], 'C31', $usr_id, $remark);
|
||||
}
|
||||
|
||||
$this->db->query($sql, $data);
|
||||
$this->db->transComplete();
|
||||
|
||||
if ($deleteResult === false || $this->db->transStatus() === false) {
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '삭제실패',
|
||||
];
|
||||
}
|
||||
|
||||
//이미지 삭제
|
||||
$sql = "DELETE FROM result_imgs WHERE img_sq = ?";
|
||||
$data = [$img_sq];
|
||||
|
||||
if ($this->db->query($sql, $data) === false) {
|
||||
return [
|
||||
'success' => true,
|
||||
];
|
||||
}
|
||||
|
||||
// 이미지 순서 업데이트
|
||||
public function updateImageOrder($rcpt_sq, $img_type, $orderData)
|
||||
{
|
||||
log_message('info', '[ReceiptModel::updateImageOrder] 시작 - rcpt_sq: ' . $rcpt_sq . ', img_type: ' . $img_type . ', 개수: ' . count($orderData));
|
||||
|
||||
$this->db->transStart();
|
||||
|
||||
try {
|
||||
$updateCount = 0;
|
||||
foreach ($orderData as $item) {
|
||||
$img_sq = $item['img_sq'] ?? null;
|
||||
$view_odr = $item['view_odr'] ?? null;
|
||||
|
||||
if (!$img_sq || !$view_odr) {
|
||||
log_message('warning', '[ReceiptModel::updateImageOrder] 스킵 - img_sq 또는 view_odr 없음');
|
||||
continue;
|
||||
}
|
||||
|
||||
$sql = "UPDATE result_imgs SET view_odr = ? WHERE img_sq = ? AND img_type = ?";
|
||||
$data = [$view_odr, $img_sq, $img_type];
|
||||
|
||||
log_message('debug', '[ReceiptModel::updateImageOrder] 업데이트 - img_sq: ' . $img_sq . ', view_odr: ' . $view_odr);
|
||||
|
||||
$result = $this->db->query($sql, $data);
|
||||
if ($result) {
|
||||
$updateCount++;
|
||||
}
|
||||
}
|
||||
|
||||
$this->db->transComplete();
|
||||
|
||||
if ($this->db->transStatus() === false) {
|
||||
log_message('error', '[ReceiptModel::updateImageOrder] 트랜잭션 실패');
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '삭제실패',
|
||||
'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();
|
||||
|
||||
|
||||
log_message('info', '[ReceiptModel::updateImageOrder] 완료 - 업데이트 수: ' . $updateCount);
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
];
|
||||
|
||||
|
||||
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', '[ReceiptModel::updateImageOrder] Exception: ' . $e->getMessage());
|
||||
|
||||
return [
|
||||
'success' => false,
|
||||
'msg' => '순서 업데이트 중 오류 발생: ' . $e->getMessage(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user