fax cron추가
Some checks failed
Close Pull Request / main (pull_request_target) Has been cancelled

This commit is contained in:
yangsh
2026-01-23 15:08:41 +09:00
parent 929d885b2b
commit 26db8eb602
5 changed files with 443 additions and 5 deletions

View File

@@ -102,8 +102,7 @@ class AssignModel extends Model
COUNT(*) AS cnt
FROM result a
INNER JOIN users b ON b.usr_sq = a.usr_sq
INNER JOIN receipt d ON d.rcpt_sq = a.rcpt_sq
INNER JOIN departments c ON c.dept_sq = a.dept_sq
WHERE 1=1 ";
@@ -158,7 +157,7 @@ class AssignModel extends Model
public function getUserList($start, $end, $data)
{
$sql = "SELECT
b.usr_nm, b.usr_id, b.usr_sq, c.dept_sq, c.pdept_sq, c.depth
b.usr_nm, b.usr_id, b.usr_sq
, SUM(CASE WHEN a.rsrv_tm_hour IN ('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24') THEN 1 ELSE 0 END) TODAY
, SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '09' THEN 1 ELSE 0 END) AM09
, SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '10' THEN 1 ELSE 0 END) AM10
@@ -175,8 +174,7 @@ class AssignModel extends Model
, SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('00','08','09','10','11','12','20','21','22','23','24') THEN 1 ELSE 0 END) PMETC
FROM result a
INNER JOIN users b ON b.usr_sq = a.usr_sq
INNER JOIN receipt d ON d.rcpt_sq = a.rcpt_sq
INNER JOIN departments c ON c.dept_sq = a.dept_sq
WHERE 1=1 ";

View File

