FHM09062601IBL - saveorder: simpan tests ke order_detail_order + create table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1096,8 +1096,47 @@ class Registrationv3 extends MY_Controller
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
//echo $last_id;
|
//echo $last_id;
|
||||||
|
// Simpan item order ke order_detail_order
|
||||||
|
$tests = isset($prm['tests']) && is_array($prm['tests']) ? $prm['tests'] : [];
|
||||||
|
foreach ($tests as $t) {
|
||||||
|
$is_packet = ($t['is_packet'] ?? 'N') === 'Y' ? 'Y' : 'N';
|
||||||
|
$packet_type = $t['type'] ?? 'PX';
|
||||||
|
$packet_id = $is_packet === 'Y' ? intval($t['pxid'] ?? 0) : 0;
|
||||||
|
$packet_name = $is_packet === 'Y' ? ($t['test_name'] ?? '') : '';
|
||||||
|
$test_id = $is_packet === 'Y' ? 0 : intval($t['pxid'] ?? 0);
|
||||||
|
$test_name = $is_packet === 'Y' ? '' : ($t['test_name'] ?? '');
|
||||||
|
$test_sas = $t['pxsascode'] ?? '';
|
||||||
|
$child_json = isset($t['child_test']) ? json_encode($t['child_test']) : null;
|
||||||
|
$ss_pm_id = isset($t['ss_price_mou_id']) && $t['ss_price_mou_id'] ? intval($t['ss_price_mou_id']) : null;
|
||||||
|
|
||||||
|
$this->db_oneklinik->query(
|
||||||
|
"INSERT INTO one_klinik.order_detail_order
|
||||||
|
(orderDetailOrderOrderID, orderDetailOrderSsPriceMouID,
|
||||||
|
orderDetailOrderT_TestID, orderDetailOrderT_TestName, orderDetailOrderT_TestSasCode,
|
||||||
|
orderDetailOrderIsPacket, orderDetailOrderPacketType,
|
||||||
|
orderDetailOrderT_PacketID, orderDetailOrderT_PacketName,
|
||||||
|
orderDetailOrderT_PriceAmount, orderDetailOrderT_PriceDisc,
|
||||||
|
orderDetailOrderT_PriceDiscRp, orderDetailOrderT_PriceSubTotal,
|
||||||
|
orderDetailOrderT_PriceTotal, orderDetailOrderJsonChildren,
|
||||||
|
orderDetailOrderUserID)
|
||||||
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
|
||||||
|
[
|
||||||
|
$last_id, $ss_pm_id,
|
||||||
|
$test_id, $test_name, $test_sas,
|
||||||
|
$is_packet, $packet_type,
|
||||||
|
$packet_id, $packet_name,
|
||||||
|
floatval($t['bruto'] ?? 0),
|
||||||
|
floatval($t['discountpersen'] ?? 0),
|
||||||
|
floatval($t['discountrp'] ?? 0),
|
||||||
|
floatval($t['total'] ?? 0),
|
||||||
|
floatval($t['total'] ?? 0),
|
||||||
|
$child_json,
|
||||||
|
$userid
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "SELECT * FROM one_klinik.`order` WHERE orderID = {$last_id}";
|
$sql = "SELECT * FROM one_klinik.`order` WHERE orderID = {$last_id}";
|
||||||
//echo $sql;
|
|
||||||
$data_order = $this->db_oneklinik->query($sql)->row_array();
|
$data_order = $this->db_oneklinik->query($sql)->row_array();
|
||||||
if ($queueID != "0" && trim($queueNumber) != "") {
|
if ($queueID != "0" && trim($queueNumber) != "") {
|
||||||
$this->done_today_by_queue_number($queueNumber, $queueID);
|
$this->done_today_by_queue_number($queueNumber, $queueID);
|
||||||
|
|||||||
26
sql/manual_changes/2026-06-12-create-order-detail-order.sql
Normal file
26
sql/manual_changes/2026-06-12-create-order-detail-order.sql
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-- Tabel item order klinik, setara one_lab.t_orderdetailorder
|
||||||
|
CREATE TABLE `one_klinik`.`order_detail_order` (
|
||||||
|
`orderDetailOrderID` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`orderDetailOrderOrderID` int(11) NOT NULL DEFAULT 0 COMMENT 'ref one_klinik.order.orderID',
|
||||||
|
`orderDetailOrderSsPriceMouID` int(11) DEFAULT NULL COMMENT 'ref one_lab.ss_price_mou.Ss_PriceMouID (no FK)',
|
||||||
|
`orderDetailOrderT_TestID` int(11) NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderT_TestName` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
`orderDetailOrderT_TestSasCode` varchar(25) NOT NULL DEFAULT '',
|
||||||
|
`orderDetailOrderIsPacket` char(1) NOT NULL DEFAULT 'N',
|
||||||
|
`orderDetailOrderPacketType` varchar(5) NOT NULL DEFAULT 'PX',
|
||||||
|
`orderDetailOrderT_PacketID` int(11) NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderT_PacketName` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
`orderDetailOrderT_PriceAmount` double NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderT_PriceDisc` double NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderT_PriceDiscRp` double NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderT_PriceSubTotal` double NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderT_PriceTotal` double NOT NULL DEFAULT 0,
|
||||||
|
`orderDetailOrderJsonChildren` longtext DEFAULT NULL,
|
||||||
|
`orderDetailOrderIsActive` char(1) NOT NULL DEFAULT 'Y',
|
||||||
|
`orderDetailOrderUserID` int(11) DEFAULT NULL,
|
||||||
|
`orderDetailOrderCreated` datetime NOT NULL DEFAULT current_timestamp(),
|
||||||
|
`orderDetailOrderLastUpdated` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||||
|
PRIMARY KEY (`orderDetailOrderID`),
|
||||||
|
KEY `orderDetailOrderOrderID` (`orderDetailOrderOrderID`),
|
||||||
|
KEY `orderDetailOrderIsActive` (`orderDetailOrderIsActive`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
Reference in New Issue
Block a user