db = $this->load->database("onedev", true); } function index() { echo "API"; } function update() { $prm = $this->sys_input; foreach($prm as $p) { $deliveryOrderID = $p["incomingRefT_RefDeliveryOrderID"]; $detailID = $p["incomingRefDetailT_OrderDetailID"]; $normalValueID = $p["T_OrderDetailNat_NormalValueID"]; $result = $p["T_OrderDetailResult"]; $validation = $p["T_OrderDetailValidation"]; $verification = $p["T_OrderDetailVerification"]; $status = $p["incomingRefDetailStatus"]; $note = ''; if (isset($p["note"])) $note = $p["note"]; if ($validation == "Y") { $ret = $this->update_delivery($deliveryOrderID,$detailID,"$result","VALIDATION",$note); if ($ret) $ret = $this->update_order($detailID,$result,$normalValueID); } elseif($verification == "Y") { $ret = $this->update_delivery($deliveryOrderID,$detailID,"$result","VERIFICATION",$note); } elseif($status != "N") { $ret = $this->update_delivery($deliveryOrderID,$detailID,"Diterima"); } else { $ret = $this->update_delivery($deliveryOrderID,$detailID,"Ditolak"); } if (! $ret ) { echo json_encode( array("status"=>"ERR", "message"=> print_r($this->db->error(),true) )); exit; } } echo json_encode( array("status"=>"OK", "message"=>"")); } function update_delivery($deliveryOrderID,$detailID,$value,$stage = "", $note = "" ) { $sql = "select T_RefDeliveryOrderChildT_RefDeliveryOrderDetailID from t_ref_deliveryorder_child where T_RefDeliveryOrderChildT_RefDeliveryOrderID = ? and T_RefDeliveryOrderChildT_OrderDetailID = ?"; $qry = $this->db->querY($sql, array($deliveryOrderID, $detailID)); $flag_child = false; if ($qry) { $rows = $qry->result_array(); if (count($rows) > 0 ) { $flag_child = true; $child_id = $rows[0]["T_RefDeliveryOrderChildT_RefDeliveryOrderDetailID"]; } } if ($flag_child) { $detailID = $child_id; $sql = "update t_ref_deliveryorder_child set T_RefDeliveryOrderChildResult = ?, where T_RefDeliveryOrderChildT_RefDeliveryOrderID = ? and T_RefDeliveryOrderChildT_OrderDetailID = ?"; $qry = $this->db->query($sql, array($value, $deliveryOrderID, $detailID)); $value = "..."; } $sql = "update t_ref_deliveryorder_detail set T_RefDeliveryOrderDetailResult = ?, T_RefDeliveryOrderDetailStage = ?, T_RefDeliveryOrderDetailNote = ? where T_RefDeliveryOrderDetailT_RefDeliveryOrderID = ? and T_RefDeliveryOrderDetailT_OrderDetailID = ?"; $qry = $this->db->query($sql, array($value, $stage, $note, $deliveryOrderID, $detailID)); return $qry; } function update_order($detailID,$value,$normalValueID) { $verUserID = 3; $sql = "update t_orderdetail set T_OrderDetailResult = ?, T_OrderDetailNat_NormalValueID = ?, T_OrderDetailVerification = 'Y', T_OrderDetailVerDate = now(), T_OrderDetailVerUserID = $verUserID where T_OrderDetailID = ?"; $qry = $this->db->query($sql, array($value, $normalValueID, $detailID)); if ( $qry) { $sql = "update t_orderdetail, nat_normalvalue, nat_methode set T_OrderDetailNat_MethodeID = Nat_NormalValueNat_MethodeID , T_OrderDetailNat_MethodeName = Nat_MethodeName, T_OrderDetailNormalValueNote = Nat_NormalValueNote, T_OrderDetailNormalValueDescription = Nat_NormalValueDescription, T_OrderDetailMinValue = Nat_NormalValueMinValue, T_OrderDetailMaxValue = Nat_NormalValueMaxValue, T_OrderDetailMinValueInclusive = Nat_NormalValueMinValueInclusive, T_OrderDetailMaxValueInclusive = Nat_NormalValueMaxValueInclusive where T_OrderDetailID = ? and T_OrderDetailNat_NormalValueID = Nat_NormalValueID and Nat_NormalValueNat_MethodeID = Nat_MethodeID"; $qryn = $this->db->query($sql, array($detailID)); //if (! $qryn ) print_r($this->db->error()); if (! $qryn ) return false; $sql = "call sp_set_normal_value_flag(?)"; $qryu = $this->db->query($sql, array($detailID)); //if (! $qryu ) print_r($this->db->error()); if (! $qryu ) return false; $this->clean_mysqli_connection($this->db->conn_id); } return $qry; } }