@@ -0,0 +1,194 @@
<?php
namespace App\Models\webfax;
use CodeIgnier\Model;
class FaxModel extends Model
{
public function selectFaxListNotExistsThumb()
{
helper('cron');
if (!isset($_SERVER["HOSTNAME"])) {
$_SERVER["HOSTNAME"] = get_linux_hostname();
}
if (empty($_SERVER["HOSTNAME"])) {
$_SERVER["HOSTNAME"] = "unknown";
}
$_SERVER["HOSTNAME"] = "unknown";
$data = [$_SERVER["HOSTNAME"]];
$sql = "UPDATE uds_tiff a" .
" SET a.etc1 = ?" .
" WHERE NOT EXISTS (SELECT 'x' FROM fax_imgs a1 WHERE a1.mid = a.mid)" .
" AND a.recv_time >= DATE_ADD(NOW(), INTERVAL -7 DAY)" .
" AND a.etc1 = ''" .
" limit 100";
$this->db->query($sql, $data);
$sql = "SELECT a.mid,a.eid,a.pages,a.caller_no,a.callee_no,a.file_name,REPLACE(a.save_path, a.file_name,'') save_path,a.file_size,a.recv_time,a.save_time" .
" FROM uds_tiff a" .
" WHERE NOT EXISTS (SELECT 'x' FROM fax_imgs a1 WHERE a1.mid = a.mid)" .
" AND a.recv_time >= DATE_ADD(NOW(), INTERVAL -7 DAY)" .
" AND a.etc1 = ?";
$query = $this->db->query($sql, $data);
return $query->getResultArray();
}
/**
* tiff 이미지 jpg로 변환 및 썸네일 생성
*/
public function insertFaxImgs($mid, $file_name, $file_path, $thumbnail, $img_width, $img_height, $img_size, $qrcode = '', $caller_no, $callee_no, $tiff_file_name, $tiff_save_path, $tiff_file_size, $recv_time, $save_time, $receiver)
{
$sql = "INSERT INTO fax_imgs" .
" (MID, file_name, file_path, thumbnail, img_width, img_height, img_size, qrcode, caller_no, callee_no, tiff_file_name, tiff_save_path, tiff_file_size, recv_time, save_time, receiver)" .
" VALUES" .
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$data = [$mid, $file_name, $file_path, $thumbnail, $img_width, $img_height, $img_size, $qrcode, $caller_no, $callee_no, $tiff_file_name, $tiff_save_path, $tiff_file_size, $recv_time, $save_time, $receiver];
$this->db->query($sql, $data);
}
public function insertFaxImgs2($mid, $file_name, $file_path, $thumbnail, $img_width, $img_height, $img_size, $qrcode = '', $caller_no, $callee_no, $tiff_file_name, $tiff_save_path, $tiff_file_size, $recv_time, $save_time, $receiver)
{
$sql = "INSERT INTO fax_imgs" .
" (MID, file_name, file_path, thumbnail, img_width, img_height, img_size, qrcode, caller_no, callee_no, tiff_file_name, tiff_save_path, tiff_file_size, recv_time, save_time, receiver)" .
" VALUES" .
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$data = [$mid, $file_name, $file_path, $thumbnail, $img_width, $img_height, $img_size, $qrcode, $caller_no, $callee_no, $tiff_file_name, $tiff_save_path, $tiff_file_size, $recv_time, $save_time, $receiver];
$this->db->query($sql, $data);
}
public function selectFaxListTran()
{
if (!isset($_SERVER["HOSTNAME"])) {
$_SERVER["HOSTNAME"] = get_linux_hostname();
}
$data = [$_SERVER["HOSTNAME"]];
$sql = "SELECT TR_MSGID, TR_TITLE, TR_SENDFAXNUM, TR_RECVFAXNUM, TR_RECVTIME, TR_FILENAMELIST" .
" FROM FC_RECV_TRAN a" .
" WHERE NOT EXISTS (SELECT 'x' FROM fax_imgs a1 WHERE a1.mid = a.TR_MSGID AND a1.receiver != 'uds_tiff')" .
" AND a.TR_RECVTIME >= DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -7 DAY), '%Y%m%d%h%i%s')";
$query = $this->db->query($sql, $data);
return $query->getResultArray();
}
/**
* FAX이미지를 홍보확인서에서 선택할 경우...
*/
public function updateImgSqOnFaxImgs($faxSq, $imgSq)
{
$sql = "UPDATE fax_imgs" .
" SET img_sq = ?" .
" WHERE fax_sq = ?";
$data = [$imgSq, $faxSq];
$this->db->query($sql, $data);
}
/**
* 홍보확인서를 재지정했을 경우 기존의 홍보확인서는 선택되지 않음으로 ...
*/
public function updateImgSqNullOnFaxImgs($imgSq)
{
$sql = "UPDATE fax_imgs" .
" SET img_sq = null" .
" WHERE img_sq = ?";
$data = [$imgSq];
$this->db->query($sql, $data);
}
/**
* 비고를 지정한다.
*/
public function updateRemark($faxSq, $remark)
{
$sql = "UPDATE fax_imgs" .
" SET remark = ?" .
" WHERE fax_sq = ?";
$data = [$remark, $faxSq];
$this->db->query($sql, $data);
}
/**
* 홍보확인서의 주소가 업데이트 되었을 경우
* @param bigint $vr_sq receipt 테이블의 PK (rcpt_sq) 또는 v2_vrfc_req 테이블의 PK (vr_sq)
* @param string $address_code 법정동코드
* @param string $address2 상세주소
* @param string $address3 기타주소
* @param string $hscp_no 단지번호
* @param string $hscp_nm 단지명
*/
public function updateAddress($vr_sq, $address_code, $address2, $address3, $hscp_no, $hscp_nm)
{
$data = [];
if (!empty($address_code))
$data['address_code'] = $address_code;
if (!empty($address2))
$data['address2'] = $address2;
if (!empty($address3))
$data['address3'] = $address3;
// if (!empty($address4)) $data['address4'] = $address4;
if (!empty($hscp_no))
$data['hscp_no'] = $hscp_no;
if (!empty($hscp_nm))
$data['hscp_nm'] = $hscp_nm;
if (!empty($data)) {
$where = [
'vr_sq' => $vr_sq
];
$this->db->update('fax_imgs', $data, $where);
}
}
public function updateAddress2($vr_sq, $address_code, $address2, $address2a, $address2b, $address3, $hscp_no, $hscp_nm)
{
$data = array();
if (!empty($address_code))
$data['address_code'] = $address_code;
if (!empty($address2))
$data['address2'] = $address2;
if (!empty($address2))
$data['address2a'] = $address2a;
if (!empty($address2))
$data['address2b'] = $address2b;
if (!empty($address3))
$data['address3'] = $address3;
// if (!empty($address4)) $data['address4'] = $address4;
if (!empty($hscp_no))
$data['hscp_no'] = $hscp_no;
if (!empty($hscp_nm))
$data['hscp_nm'] = $hscp_nm;
if (!empty($data)) {
$where = [
'vr_sq' => $vr_sq
];
$this->db->update('fax_imgs', $data, $where);
}
}
/**
* 팩스건수 가져오기 -> 화면 최상단에 건수 보여줌.
*/
public function getFaxCount()
{
$sql = "SELECT
date_format(now(), '%H') as base_time
,(SELECT count(*) FROM uds_tiff where save_time >= concat(date_format(now(), '%Y-%m-%d %H'), ':00:00')) as enfax_count
,(SELECT COUNT(*) FROM FC_RECV_TRAN where TR_RECVTIME >= concat(date_format(now(), '%Y%m%d%H'), '0000')) as lgfax_count
";
$query = $this->db->query($sql);
$row = $query->getRowArray();
return $row;
}
}