diff --git a/app/Config/Routes.php b/app/Config/Routes.php index c45a065..616728e 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -52,6 +52,7 @@ $routes->get('(:any)/audit', 'ApiRequestsAuditController::show/$1'); // Collect & Show - All Roles $routes->group('', ['filter' => 'role:0,1,2,3,4'], function ($routes) { $routes->post('collect/(:any)/(:any)', 'SamplesController::collect/$1/$2'); + $routes->delete('collect/(:any)/(:any)', 'SamplesController::uncollect/$1/$2'); $routes->get('(:any)', 'SamplesController::show/$1'); }); diff --git a/app/Controllers/SamplesController.php b/app/Controllers/SamplesController.php index b1f8b1b..691c27d 100644 --- a/app/Controllers/SamplesController.php +++ b/app/Controllers/SamplesController.php @@ -68,14 +68,26 @@ class SamplesController extends BaseController { $db = \Config\Database::connect(); $userid = session('userid'); - $sql = "update GDC_CMOD.dbo.TUBES set USERID='$userid',STATUS='1', COLLECTIONDATE=getdate() where ACCESSNUMBER='$accessnumber' and TUBENUMBER='$samplenumber'"; - $db->query($sql); + $sql = "update GDC_CMOD.dbo.TUBES set USERID=?, STATUS='1', COLLECTIONDATE=getdate() where ACCESSNUMBER=? and TUBENUMBER=?"; + $db->query($sql, [$userid, $accessnumber, $samplenumber]); $sql = "INSERT INTO GDC_CMOD.dbo.AUDIT_TUBES(ACCESSNUMBER, TUBENUMBER, USERID, STATUS, LOGDATE) - VALUES ('$accessnumber', '$samplenumber', '$userid', '1', getdate())"; - $db->query($sql); + VALUES (?, ?, ?, '1', getdate())"; + $db->query($sql, [$accessnumber, $samplenumber, $userid]); return $this->respondCreated(['status' => 'success', 'message' => 'Data updated successfully', 'data' => "$accessnumber-$samplenumber"], 201); } + public function uncollect($accessnumber, $samplenumber) + { + $db = \Config\Database::connect(); + $userid = session('userid'); + $sql = "update GDC_CMOD.dbo.TUBES set STATUS='0', COLLECTIONDATE=NULL where ACCESSNUMBER=? and TUBENUMBER=?"; + $db->query($sql, [$accessnumber, $samplenumber]); + $sql = "INSERT INTO GDC_CMOD.dbo.AUDIT_TUBES(ACCESSNUMBER, TUBENUMBER, USERID, STATUS, LOGDATE) + VALUES (?, ?, ?, '0', getdate())"; + $db->query($sql, [$accessnumber, $samplenumber, $userid]); + return $this->respond(['status' => 'success', 'message' => 'Sample uncollected successfully', 'data' => "$accessnumber-$samplenumber"], 200); + } + public function unreceive($accessnumber, $samplenumber) { $db = \Config\Database::connect(); diff --git a/app/Views/phlebo/collect.php b/app/Views/phlebo/collect.php index bae183d..5ab341f 100644 --- a/app/Views/phlebo/collect.php +++ b/app/Views/phlebo/collect.php @@ -100,13 +100,11 @@ $roleConfig = $config['phlebo'];
-