팩스수신조회 추가
Reviewed-on: http://192.168.10.243:3000/owrainfo/confirms/pulls/22
This commit was merged in pull request #22.
This commit is contained in:
@@ -85,6 +85,7 @@ class Filters extends BaseFilters
|
||||
'index.php/login/*', // /index.php/login/*
|
||||
'register', // 회원가입 등
|
||||
'register/*',
|
||||
'/listfax/listfax/getLists',
|
||||
'kiso/*', // 필요하면 API는 예외
|
||||
],
|
||||
],
|
||||
|
||||
@@ -18,6 +18,7 @@ $routes->get('/home', 'Home\Home::dashboard');
|
||||
|
||||
$routes->get('/home/viewStatData', 'Home\Home::viewStatData'); // 실적조회
|
||||
$routes->get('/home/getHomeFaxCount', 'Home\Home::getHomeFaxCount'); // 팩스조회
|
||||
$routes->get('/listfax/listfax/getLists', 'Listfax\ListFax::getLists'); // 팩스수신확인
|
||||
|
||||
/**
|
||||
* 공통 API
|
||||
|
||||
@@ -9,6 +9,8 @@ use App\Models\listfax\ListFaxModel;
|
||||
class ListFax extends BaseController
|
||||
{
|
||||
|
||||
private $listfaxModel;
|
||||
|
||||
private $todo = ''; // 검색, 엑셀다운 구분
|
||||
private $menuid = ''; // 레프트메뉴아이디
|
||||
|
||||
@@ -38,6 +40,10 @@ class ListFax extends BaseController
|
||||
|
||||
private $pars = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->listfaxModel = new ListFaxModel();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
@@ -133,8 +139,7 @@ class ListFax extends BaseController
|
||||
// CI3: $base_uri = '/listfax/listfax/lists';
|
||||
$base_uri = '/listfax/listfax/lists';
|
||||
|
||||
// CI3: $this->load->model('v2/listfax_model', 'listfax_model');
|
||||
$listfaxModel = new ListFaxModel();
|
||||
// CI3: $this->load->model('v2/listfax_model', 'listfax_model');
|
||||
|
||||
// CI3: $this->load->helper('array_helper');
|
||||
helper(filenames: 'array'); // array_helper => array 로 이름 바꿨다면 이렇게
|
||||
@@ -149,7 +154,7 @@ class ListFax extends BaseController
|
||||
'total' => 0,
|
||||
];
|
||||
} else {
|
||||
$resultData = $listfaxModel->getLists(
|
||||
$resultData = $this->listfaxModel->getLists(
|
||||
$this->todo,
|
||||
$this->page,
|
||||
$this->pagesize,
|
||||
@@ -185,4 +190,26 @@ class ListFax extends BaseController
|
||||
return view('listfax/listfax/lists', $data);
|
||||
}
|
||||
|
||||
|
||||
public function getLists()
|
||||
{
|
||||
$start = (int) $this->request->getGet('start') ?: 0;
|
||||
$end = (int) $this->request->getGet('length') ?: 10;
|
||||
|
||||
|
||||
$data = [
|
||||
'caller_no' => $this->request->getGet('caller_no'),
|
||||
];
|
||||
|
||||
$totalCount = $this->listfaxModel->getTotalCount($data);
|
||||
|
||||
$datas = $this->listfaxModel->getResultList($start, $end, $data);
|
||||
|
||||
return $this->response->setJSON(body: [
|
||||
'recordsTotal' => $totalCount,
|
||||
'recordsFiltered' => $totalCount,
|
||||
'data' => $datas,
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,5 +6,48 @@ use CodeIgniter\Model;
|
||||
class ListFaxModel extends Model
|
||||
{
|
||||
|
||||
public function getTotalCount($data)
|
||||
{
|
||||
$sql = "SELECT
|
||||
COUNT(*) AS cnt
|
||||
FROM
|
||||
fax_imgs a
|
||||
WHERE
|
||||
a.RECV_TIME >= CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL - 7 DAY), 'Y-m-d'), ' 00:00:00')
|
||||
AND a.RECV_TIME <= CONCAT(DATE_FORMAT(NOW(), 'Y-m-d'), ' 23:59:59')
|
||||
AND a.caller_no LIKE CONCAT('%', REPLACE('{$data['caller_no']}', '-', ''), '%')
|
||||
|
||||
GROUP BY a.`MID`
|
||||
";
|
||||
|
||||
|
||||
$query = $this->db->query($sql);
|
||||
|
||||
$row = $query->getRow();
|
||||
return $row ? $row->cnt : 0;
|
||||
}
|
||||
|
||||
public function getResultList($start, $end, $data)
|
||||
{
|
||||
$sql = "
|
||||
SELECT
|
||||
a.fax_sq, a.mid, GROUP_CONCAT(a.file_name) AS file_name, a.file_path, a.CALLER_NO, a.CALLEE_NO, a.RECV_TIME, a.SAVE_TIME, COUNT(a.file_name) AS cnt
|
||||
FROM
|
||||
fax_imgs a
|
||||
WHERE
|
||||
a.RECV_TIME >= CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL - 7 DAY), 'Y-m-d'), ' 00:00:00')
|
||||
AND a.RECV_TIME <= CONCAT(DATE_FORMAT(NOW(), 'Y-m-d'), ' 23:59:59')
|
||||
AND a.caller_no LIKE CONCAT('%', REPLACE('{$data['caller_no']}', '-', ''), '%')
|
||||
|
||||
GROUP BY a.`MID`
|
||||
ORDER BY a.fax_sq DESC, a.RECV_TIME DESC
|
||||
|
||||
LIMIT {$start}, {$end}
|
||||
";
|
||||
|
||||
$query = $this->db->query($sql);
|
||||
|
||||
return $query->getResultArray();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -41,6 +41,7 @@
|
||||
<script defer src="/architectui/assets/scripts/chart_js.98288b227c064e6a107f.js"></script>
|
||||
<script defer src="/architectui/assets/scripts/apex_charts.98288b227c064e6a107f.js"></script>
|
||||
<script defer src="/architectui/assets/scripts/sparklines.98288b227c064e6a107f.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
<link href="/architectui/assets/styles/vendors.98288b227c064e6a107f.css" rel="stylesheet">
|
||||
@@ -105,8 +106,7 @@
|
||||
<label for="exampleCheck"
|
||||
class="form-check-label text-muted fw-medium">아이디저장</label>
|
||||
</div>
|
||||
<a href="javascript:void(0);"
|
||||
class="text-primary text-decoration-none fw-semibold">
|
||||
<a onclick="faxOpen();" class="text-primary text-decoration-none fw-semibold">
|
||||
팩스 수신 확인
|
||||
</a>
|
||||
</div>
|
||||
@@ -132,12 +132,80 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 모달영역-->
|
||||
<div class="modal fade" id="faxModal" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
|
||||
<!-- Header -->
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">팩스 수신 확인</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
|
||||
<!-- Body -->
|
||||
<div class="modal-body">
|
||||
|
||||
<form id="frm_srch_info" onsubmit="return false;">
|
||||
<!-- 검색 영역 -->
|
||||
<div class="row g-2 align-items-end mb-3">
|
||||
<div class="col-md-2">
|
||||
<label class="form-label mb-1">발신 팩스 번호</label>
|
||||
<input type="text" class="form-control form-control-sm" name="caller_no"
|
||||
placeholder="번호 입력" />
|
||||
</div>
|
||||
<div class="col-md-4 text-start">
|
||||
<button type="button" class="btn btn-sm btn-primary" id="btnSearch">
|
||||
검색
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="my-2">
|
||||
<!-- 테이블 영역 -->
|
||||
<div class="table-responsive">
|
||||
<table id="tblFax" class="table table-sm table-bordered table-hover align-middle mb-0">
|
||||
<caption class="caption-top small text-muted">FAX 수신 현황</caption>
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th class="text-center">수신기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- 데이터 -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<!-- Footer -->
|
||||
<div class="modal-footer py-2">
|
||||
<button type="button" class="btn btn-sm btn-secondary" data-bs-dismiss="modal">
|
||||
닫기
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 모달영역-->
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
|
||||
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
|
||||
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
const tpl = document.querySelector('.my-loader-template');
|
||||
var table;
|
||||
|
||||
$(function () {
|
||||
|
||||
$("#btnSearch").on("click", function () {
|
||||
table.ajax.reload();
|
||||
});
|
||||
|
||||
|
||||
$("#frm_login_info").on("submit", function (e) {
|
||||
e.preventDefault(); // 기본 submit 막기
|
||||
|
||||
@@ -191,10 +259,51 @@
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
function faxOpen() {
|
||||
table = $('#tblFax').DataTable({
|
||||
language: lang_kor,
|
||||
serverSide: true,
|
||||
processing: true,
|
||||
ajax: {
|
||||
url: '/listfax/listfax/getLists',
|
||||
type: 'GET',
|
||||
beforeSend: function () {
|
||||
blockUI.blockPage({
|
||||
message: tpl
|
||||
})
|
||||
},
|
||||
complete: function () {
|
||||
blockUI.unblockPage()
|
||||
},
|
||||
data: function (d) {
|
||||
|
||||
d.caller_no = $("#frm_srch_info [name=caller_no]").val();
|
||||
|
||||
d.start = d.start || 0
|
||||
d.length = d.length || 10
|
||||
},
|
||||
},
|
||||
"columnDefs": [
|
||||
{ className: 'text-center', targets: '_all' },
|
||||
{ 'targets': '_all', "defaultContent": "" },
|
||||
],
|
||||
columns: [
|
||||
{ data: 'atcl_no' },
|
||||
],
|
||||
// 옵션들 예시
|
||||
paging: true,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
});
|
||||
|
||||
$("#faxModal").modal("show");
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user