move contact and occupation

This commit is contained in:
mahdahar 2025-10-14 18:53:06 +07:00
parent 4da2d7a54b
commit 3f656bfa87
13 changed files with 37 additions and 54 deletions

View File

@ -4,8 +4,8 @@ namespace App\Controllers;
use CodeIgniter\API\ResponseTrait; use CodeIgniter\API\ResponseTrait;
use CodeIgniter\Controller; use CodeIgniter\Controller;
use App\Models\ContactModel; use App\Models\Contact\ContactModel;
use App\Models\ContactDetailModel; use App\Models\Contact\ContactDetailModel;
class Contact extends Controller { class Contact extends Controller {
use ResponseTrait; use ResponseTrait;

View File

@ -2,26 +2,25 @@
namespace App\Controllers; namespace App\Controllers;
use CodeIgniter\API\ResponseTrait; use CodeIgniter\API\ResponseTrait;
use CodeIgniter\Controller; use CodeIgniter\BaseController;
use App\Models\OccupationModel; use App\Models\Contact\OccupationModel;
class Occupation extends Controller { class Occupation extends BaseController {
use ResponseTrait; use ResponseTrait;
protected $db; protected $db;
protected $modelOccupation; protected $model;
protected $rulesOccupation; protected $rules;
public function __construct() { public function __construct() {
$this->db = \Config\Database::connect(); $this->db = \Config\Database::connect();
$this->modelOccupation = new OccupationModel(); $this->model = new OccupationModel();
$this->rulesOccupation = [ 'OccCode' => 'required','OccText' => 'required' ]; $this->rules = [ 'OccCode' => 'required','OccText' => 'required' ];
} }
public function index() { public function index() {
$model = new OccupationModel(); $model = new OccupationModel();
$rows = $model->get()->getResultArray(); $rows = $model->findAll();
if (empty($rows)) { if (empty($rows)) {
return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200);
} }
@ -31,26 +30,17 @@ class Occupation extends Controller {
public function show($OccupationID = null) { public function show($OccupationID = null) {
$model = new OccupationModel(); $model = new OccupationModel();
$rows = $model->where('occupationID', (int) $OccupationID)->get()->getResultArray(); $rows = $model->find($OccupationID);
if (empty($rows)) { if (empty($rows)) {
return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200); return $this->respond([ 'status' => 'success', 'message' => "no Data."], 200);
} }
return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200); return $this->respond([ 'status' => 'success', 'message'=> "fetch success", 'data' => $rows ], 200);
} }
public function create() { public function create() {
$input = $this->request->getJSON(true); $input = $this->request->getJSON(true);
try { try {
$this->db->transStart(); $insert = $this->model->insert($input);
$insert = $this->modelOccupation->insert($input);
$this->db->transComplete();
if ($this->db->transStatus() === false || !$insert) {
return $this->fail();
}
return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $input ], 201); return $this->respondCreated([ 'status' => 'success', 'message' => 'data created successfully', 'data' => $input ], 201);
} catch (\Throwable $e) { } catch (\Throwable $e) {
$this->db->transRollback(); $this->db->transRollback();
@ -61,18 +51,7 @@ class Occupation extends Controller {
public function update() { public function update() {
$input = $this->request->getJSON(true); $input = $this->request->getJSON(true);
try { try {
if (!$this->modelOccupation->find($input['OccupationID'])) { $this->modelOccupation->update($input['OccupationID'], $input);
return $this->failNotFound('Data not found');
}
$this->db->transStart();
$update = $this->modelOccupation->update($input['OccupationID'], $input);
$this->db->transComplete();
if ($this->db->transStatus() === false || !$insert) {
return $this->fail();
}
return $this->respondCreated([ 'status' => 'success', 'message' => 'Data updated successfully', 'data' => $input ], 201); return $this->respondCreated([ 'status' => 'success', 'message' => 'Data updated successfully', 'data' => $input ], 201);
} catch (\Throwable $e) { } catch (\Throwable $e) {
$this->db->transRollback(); $this->db->transRollback();

View File

@ -37,10 +37,7 @@ class ValueSet extends BaseController {
} }
public function showByValueSetDef($VSetID = null) { public function showByValueSetDef($VSetID = null) {
$rows = $this->db->table('valueset') $rows = $this->model->getValueSetByValueSetDef($VSetID);
->select("*")
->where('VSetID', (int) $VSetID)
->get()->getResultArray();
if (empty($rows)) { if (empty($rows)) {
return $this->respond([ 'status' => 'success', 'message' => "ValueSet not found.", 'data' => [] ], 200); return $this->respond([ 'status' => 'success', 'message' => "ValueSet not found.", 'data' => [] ], 200);
} }

View File

@ -4,7 +4,7 @@ namespace App\Models;
use CodeIgniter\Model; use CodeIgniter\Model;
class BaseUtcModel extends Model { class BaseModel extends Model {
protected $beforeInsert = ['normalizeDatesToUTC']; protected $beforeInsert = ['normalizeDatesToUTC'];
protected $beforeUpdate = ['normalizeDatesToUTC']; protected $beforeUpdate = ['normalizeDatesToUTC'];
protected $afterFind = ['convertDatesToUTCISO']; protected $afterFind = ['convertDatesToUTCISO'];

View File

@ -1,10 +1,10 @@
<?php <?php
namespace App\Models; namespace App\Models\Contact;
use CodeIgniter\Model; use App\Models\BaseModel;
class ContactDetailModel extends BaseUtcModel { class ContactDetailModel extends BaseModel {
protected $table = 'contactdetail'; protected $table = 'contactdetail';
protected $primaryKey = 'ContactDetID'; protected $primaryKey = 'ContactDetID';
protected $allowedFields = ['ContactID', 'SiteID', 'ContactCode', 'ContactEmail', 'OccupationID', 'JobTitle', 'Department', 'ContactStartDate', 'ContactEndDate']; protected $allowedFields = ['ContactID', 'SiteID', 'ContactCode', 'ContactEmail', 'OccupationID', 'JobTitle', 'Department', 'ContactStartDate', 'ContactEndDate'];

View File

@ -1,10 +1,10 @@
<?php <?php
namespace App\Models; namespace App\Models\Contact;
use CodeIgniter\Model; use App\Models\BaseModel;
class ContactModel extends BaseUtcModel { class ContactModel extends BaseModel {
protected $table = 'contact'; protected $table = 'contact';
protected $primaryKey = 'ContactID'; protected $primaryKey = 'ContactID';
protected $allowedFields = ['NameFirst', 'NameLast', 'Title', 'Initial', 'Birthdate', 'EmailAddress1', 'EmailAddress2', 'Phone', 'MobilePhone1', 'MobilePhone2', 'Specialty', 'SubSpecialty', 'CreateDate', 'EndDate']; protected $allowedFields = ['NameFirst', 'NameLast', 'Title', 'Initial', 'Birthdate', 'EmailAddress1', 'EmailAddress2', 'Phone', 'MobilePhone1', 'MobilePhone2', 'Specialty', 'SubSpecialty', 'CreateDate', 'EndDate'];

View File

@ -1,8 +1,9 @@
<?php <?php
namespace App\Models\Contact;
namespace App\Models; use App\Models\BaseModel;
class OccupationModel extends BaseUtcModel { class OccupationModel extends BaseModel {
protected $table = 'occupation'; protected $table = 'occupation';
protected $primaryKey = 'OccupationID'; protected $primaryKey = 'OccupationID';
protected $allowedFields = ['OccCode', 'OccText', 'Description']; protected $allowedFields = ['OccCode', 'OccText', 'Description'];

View File

@ -2,7 +2,7 @@
namespace App\Models; namespace App\Models;
class CounterModel extends BaseUtcModel { class CounterModel extends BaseModel {
protected $table = 'counter'; protected $table = 'counter';
protected $primaryKey = 'CounterID'; protected $primaryKey = 'CounterID';
protected $allowedFields = ['CounterValue', 'CounterStart', 'CounterEnd', 'CounterReset']; protected $allowedFields = ['CounterValue', 'CounterStart', 'CounterEnd', 'CounterReset'];

View File

@ -4,7 +4,7 @@ namespace App\Models;
use App\Models\CounterModel; use App\Models\CounterModel;
class PatVisitModel extends BaseUtcModel { class PatVisitModel extends BaseModel {
protected $table = 'patvisit'; protected $table = 'patvisit';
protected $primaryKey = 'InternalPVID'; protected $primaryKey = 'InternalPVID';
protected $allowedFields = ['PVID', 'InternalPID', 'EpisodeID', 'CreateDate', 'EndDate']; protected $allowedFields = ['PVID', 'InternalPID', 'EpisodeID', 'CreateDate', 'EndDate'];

View File

@ -3,7 +3,7 @@ namespace App\Models;
use CodeIgniter\Database\RawSql; use CodeIgniter\Database\RawSql;
class PatientModel extends BaseUtcModel { class PatientModel extends BaseModel {
protected $table = 'patient'; protected $table = 'patient';
protected $primaryKey = 'InternalPID'; protected $primaryKey = 'InternalPID';
protected $allowedFields = ['PatientID', 'AlternatePID', 'Prefix', 'NameFirst', 'NameMiddle', 'NameMaiden', 'NameLast', 'Suffix', 'NameAlias', 'Gender', 'Birthdate', 'PlaceOfBirth', 'Street_1', 'Street_2', 'Street_3', protected $allowedFields = ['PatientID', 'AlternatePID', 'Prefix', 'NameFirst', 'NameMiddle', 'NameMaiden', 'NameLast', 'Suffix', 'NameAlias', 'Gender', 'Birthdate', 'PlaceOfBirth', 'Street_1', 'Street_2', 'Street_3',

View File

@ -3,7 +3,7 @@ namespace App\Models\Specimen;
use App\Models\BaseUtcModel; use App\Models\BaseUtcModel;
class ContainerDefModel extends BaseUtcModel { class ContainerDefModel extends BaseModel {
protected $table = 'containerdef'; protected $table = 'containerdef';
protected $primaryKey = 'ConDefID'; protected $primaryKey = 'ConDefID';
protected $allowedFields = ['SiteID', 'ConCode', 'ConName', 'ConDesc', 'Additive', 'ConClass', 'Color', 'CreateDate', 'EndDate']; protected $allowedFields = ['SiteID', 'ConCode', 'ConName', 'ConDesc', 'Additive', 'ConClass', 'Color', 'CreateDate', 'EndDate'];

View File

@ -4,7 +4,7 @@ namespace App\Models\ValueSet;
use App\Models\BaseUtcModel; use App\Models\BaseUtcModel;
class ValueSetDefModel extends BaseUtcModel { class ValueSetDefModel extends BaseModel {
protected $table = 'valuesetdef'; protected $table = 'valuesetdef';
protected $primaryKey = 'VSetID'; protected $primaryKey = 'VSetID';
protected $allowedFields = ['SiteID', 'VSName', 'VSDesc', 'CreateDate', 'EndDate']; protected $allowedFields = ['SiteID', 'VSName', 'VSDesc', 'CreateDate', 'EndDate'];

View File

@ -2,9 +2,9 @@
namespace App\Models\ValueSet; namespace App\Models\ValueSet;
use App\Models\BaseUtcModel; use App\Models\BaseModel;
class ValueSetModel extends BaseUtcModel { class ValueSetModel extends BaseModel {
protected $table = 'valueset'; protected $table = 'valueset';
protected $primaryKey = 'VID'; protected $primaryKey = 'VID';
protected $allowedFields = ['SiteID', 'VSetID', 'VOrder', 'VValue', 'VDesc', 'VCategory', 'CreateDate', 'EndDate']; protected $allowedFields = ['SiteID', 'VSetID', 'VOrder', 'VValue', 'VDesc', 'VCategory', 'CreateDate', 'EndDate'];
@ -44,4 +44,10 @@ class ValueSetModel extends BaseUtcModel {
return $rows; return $rows;
} }
public function getValueSetByValueSetDef($VSetID) {
$rows = $this->where('VSetID', (int) $VSetID)->findAll();
return $rows;
}
} }