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"]; $val_note = ""; if (isset($p["validation_note"])) $val_note = $p["validation_note"]; if ($validation == "Y") { $ret = $this->update_delivery($deliveryOrderID,$detailID,"$result","VALIDATION",$note); if ($ret) $ret = $this->update_order($detailID,$result,$normalValueID,$val_note); } 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_RefDeliveryOrderDetailT_OrderDetailID , T_RefDeliveryOrderDetailID, T_RefDeliveryOrderChildID, T_RefDeliveryOrderDetailT_WorklistRefConfirmDetailID from t_ref_deliveryorder_child join t_ref_deliveryorder_detail on T_RefDeliveryOrderChildT_RefDeliveryOrderDetailID = T_RefDeliveryOrderDetailID where T_RefDeliveryOrderDetailT_RefDeliveryOrderID = ? and T_RefDeliveryOrderChildT_OrderDetailID = ?"; $qry = $this->db->query($sql, array($deliveryOrderID, $detailID)); $flag_child = false; $child_id = 0; $refDeliveryOrderDetailID = 0; if ($qry) { $rows = $qry->result_array(); if (count($rows) > 0 ) { $flag_child = true; $child_id = $rows[0]["T_RefDeliveryOrderChildID"]; $parentDetailID = $rows[0]["T_RefDeliveryOrderDetailID"]; $confirmDetailID = $rows[0]["T_RefDeliveryOrderDetailT_WorklistRefConfirmDetailID"]; } } if ($note == "Ditolak") { $sql = "UPDATE t_worklist_ref_confirmdetail SET T_WorklistRefConfirmDetailIsDeliveryOrder = 'X' WHERE `T_WorklistRefConfirmDetailT_OrderDetailID` = ? AND `T_WorklistRefConfirmDetailID` = ?"; $qry = $this->db->query($sql, array($detailID,$confirmDetailID)); echo "HERE : $qry"; } if ($flag_child) { $sql = "update t_ref_deliveryorder_child set T_RefDeliveryOrderChildResult = ?, T_RefDeliveryOrderChildStage= ? , T_RefDeliveryOrderChildNote = ? where T_RefDeliveryOrderChildID=?"; $qry = $this->db->query($sql, array($value, $state, $note, $child_id)); $value = "..."; $detailID = $parentDetailID; } if ($flag_child) { $sql = "update t_ref_deliveryorder_detail set T_RefDeliveryOrderDetailResult = ?, T_RefDeliveryOrderDetailStage = ?, T_RefDeliveryOrderDetailNote = ? where T_RefDeliveryOrderDetailT_RefDeliveryOrderID = ? and T_RefDeliveryOrderDetailID = ?"; } else { $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, $valNote) { $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); $sql = "select T_OrderDetailT_OrderHeaderID from t_orderdetail where T_OrderDetailID = ?"; $qry = $this->db->query($sql,array($detailID)); if ($qry) { $rows = $qry->result_array(); if (count($rows) > 0 ) { $orderHeaderID = $rows[0]["T_OrderDetailT_OrderHeaderID"]; $sql = "update t_orderheaderaddon set T_OrderHeaderAddOnValidationNote = ? where T_OrderHeaderAddOnT_OrderHeaderID = ? "; $this->db->query($sql,array($valNote,$orderHeaderID)); } } } return $qry; } }