Batch 6a: application controllers base
This commit is contained in:
269
application/controllers/tools/futureorderfixv2/Sender.php
Normal file
269
application/controllers/tools/futureorderfixv2/Sender.php
Normal file
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
|
||||
class Sender extends MY_Controller
|
||||
{
|
||||
var $db_smartone;
|
||||
public function index()
|
||||
{
|
||||
echo "Doctor API";
|
||||
}
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_smartone = $this->load->database("onedev", true);
|
||||
}
|
||||
function _add_address(&$doc) {
|
||||
if (count($doc) == "0") {
|
||||
return;
|
||||
}
|
||||
$doc_ids = "-1";
|
||||
foreach($doc as $idx => $d ) {
|
||||
$doc_ids .= "," . $d["M_DoctorID"];
|
||||
$doc[$idx]["address"] = array();
|
||||
}
|
||||
$sql = "select M_DoctorAddressID,M_DoctorAddressM_DoctorID,
|
||||
M_DoctorAddressDesc
|
||||
from
|
||||
m_doctoraddress
|
||||
where
|
||||
M_DoctorAddressM_DoctorID in ( $doc_ids )
|
||||
and M_DoctorAddressIsActive = 'Y'";
|
||||
$query = $this->db_smartone->query($sql);
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
foreach($rows as $r) {
|
||||
$doctorID= $r["M_DoctorAddressM_DoctorID"];
|
||||
foreach($doc as $idx => $d) {
|
||||
if($d["M_DoctorID"] == $doctorID) {
|
||||
$doc[$idx]["address"][] = $r;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->sys_error_db("m_doctoraddress ", $this->db_smartone);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
public function search_pj() {
|
||||
//sipe : M_DoctorPjIsDefault diganti ke M_DoctorPjIsDefaultPJ
|
||||
$sql = "select M_DoctorID,
|
||||
CONCAT(M_DoctorPrefix, M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix, M_DoctorSufix2, M_DoctorSufix3) M_DoctorName,
|
||||
M_DoctorPjIsDefaultPj M_DoctorIsDefaultPJ
|
||||
from m_doctor
|
||||
join m_doctorpj on M_DoctorPJM_DoctorID = M_DoctorID and M_DoctorPjIsactive = 'Y'
|
||||
and M_DoctorPjIsPJ = 'Y'
|
||||
where M_DoctorIsActive = 'Y' and
|
||||
( M_DoctorPJID is not null ) ";
|
||||
$query = $this->db_smartone->query($sql, array("%$search%"));
|
||||
$rows = $query->result_array();
|
||||
$result = array("total" => count($rows) , "records" => $rows);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
public function get_doctoraddress() {
|
||||
|
||||
$prm = $this->sys_input;
|
||||
$id = $prm['id'];
|
||||
$sql = "select M_DoctorAddressID,
|
||||
M_DoctorAddressM_DoctorID,
|
||||
M_DoctorAddressNote,
|
||||
M_DoctorAddressDescription,
|
||||
CONCAT(M_DoctorAddressDescription, ' :',M_DoctorAddressNote) as description
|
||||
from
|
||||
m_doctoraddress
|
||||
where
|
||||
M_DoctorAddressM_DoctorID = $id
|
||||
and M_DoctorAddressIsActive = 'Y'
|
||||
ORDER BY M_DoctorAddressDeliveryDefault DESC";
|
||||
$query = $this->db_smartone->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$result = array("total" => count($rows) , "records" => $rows);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
public function get_queueid() {
|
||||
|
||||
$prm = $this->sys_input;
|
||||
$id = $prm['id'];
|
||||
$sql = "select queueID as id FROM antrione.queue
|
||||
WHERE queueServiceID = 7 AND queueNumber = '{$id}'";
|
||||
$query = $this->db_smartone->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$result = array("total" => count($rows) , "records" => $rows);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
public function search()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count =0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
// QUERY TOTAL
|
||||
|
||||
$sql = "select M_DoctorID, M_DoctorIsDefault, IF(M_DoctorPJID IS NULL, 'Y', 'N') M_DoctorIsPJ,
|
||||
CONCAT('[ ',M_DoctorCode,' ] ',M_DoctorPrefix, M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix, M_DoctorSufix2, M_DoctorSufix3) as M_DoctorName, fn_fo_delivery_code('DOCTOR', 'EMAIL', 0) as delivery_email_code,
|
||||
IF(M_DoctorEmail IS NULL OR M_DoctorEmail = '', 'N', M_DoctorEmailIsDefault) email_default,
|
||||
IFNULL( concat('[', group_concat(JSON_OBJECT('description',M_DoctorAddressNote,'M_DoctorAddressNote',M_DoctorAddressNote,'M_DoctorAddressDescription', M_DoctorAddressDescription, 'M_DoctorAddressID', M_DoctorAddressID, 'delivery_default', M_DoctorAddressDeliveryDefault, 'delivery_code', fn_fo_delivery_code('DOCTOR', 'ADDRESS', M_DoctorAddressID)) SEPARATOR ','), ']'), '[]') as address,
|
||||
M_DoctorNote
|
||||
from m_doctor
|
||||
join m_doctoraddress on M_DoctorAddressIsActive = 'Y'
|
||||
and M_DoctorAddressM_DoctorID = M_DoctorID
|
||||
left join m_doctorpj on M_DoctorPJM_DoctorID = M_DoctorID and M_DoctorPjIsactive = 'Y'
|
||||
where M_DoctorIsActive = 'Y'
|
||||
and CONCAT('[ ',M_DoctorCode,' ] ',M_DoctorPrefix, M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix, M_DoctorSufix2, M_DoctorSufix3) like ?
|
||||
group by M_DoctorID
|
||||
limit 30";
|
||||
|
||||
|
||||
|
||||
$query = $this->db_smartone->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
|
||||
foreach ($rows as $k => $v){
|
||||
$rows[$k]['address'] = json_decode($v['address']);
|
||||
foreach($rows[$k]['address'] as $k_a => $v_a){
|
||||
$rows[$k]['address'][$k_a]->description = $rows[$k]['address'][$k_a]->M_DoctorAddressNote." : ".$rows[$k]['address'][$k_a]->M_DoctorAddressDescription;
|
||||
}
|
||||
}
|
||||
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_doctor rows",$this->db_smartone);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
public function search_()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
$search = $prm["search"];
|
||||
|
||||
$sql = "select count(*) total
|
||||
from
|
||||
m_doctor
|
||||
join (
|
||||
select distinct M_DoctorAddressM_DoctorID
|
||||
from m_doctoraddress
|
||||
where M_DoctorAddressIsActive = 'Y'
|
||||
) ma on M_DoctorID = M_DoctorAddressM_DoctorID
|
||||
where M_DoctorIsActive = 'Y' and M_DoctorName like ? ";
|
||||
$query = $this->db_smartone->query($sql, array("%$search%"));
|
||||
$tot_count =0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->sys_error_db("m_patient count", $this->db_smartone);
|
||||
exit;
|
||||
}
|
||||
$sql = "select M_DoctorID,M_DoctorName
|
||||
from
|
||||
m_doctor
|
||||
join (
|
||||
select distinct M_DoctorAddressM_DoctorID
|
||||
from m_doctoraddress
|
||||
where M_DoctorAddressIsActive = 'Y'
|
||||
) ma on M_DoctorID = M_DoctorAddressM_DoctorID
|
||||
where M_DoctorIsActive = 'Y' and M_DoctorName like ?
|
||||
limit 0,10";
|
||||
$query = $this->db_smartone->query($sql, array("%$search%"));
|
||||
$rows = $query->result_array();
|
||||
$this->_add_address($rows);
|
||||
$result = array("total" => $tot_count, "records" => $rows);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
public function save()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
$prm = $prm['data'];
|
||||
|
||||
$q = [
|
||||
'name' => isset($prm['name']) ? $prm['name'] : '',
|
||||
'prefix1' => isset($prm['prefix1']) ? $prm['prefix1'] : '',
|
||||
'prefix2' => isset($prm['prefix2']) ? $prm['prefix2'] : '',
|
||||
'sufix1' => isset($prm['sufix1']) ? $prm['sufix1'] : '',
|
||||
'sufix2' => isset($prm['sufix2']) ? $prm['sufix2'] : '',
|
||||
'sufix3' => isset($prm['sufix3']) ? $prm['sufix3'] : '',
|
||||
'sex' => isset($prm['sex']) ? $prm['sex'] : '0',
|
||||
'hp' => isset($prm['hp']) ? $prm['hp'] : '',
|
||||
'note' => isset($prm['note']) ? $prm['note'] : '',
|
||||
'address' => isset($prm['address']) ? $prm['address'] : '',
|
||||
'province' => isset($prm['province']) ? $prm['province'] : '',
|
||||
'city' => isset($prm['city']) ? $prm['city'] : '',
|
||||
'district' => isset($prm['district']) ? $prm['district'] : '',
|
||||
'village' => isset($prm['village']) ? $prm['village'] : ''
|
||||
];
|
||||
|
||||
$sql = "INSERT INTO m_doctor(M_DoctorPrefix,
|
||||
M_DoctorPrefix2,
|
||||
M_DoctorName,
|
||||
M_DoctorSufix,
|
||||
M_DoctorSufix2,
|
||||
M_DoctorSufix3,
|
||||
M_DoctorM_SexID,
|
||||
M_DoctorHP,
|
||||
M_DoctorNote)
|
||||
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
$query = $this->db_smartone->query($sql, [$q['prefix1'], $q['prefix2'], $q['name'], $q['sufix1'], $q['sufix2'], $q['sufix3'], $q['sex'], $q['hp'], $q['note']]);
|
||||
|
||||
if ($query)
|
||||
{
|
||||
$id = $this->db_smartone->insert_id();
|
||||
|
||||
$sql = "INSERT INTO m_doctoraddress(M_DoctorAddressM_DoctorID,
|
||||
M_DoctorAddressNote,
|
||||
M_DoctorAddressDescription,
|
||||
M_DoctorAddressM_KelurahanID)
|
||||
VALUES(?, 'Utama', ?, ?)";
|
||||
$query = $this->db_smartone->query($sql, [$id, $q['address'], $q['village']]);
|
||||
|
||||
if ($query)
|
||||
{
|
||||
$result = $this->get_one($id);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$this->sys_error_db("DOCTOR SAVE", $this->db_smartone);
|
||||
}
|
||||
|
||||
private function get_one($id)
|
||||
{
|
||||
$sql = "SELECT M_DoctorID, M_DoctorIsDefault, 'N' M_DoctorIsPJ,
|
||||
fn_global_doctor_name(M_DoctorID) as M_DoctorName, M_DoctorName M_DoctorRealName,
|
||||
IFNULL( concat('[', group_concat(JSON_OBJECT('M_DoctorAddressNote',M_DoctorAddressNote,'M_DoctorAddressDescription', M_DoctorAddressDescription, 'M_DoctorAddressID', M_DoctorAddressID) SEPARATOR ','), ']'), '[]') as address
|
||||
FROM m_doctor
|
||||
LEFT JOIN m_doctoraddress ON M_DoctorAddressM_DoctorID = M_DoctorID AND M_DoctorAddressIsActive = 'Y'
|
||||
WHERE M_DoctorID = ?";
|
||||
$query = $this->db_smartone->query($sql, $id);
|
||||
|
||||
if ($query)
|
||||
{
|
||||
$row = $query->result_array();
|
||||
foreach ($row as $k => $v)
|
||||
$row[$k]['address'] = json_decode($v['address']);
|
||||
|
||||
$result = array("total" => 1, "records" => $row, "total_display" => 1);
|
||||
return $result;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user