till discipline

This commit is contained in:
mahdahar 2025-12-02 07:09:24 +07:00
parent 09717bb081
commit 1755105af1
10 changed files with 212 additions and 155 deletions

View File

@ -93,12 +93,6 @@ $routes->post('/api/counter', 'Counter::create');
$routes->patch('/api/counter', 'Counter::update'); $routes->patch('/api/counter', 'Counter::update');
$routes->delete('/api/counter', 'Counter::delete'); $routes->delete('/api/counter', 'Counter::delete');
$routes->get('/api/containerdef/', 'Specimen\ContainerDef::index');
$routes->get('/api/containerdef/(:num)', 'Specimen\ContainerDef::show/$1');
$routes->post('/api/containerdef', 'Specimen\ContainerDef::create');
$routes->patch('/api/containerdef', 'Specimen\ContainerDef::update');
$routes->delete('/api/containerdef', 'Specimen\ContainerDef::delete');
$routes->get('/api/areageo', 'AreaGeo::index'); $routes->get('/api/areageo', 'AreaGeo::index');
$routes->get('/api/areageo/provinces', 'AreaGeo::getProvinces'); $routes->get('/api/areageo/provinces', 'AreaGeo::getProvinces');
$routes->get('/api/areageo/cities', 'AreaGeo::getCities'); $routes->get('/api/areageo/cities', 'AreaGeo::getCities');
@ -136,25 +130,25 @@ $routes->patch('/api/organization/workstation', 'Organization\Workstation::updat
$routes->delete('/api/organization/workstation', 'Organization\Workstation::delete'); $routes->delete('/api/organization/workstation', 'Organization\Workstation::delete');
$routes->group('api/specimen', function($routes) { $routes->group('api/specimen', function($routes) {
$routes->get('/containerdef/(:num)', 'Specimen\ContainerDef::show/$1'); $routes->get('containerdef/(:num)', 'Specimen\ContainerDef::show/$1');
$routes->post('/containerdef', 'Specimen\ContainerDef::create'); $routes->post('containerdef', 'Specimen\ContainerDef::create');
$routes->patch('/containerdef', 'Specimen\ContainerDef::update'); $routes->patch('containerdef', 'Specimen\ContainerDef::update');
$routes->get('/containerdef', 'Specimen\ContainerDef::index'); $routes->get('containerdef', 'Specimen\ContainerDef::index');
$routes->get('/prep/(:num)', 'Specimen\Prep::show/$1'); $routes->get('prep/(:num)', 'Specimen\Prep::show/$1');
$routes->post('/prep', 'Specimen\Prep::create'); $routes->post('prep', 'Specimen\Prep::create');
$routes->patch('/prep', 'Specimen\Prep::update'); $routes->patch('prep', 'Specimen\Prep::update');
$routes->get('/prep', 'Specimen\Prep::index'); $routes->get('prep', 'Specimen\Prep::index');
$routes->get('/status/(:num)', 'Specimen\Status::show/$1'); $routes->get('status/(:num)', 'Specimen\Status::show/$1');
$routes->post('/status', 'Specimen\Status::create'); $routes->post('status', 'Specimen\Status::create');
$routes->patch('/status', 'Specimen\Status::update'); $routes->patch('status', 'Specimen\Status::update');
$routes->get('/status', 'Specimen\Status::index'); $routes->get('status', 'Specimen\Status::index');
$routes->get('/collection/(:num)', 'Specimen\Collection::show/$1'); $routes->get('collection/(:num)', 'Specimen\Collection::show/$1');
$routes->post('/collection', 'Specimen\Collection::create'); $routes->post('collection', 'Specimen\Collection::create');
$routes->patch('/collection', 'Specimen\Collection::update'); $routes->patch('collection', 'Specimen\Collection::update');
$routes->get('/collection', 'Specimen\Collection::index'); $routes->get('collection', 'Specimen\Collection::index');
$routes->get('(:num)', 'Specimen\Specimen::show/$1'); $routes->get('(:num)', 'Specimen\Specimen::show/$1');
$routes->post('', 'Specimen\Specimen::create'); $routes->post('', 'Specimen\Specimen::create');

View File

@ -18,8 +18,12 @@ class Account extends BaseController {
} }
public function index() { public function index() {
//$rows = $this->model->findAll(); $filter = [
$rows = $this->model->getAccounts(); 'Parent' => $this->request->getVar('Parent'),
'AccountName' => $this->request->getVar('AccountName'),
];
$rows = $this->model->getAccounts($filter);
if (empty($rows)) { if (empty($rows)) {
return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200);

View File

@ -18,7 +18,11 @@ class Discipline extends BaseController {
} }
public function index() { public function index() {
$rows = $this->model->findAll(); $filter = [
'DisciplineCode' => $this->request->getVar('DisciplineCode'),
'DisciplineName' => $this->request->getVar('DisciplineName'),
];
$rows = $this->model->getDisciplines($filter);
if (empty($rows)) { if (empty($rows)) {
return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200);

View File

@ -18,16 +18,19 @@ class Site extends BaseController {
} }
public function index() { public function index() {
//$rows = $this->model->findAll(); $filter = [
$rows = $this->model->getSites(); 'SiteCode' => $this->request->getVar('SiteCode'),
'SiteName' => $this->request->getVar('SiteName'),
];
$rows = $this->model->getSites($filter);
if (empty($rows)) { if (empty($rows)) {
return $this->respond([ 'status' => 'success', 'message' => "no Data.", 'data' => [] ], 200); return $this->respond([ 'status' => 'success', 'message' => "no Data.", '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 show($SiteID = null) { public function show($SiteID = null) {
//$rows = $this->model->where('SiteID', $SiteID)->findAll(); //$rows = $this->model->where('SiteID', $SiteID)->findAll();
$rows = $this->model->getSite($SiteID); $rows = $this->model->getSite($SiteID);

View File

@ -24,7 +24,11 @@ class ContainerDef extends BaseController {
public function index() { public function index() {
try { try {
$rows = $this->model->findAll(); $filter = [
'ConCode' => $this->request->getVar('ConCode'),
'ConName' => $this->request->getVar('ConName')
];
$rows = $this->model->getContainers($filter);
return $this->respond([ 'status' => 'success', 'message'=> "data fetched successfully", 'data' => $rows ], 200); return $this->respond([ 'status' => 'success', 'message'=> "data fetched successfully", 'data' => $rows ], 200);
} catch (\Exception $e) { } catch (\Exception $e) {
return $this->failServerError('Exception : '.$e->getMessage()); return $this->failServerError('Exception : '.$e->getMessage());

View File

@ -47,7 +47,7 @@ class ValueSetDef extends BaseController {
public function update() { public function update() {
$input = $this->request->getJSON(true); $input = $this->request->getJSON(true);
$VSetID = $input["VID"]; $VSetID = $input["VSetID"];
if (!$VSetID) { return $this->failValidationErrors('VSetID is required.'); } if (!$VSetID) { return $this->failValidationErrors('VSetID is required.'); }
if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); } if (!$this->validateData($input, $this->rules)) { return $this->failValidationErrors( $this->validator->getErrors() ); }
try { try {

View File

@ -15,20 +15,29 @@ class AccountModel extends BaseModel {
protected $useSoftDeletes = true; protected $useSoftDeletes = true;
protected $deletedField = 'EndDate'; protected $deletedField = 'EndDate';
public function getAccounts() { public function getAccounts($filter=[]) {
$rows = $this->select('account.AccountID, account.AccountName, account.Parent, pa.AccountName as ParentName, account.AreaCode, zones.ZoneName as AreaName') $builder = $this->select('account.AccountID, account.AccountName, account.Parent, pa.AccountName as ParentName, account.Initial')
->join('account pa', 'pa.AccountID=account.Parent', 'left') ->join('account pa', 'pa.AccountID=account.Parent', 'left');
->join('zones', 'zones.zonecode=account.AreaCode', 'left')
->findAll(); if (!empty($filter['Parent'])) {
$builder->where('account.Parent', $filter['Parent']);
}
if (!empty($filter['AccountName'])) {
$builder->like('account.AccountName', $filter['AccountName'], 'both');
}
$rows = $builder->findAll();
return $rows; return $rows;
} }
public function getAccount($AccountID) { public function getAccount($AccountID) {
$rows = $this->select('account.*, pa.AccountName as ParentName, zones.ZoneName as AreaName, city.ZoneName as CityName, prov.ZoneName as ProvName, country.VValue as CountryName') $rows = $this->select('account.*, pa.AccountName as ParentName, areageo.AreaName, areageo.AreaGeoID,
city.AreaName as CityName, city.AreaGeoID as City, prov.AreaName as ProvName, prov.AreaGeoID as Prov,
country.VValue as CountryName, country.VID as country')
->join('account pa', 'pa.AccountID=account.Parent', 'left') ->join('account pa', 'pa.AccountID=account.Parent', 'left')
->join('zones', 'zones.zonecode=account.AreaCode', 'left') ->join('areageo', 'areageo.AreaCode=account.AreaCode', 'left')
->join('zones city', 'city.zoneid=account.City', 'left') ->join('areageo city', 'city.AreaGeoID=account.City', 'left')
->join('zones prov', 'prov.zoneid=account.Province', 'left') ->join('areageo prov', 'prov.AreaGeoID=account.Province', 'left')
->join('valueset country', 'country.VID=account.Country', 'left') ->join('valueset country', 'country.VID=account.Country', 'left')
->where('account.AccountID', $AccountID) ->where('account.AccountID', $AccountID)
->findAll(); ->findAll();

View File

@ -13,4 +13,17 @@ class DisciplineModel extends BaseModel {
protected $useSoftDeletes = true; protected $useSoftDeletes = true;
protected $deletedField = 'EndDate'; protected $deletedField = 'EndDate';
public function getDisciplines($filter) {
$builder = $this->select('*');
if (!empty($filter['DisciplineCode'])) {
$builder->like('DisciplineCode', $filter['DisciplineCode'], 'both');
}
if (!empty($filter['DisciplineName'])) {
$builder->like('DisciplineName', $filter['DisciplineName'], 'both');
}
$rows = $builder->findAll();
return $rows;
}
} }

View File

@ -14,11 +14,20 @@ class SiteModel extends BaseModel {
protected $useSoftDeletes = true; protected $useSoftDeletes = true;
protected $deletedField = 'EndDate'; protected $deletedField = 'EndDate';
public function getSites() { public function getSites($filter) {
$rows = $this->select('site.SiteID, site.SiteCode, site.SiteName, s1.SiteName as ParentName, account.AccountName') $builder = $this->select('site.SiteID, site.SiteCode, site.SiteName, s1.SiteName as ParentName, account.AccountName')
->join('account', 'account.AccountID=site.AccountID', 'left') ->join('account', 'account.AccountID=site.AccountID', 'left')
->join('site s1', 's1.SiteID=site.Parent', 'left') ->join('site s1', 's1.SiteID=site.Parent', 'left');
->findAll();
if (!empty($filter['SiteCode'])) {
$builder->like('site.SiteCode', $filter['SiteCode'], 'both');
}
if (!empty($filter['SiteName'])) {
$builder->like('site.SiteName', $filter['SiteName'], 'both');
}
$rows = $builder->findAll();
return $rows; return $rows;
} }

View File

@ -15,6 +15,23 @@ class ContainerDefModel extends BaseModel {
protected $deletedField = 'EndDate'; protected $deletedField = 'EndDate';
public function getContainers($filter = []) {
$builder = $this->select('containerdef.*, vscol.VValue as ColorTxt, vscla.VValue as ConClassTxt, vsadd.VValue as AdditiveTxt')
->join('valueset vscol', 'vscol.VID=containerdef.Color', 'left')
->join('valueset vscla', 'vscla.VID=containerdef.ConClass', 'left')
->join('valueset vsadd', 'vsadd.VID=containerdef.Additive', 'left');
if (!empty($filter['ConCode'])) {
$builder->like('containerdef.ConCode', $filter['ConCode'], 'both');
}
if (!empty($filter['ConName'])) {
$builder->like('containerdef.ConName', $filter['ConName'], 'both');
}
$rows = $builder->findAll();
return $rows;
}
public function getContainer($ConDefID) { public function getContainer($ConDefID) {
$rows = $this->select('containerdef.*, vscol.VValue as ColorTxt, vscla.VValue as ConClassTxt, vsadd.VValue as AdditiveTxt') $rows = $this->select('containerdef.*, vscol.VValue as ColorTxt, vscla.VValue as ConClassTxt, vsadd.VValue as AdditiveTxt')
->join('valueset vscol', 'vscol.VID=containerdef.Color', 'left') ->join('valueset vscol', 'vscol.VID=containerdef.Color', 'left')