From d2e84162cd7247bbf80671d0c8e16e8343b579a5 Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Wed, 4 Mar 2026 09:21:41 +0700 Subject: [PATCH] refactor master controls and update custom report layout --- .../Master/MasterControlsController.php | 7 +- ...2026-01-17-000001_QualityControlSystem.php | 1 + app/Models/Master/MasterControlsModel.php | 13 +- .../master/control/dialog_control_form.php | 15 +- app/Views/master/control/index.php | 262 ++++++++---------- app/Views/report/custom1.php | 246 ++++++++-------- 6 files changed, 283 insertions(+), 261 deletions(-) diff --git a/app/Controllers/Master/MasterControlsController.php b/app/Controllers/Master/MasterControlsController.php index 07d03a3..1e5309c 100755 --- a/app/Controllers/Master/MasterControlsController.php +++ b/app/Controllers/Master/MasterControlsController.php @@ -19,7 +19,12 @@ class MasterControlsController extends BaseController { ]; } - public function index() { $keyword = $this->request->getGet('keyword'); $deptId = $this->request->getGet('dept_id'); try { $rows = $this->model->search($keyword, $deptId); + public function index() { + $keyword = $this->request->getGet('keyword'); + $deptId = $this->request->getGet('dept_id'); + $isActive = $this->request->getGet('is_active'); + try { + $rows = $this->model->search($keyword, $deptId, $isActive); return $this->respond([ 'status' => 'success', 'message' => 'fetch success', diff --git a/app/Database/Migrations/2026-01-17-000001_QualityControlSystem.php b/app/Database/Migrations/2026-01-17-000001_QualityControlSystem.php index a63a83e..106b46c 100755 --- a/app/Database/Migrations/2026-01-17-000001_QualityControlSystem.php +++ b/app/Database/Migrations/2026-01-17-000001_QualityControlSystem.php @@ -27,6 +27,7 @@ class QualityControlSystem extends Migration 'lot' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true], 'producer' => ['type' => 'TEXT', 'null' => true], 'exp_date' => ['type' => 'DATE', 'null' => true], + 'is_active' => ['type' => 'TINYINT', 'constraint' => 1, 'null' => false], 'created_at' => ['type' => 'DATETIME', 'null' => true], 'updated_at' => ['type' => 'DATETIME', 'null' => true], 'deleted_at' => ['type' => 'DATETIME', 'null' => true], diff --git a/app/Models/Master/MasterControlsModel.php b/app/Models/Master/MasterControlsModel.php index bd668ed..fb2dd75 100755 --- a/app/Models/Master/MasterControlsModel.php +++ b/app/Models/Master/MasterControlsModel.php @@ -12,6 +12,7 @@ class MasterControlsModel extends BaseModel { 'lot', 'producer', 'exp_date', + 'is_active', 'created_at', 'updated_at', 'deleted_at' @@ -19,7 +20,7 @@ class MasterControlsModel extends BaseModel { protected $useTimestamps = true; protected $useSoftDeletes = true; - public function search($keyword = null, $deptId = null) { + public function search($keyword = null, $deptId = null, $isActive = null) { $builder = $this->builder(); $builder->select(' master_controls.control_id as controlId, @@ -27,6 +28,7 @@ class MasterControlsModel extends BaseModel { master_controls.lot, master_controls.producer, master_controls.exp_date as expDate, + master_controls.is_active as isActive, master_depts.dept_name as deptName '); $builder->join('master_depts', 'master_depts.dept_id = master_controls.dept_id', 'left'); @@ -36,6 +38,10 @@ class MasterControlsModel extends BaseModel { $builder->where('master_controls.dept_id', $deptId); } + if ($isActive !== null && $isActive !== '') { + $builder->where('master_controls.is_active', $isActive); + } + if ($keyword) { $builder->groupStart() ->like('master_controls.control_name', $keyword) @@ -45,10 +51,9 @@ class MasterControlsModel extends BaseModel { } $builder->orderBy('master_controls.control_name', 'ASC'); - + $results = $builder->get()->getResultArray(); - - // Add deptName after camelCase conversion from BaseModel + foreach ($results as &$row) { $row['deptName'] = $row['deptName'] ?? null; } diff --git a/app/Views/master/control/dialog_control_form.php b/app/Views/master/control/dialog_control_form.php index 827d9bd..3533fa6 100755 --- a/app/Views/master/control/dialog_control_form.php +++ b/app/Views/master/control/dialog_control_form.php @@ -94,7 +94,7 @@ -
+ +
+ +
-
-
- -
- +
+