add dict_mapping tubeid
This commit is contained in:
parent
187f5191fb
commit
da40324dee
@ -57,6 +57,7 @@ $routes->get('api/dictTubes/index', 'API_DictTubes::index');
|
||||
$routes->get('api/dictTubes/detail/(:any)', 'API_DictTubes::detail/$1');
|
||||
|
||||
// API - DictMappings
|
||||
$routes->POST('api/dictMappings/search', 'API_DictMappings::search');
|
||||
$routes->get('api/dictMappings/index', 'API_DictMappings::index');
|
||||
$routes->POST('api/dictMappings/saveSingle', 'API_DictMappings::saveSingle');
|
||||
$routes->POST('api/dictMappings/saveProfile', 'API_DictMappings::saveProfile');
|
||||
|
||||
@ -8,7 +8,38 @@ class API_DictMappings extends ResourceController {
|
||||
|
||||
public function index() {
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "select * from cmod.dbo.CM_DICT_MAPPINGS";
|
||||
$sql = "select m.*, t.TUBECODE, t.TUBENAME from cmod.dbo.CM_DICT_MAPPINGS m
|
||||
left join cmod.dbo.CM_DICT_TUBES t on m.TUBEID=t.TUBEID";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
$data['dictMappings'] = $results;
|
||||
|
||||
return $this->respond($data, 200);
|
||||
}
|
||||
|
||||
public function search(){
|
||||
$db = \Config\Database::connect();
|
||||
$liscode = $this->request->getPost('liscode');
|
||||
$hiscode = $this->request->getPost('hiscode');
|
||||
$descs = $this->request->getPost('maptext');
|
||||
$sql = "select m.*, t.TUBECODE, t.TUBENAME from cmod.dbo.CM_DICT_MAPPINGS m
|
||||
left join cmod.dbo.CM_DICT_TUBES t on m.TUBEID=t.TUBEID";
|
||||
$where = "";
|
||||
if (!empty($liscode) || !empty($hiscode) || !empty($maptext) ) {
|
||||
$where = ' WHERE ';
|
||||
$x = 0;
|
||||
if (!empty($liscode)) { $where .= "m.LISCODE like '%$liscode%'"; $x = 1; }
|
||||
if (!empty($hiscode)) {
|
||||
if ($x == 1) { $where .= ' OR '; }
|
||||
$where .= "m.HISCODE LIKE '%$hiscode%'"; $x = 1;
|
||||
}
|
||||
if (!empty($maptext)) {
|
||||
if ($x == 1) { $where .= ' OR '; }
|
||||
$where .= "LOWER(m.DESCS) LIKE '%$maptext%'";
|
||||
}
|
||||
}
|
||||
$sql .= $where;
|
||||
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
$data['dictMappings'] = $results;
|
||||
@ -39,6 +70,7 @@ class API_DictMappings extends ResourceController {
|
||||
$liscode = $this->request->getPost('liscode');
|
||||
$hiscode = $this->request->getPost('hiscode');
|
||||
$descs = $this->request->getPost('descs');
|
||||
$tubeid = $this->request->getPost('tubeid');
|
||||
|
||||
// check if hiscode is exists
|
||||
$db = \Config\Database::connect();
|
||||
@ -54,8 +86,8 @@ class API_DictMappings extends ResourceController {
|
||||
}
|
||||
|
||||
|
||||
if($update == '0') { $sql = "INSERT INTO cmod.dbo.CM_DICT_MAPPINGS (MAPTYPE, HISCODE, LISCODE, DESCS ) VALUES ('S', '$hiscode', '$liscode', '$descs')"; }
|
||||
else { $sql = "UPDATE cmod.dbo.CM_DICT_MAPPINGS set HISCODE='$hiscode', LISCODE='$liscode', DESCS='$descs' where MAPID='$update'"; }
|
||||
if($update == '0') { $sql = "INSERT INTO cmod.dbo.CM_DICT_MAPPINGS (MAPTYPE, HISCODE, LISCODE, DESCS, TUBEID ) VALUES ('S', '$hiscode', '$liscode', '$descs', '$tubeid')"; }
|
||||
else { $sql = "UPDATE cmod.dbo.CM_DICT_MAPPINGS set HISCODE='$hiscode', LISCODE='$liscode', DESCS='$descs', TUBEID='$tubeid' where MAPID='$update'"; }
|
||||
|
||||
if( $db->query($sql) ) {
|
||||
return $this->respond(['message' => 'Save Success'],201);
|
||||
@ -72,6 +104,7 @@ class API_DictMappings extends ResourceController {
|
||||
$db = \Config\Database::connect();
|
||||
$update = $this->request->getPost('update');
|
||||
$hiscode = $this->request->getPost('hiscode');
|
||||
$tubeid = $this->request->getPost('tubeid');
|
||||
$descs = $this->request->getPost('descs');
|
||||
$mliscode = [];
|
||||
for ($i = 1; $i <= 44; $i++) {
|
||||
@ -94,8 +127,8 @@ class API_DictMappings extends ResourceController {
|
||||
}
|
||||
|
||||
// dict_mappings
|
||||
if($update == '0') { $sql = "INSERT INTO cmod.dbo.CM_DICT_MAPPINGS (MAPTYPE, HISCODE, LISCODE, DESCS ) VALUES ('P', '$hiscode', null, '$descs')"; }
|
||||
else { $sql = "UPDATE cmod.dbo.CM_DICT_MAPPINGS set HISCODE='$hiscode', LISCODE=null, DESCS='$descs' where MAPID='$update'"; }
|
||||
if($update == '0') { $sql = "INSERT INTO cmod.dbo.CM_DICT_MAPPINGS (MAPTYPE, HISCODE, LISCODE, DESCS, TUBEID) VALUES ('P', '$hiscode', null, '$descs', '$tubeid')"; }
|
||||
else { $sql = "UPDATE cmod.dbo.CM_DICT_MAPPINGS set HISCODE='$hiscode', LISCODE=null, DESCS='$descs', TUBEID='$tubeid' where MAPID='$update'"; }
|
||||
if( !$db->query($sql) ) {
|
||||
$response = [
|
||||
'errors' => $db->errors(),
|
||||
|
||||
@ -92,6 +92,10 @@ class AdminController extends BaseController {
|
||||
|
||||
public function dictMappings_index() {
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "select * from cmod.dbo.CM_DICT_TUBES";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
$data['tubes'] = $results;
|
||||
$sql = "select TESTCODE from DICT_TESTS where ENDVALIDDATE is null";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
|
||||
@ -7,13 +7,31 @@ echo "";
|
||||
foreach($tests as $data) {
|
||||
$testcode = $data['TESTCODE'];
|
||||
echo "<option value='$testcode' />";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</datalist>
|
||||
<div class="card border-0 m-1">
|
||||
<div class="card-header bg-success text-white">
|
||||
<div class='card-title m-0'><b>Dictionary Mapping Order</b></div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class='row mb-2'>
|
||||
<div class='col-2'>HIS code</div>
|
||||
<div class='col-2'><input type='text' class='form-control form-control-sm' id='search_hiscode' oninput='this.value = this.value.toUpperCase();' /></div>
|
||||
</div>
|
||||
<div class='row mb-2'>
|
||||
<div class='col-2'>LIS code</div>
|
||||
<div class='col-2'><input type='text' class='form-control form-control-sm' id='search_liscode' oninput='this.value = this.value.toUpperCase();' /></div>
|
||||
</div>
|
||||
<div class='row mb-2'>
|
||||
<div class='col-2'>Mapping text</div>
|
||||
<div class='col-3'><input type='text' class='form-control form-control-sm' id='search_maptext' oninput='this.value = this.value.toLowerCase();' /></div>
|
||||
</div>
|
||||
<button class='btn btn-sm btn-success-2' onclick='search()'>Search</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border-0 m-1">
|
||||
<div class="card-body">
|
||||
<!-- <div class='card-title'>Dictionary Mapping Order</div> -->
|
||||
<button class='btn btn-sm btn-success-2' onclick="createSingle()"><i class="bi bi-plus-circle"></i> Create Single</button>
|
||||
@ -24,6 +42,7 @@ foreach($tests as $data) {
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>Tube</th>
|
||||
<th>HIS Code</th>
|
||||
<th>LIS Code</th>
|
||||
<th>Description</th>
|
||||
@ -51,6 +70,21 @@ foreach($tests as $data) {
|
||||
<input type='hidden' id='updateSingle' value='' />
|
||||
<tr class="align-middle"> <th>HIS Code</th> <th>:</th> <td><input class='form-control' type='text' id='hiscodeSingle'/></td> </tr>
|
||||
<tr class="align-middle"> <th>LIS Code</th> <th>:</th> <td><input list='liscode' class='form-control' type='text' id='liscodeSingle' oninput='this.value = this.value.toUpperCase();' /></td> </tr>
|
||||
<tr class="align-middle"> <th>Tube</th> <th>:</th>
|
||||
<td>
|
||||
<select class='form-control' id='tubeidSingle'>
|
||||
<option value=''></option>
|
||||
<?php
|
||||
foreach($tubes as $data) {
|
||||
$tubeid = $data['TUBEID'];
|
||||
$tubecode = $data['TUBECODE'];
|
||||
$tubename = $data['TUBENAME'];
|
||||
echo "<option value='$tubeid'>$tubecode - $tubename</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="align-middle"> <th>Desc.</th> <th>:</th> <td><textarea class='form-control' id='descsSingle'></textarea></td> </tr>
|
||||
</table>
|
||||
<button class='btn btn-sm btn-primary' onclick='saveSingle()'>Save</button>
|
||||
@ -76,6 +110,21 @@ foreach($tests as $data) {
|
||||
<table class="table table-sm table-borderless">
|
||||
<input type='hidden' id='updateProfile' value='' />
|
||||
<tr class="align-middle"> <th>HIS Code</th> <th>:</th> <td><input class='form-control' type='text' id='hiscodeProfile'/></td> </tr>
|
||||
<tr class="align-middle"> <th>Tube</th> <th>:</th>
|
||||
<td>
|
||||
<select class='form-control' id='tubeidProfile'>
|
||||
<option value=''></option>
|
||||
<?php
|
||||
foreach($tubes as $data) {
|
||||
$tubeid = $data['TUBEID'];
|
||||
$tubecode = $data['TUBECODE'];
|
||||
$tubename = $data['TUBENAME'];
|
||||
echo "<option value='$tubeid'>$tubecode - $tubename</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="align-middle"> <th>Desc.</th> <th>:</th> <td><textarea class='form-control' id='descsProfile'></textarea></td> </tr>
|
||||
</table>
|
||||
</div>
|
||||
@ -103,14 +152,17 @@ foreach($tests as $data) {
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
index();
|
||||
function index() {
|
||||
let url = '<?=base_url('');?>api/dictMappings/index';
|
||||
function search() {
|
||||
let url = '<?=base_url('');?>api/dictMappings/search';
|
||||
var liscode = $('#search_liscode').val();
|
||||
var hiscode = $('#search_hiscode').val();
|
||||
var maptext = $('#search_maptext').val();
|
||||
let data = { liscode:liscode, hiscode:hiscode, maptext:maptext };
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: 'GET',
|
||||
method: 'POST',
|
||||
data : data,
|
||||
success: function(response) {
|
||||
$("#myTable").DataTable().destroy();
|
||||
$("#table-body").html("");
|
||||
var data = response['dictMappings'];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
@ -119,21 +171,20 @@ function index() {
|
||||
maptype = data[i].MAPTYPE;
|
||||
mapid = data[i].MAPID;
|
||||
descs = data[i].DESCS;
|
||||
tubecode = data[i].TUBECODE;
|
||||
editBtn = '';
|
||||
if(data[i].LISCODE == null) { liscode = '-'; }
|
||||
if(data[i].TUBECODE == null) { tubecode = '-'; }
|
||||
if(maptype == 'S') {
|
||||
editBtn = '<button class="btn btn-sm btn-success-2" ' + ' onclick="editSingle(' + mapid+ ')">Edit' + '</button> ';
|
||||
} else {
|
||||
editBtn = '<button class="btn btn-sm btn-success-2" ' + ' onclick="editProfile(' + mapid+ ')">Edit' + '</button> ';
|
||||
}
|
||||
let datarow = '<tr class="align-middle">' +
|
||||
'<td>' + maptype + '</td>' + '<td>' + hiscode+ '</td> <td>' + liscode + '</td>' + '<td>' + descs + '</td>' + '<td>' + editBtn + '</td>' +
|
||||
'<td>' + maptype + '</td>' + '<td>' + tubecode + '</td>' + '<td>' + hiscode+ '</td> <td>' + liscode + '</td>' + '<td>' + descs + '</td>' + '<td>' + editBtn + '</td>' +
|
||||
'</tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
$("#myTable").DataTable({
|
||||
"pageLength" : 25,
|
||||
});
|
||||
},
|
||||
error: function(response) { console.log(response.responseJSON); }
|
||||
});
|
||||
@ -145,6 +196,7 @@ function createSingle() {
|
||||
$("#hiscodeSingle").val("");
|
||||
$("#liscodeSingle").val("");
|
||||
$("#descsSingle").val("");
|
||||
$(`#tubeidSingle option[value='']`).prop('selected', true);
|
||||
$("#modal_single").modal('show');
|
||||
}
|
||||
|
||||
@ -159,6 +211,8 @@ function editSingle(mapid) {
|
||||
$("#liscodeSingle").val(data.LISCODE);
|
||||
$("#hiscodeSingle").val(data.HISCODE);
|
||||
$("#descsSingle").val(data.DESCS);
|
||||
$("#tubeidSingle").val(data.TUBEID);
|
||||
$(`#tubeidSingle option[value='${data.TUBEID}']`).prop('selected', true);
|
||||
$("#modal_single").modal('show');
|
||||
},
|
||||
error: function(response) {
|
||||
@ -171,6 +225,7 @@ function createProfile() {
|
||||
$("#updateProfile").val("0");
|
||||
$("#hiscodeProfile").val("");
|
||||
$("#descsProfile").val("");
|
||||
$(`#tubeidProfile option[value='']`).prop('selected', true);
|
||||
for (let i = 1; i <= 44; i++) {
|
||||
let id = `.mliscode${i}`;
|
||||
let element = $(id);
|
||||
@ -214,7 +269,8 @@ function saveSingle() {
|
||||
var hiscode = $("#hiscodeSingle").val();
|
||||
var liscode = $("#liscodeSingle").val();
|
||||
var descs = $("#descsSingle").val();
|
||||
let data = { update: update, hiscode: hiscode, liscode:liscode, descs:descs };
|
||||
var tubeid = $("#tubeidSingle").val();
|
||||
let data = { update: update, hiscode: hiscode, liscode:liscode, descs:descs, tubeid:tubeid };
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: "POST",
|
||||
@ -224,8 +280,9 @@ function saveSingle() {
|
||||
$("#hiscodeSingle").val('');
|
||||
$("#descsSingle").val('');
|
||||
$("#updateSingle").val('');
|
||||
$("#tubeidSingle").val('');
|
||||
$("#modal_single").modal('hide');
|
||||
index();
|
||||
search();
|
||||
},
|
||||
error: function(response) {
|
||||
alert(response.responseJSON.messages.errors);
|
||||
@ -237,8 +294,9 @@ function saveProfile() {
|
||||
let url = '<?=base_url('');?>api/dictMappings/saveProfile';
|
||||
var update = $("#updateProfile").val();
|
||||
var hiscode = $("#hiscodeProfile").val();
|
||||
var tubeid = $("#tubeidProfile").val();
|
||||
var descs = $("#descsProfile").val();
|
||||
let data = { update: update, hiscode: hiscode, descs:descs };
|
||||
let data = { update: update, hiscode: hiscode, descs:descs, tubeid:tubeid };
|
||||
for (let i = 1; i <= 44; i++) {
|
||||
let className = `.mliscode${i}`;
|
||||
let value = $(className).val();
|
||||
@ -252,7 +310,7 @@ function saveProfile() {
|
||||
data: data,
|
||||
success: function(response) {
|
||||
$("#modal_profile").modal('hide');
|
||||
index();
|
||||
search();
|
||||
},
|
||||
error: function(response) {
|
||||
alert(response.responseJSON.messages.errors);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user