pbmc-cmod/app/Controllers/DictTests.php

77 lines
2.5 KiB
PHP
Raw Normal View History

2024-11-25 16:52:52 +07:00
<?php
namespace App\Controllers;
use CodeIgniter\RESTful\ResourceController;
class DictTests extends ResourceController {
protected $format = 'json';
public function index() {
$db = \Config\Database::connect();
2024-11-26 16:45:56 +07:00
$sql = "select TESTCODE, TEXT1, TEXT2 from cmod.dbo.CM_DICT_TESTS";
2024-11-25 16:52:52 +07:00
$query = $db->query($sql);
$results = $query->getResultArray();
$data['dictTests'] = $results;
return $this->respond($data, 200);
}
2024-11-26 16:45:56 +07:00
public function search() {
2024-11-25 16:52:52 +07:00
$db = \Config\Database::connect();
2024-11-26 16:45:56 +07:00
$testcode = $this->request->getPost('testcode');
$shorttext = $this->request->getPost('shorttext');
$sql = "select dt.TESTCODE, dt.SHORTTEXT, cdt.TEXT1, cdt.TEXT2, cdt.UNIT, cdt.REFFTEXT from DICT_TESTS dt
left join cmod.dbo.CM_DICT_TESTS cdt on dt.TESTCODE=cdt.TESTCODE";
// Initialize a WHERE clause
$where= '';
// Check if either testcode or shorttext is provided
if (!empty($testcode) || !empty($shorttext)) {
$where= ' WHERE ';
if (!empty($testcode)) { $where .= "dt.TESTCODE like '%$testcode%'"; }
if (!empty($shorttext)) {
if (!empty($testcode)) { $where .= ' OR '; }
$where .= "LOWER(dt.SHORTTEXT) LIKE '%$shorttext%'";
}
}
$sql .= $where;
$query = $db->query($sql);
$results = $query->getResultArray();
$data['dictTests'] = $results;
return $this->respond($data, 200);
}
public function detail($testcode) {
$data = array();
2024-11-26 16:45:56 +07:00
$db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_DICT_TESTS where TESTCODE='$testcode'";
2024-11-25 16:52:52 +07:00
$query = $db->query($sql);
$results = $query->getResultArray();
if(isset($results[0])) { $data = $results[0]; }
2024-11-25 16:52:52 +07:00
return $this->respond($data, 200);
}
public function save() {
$update = $this->request->getPost('update');
$testcode = $this->request->getPost('testcode');
2024-11-26 16:45:56 +07:00
$text1 = $this->request->getPost('text1');
$text2 = $this->request->getPost('text2');
$unit = $this->request->getPost('unit');
2024-11-26 16:45:56 +07:00
$refftext = $this->request->getPost('refftext');
2024-11-25 16:52:52 +07:00
$db = \Config\Database::connect();
$sql = "INSERT INTO cmod.dbo.CM_DICT_TESTS (TESTCODE, TEXT1, TEXT2, REFFTEXT, LOGDATE ) VALUES ('$testcode', '$text1', '$text2', '$refftext' GETDATE())";
$sql = "UPDATE cmod.dbo.CM_DICT_TESTS set TEXT1='$text1', TEXT2='$text2', REFFTEXT='$refftext', LOGDATE=GETDATE() where TESTCODE='$testcode'";
2024-11-25 16:52:52 +07:00
if( $db->query($sql) ) {
return $this->respond(['message' => 'Save Success'],201);
} else {
$response = [
'errors' => $db->errors(),
'message' => 'Invalid Inputs'
];
return $this->fail($response , 409);
}
}
}