now() and T_OrderHeaderIsActive = 'Y' and T_OrderSampleT_SampleTypeID = 259 ) join t_sampletype on T_OrderSampleT_SampleTypeID = T_SampleTypeID order by T_OrderHeaderID,T_OrderSampleT_SampleTypeID"; $qry = $this->db->query($sql); if (!$qry) { echo "ERR : " . $this->db->error()["message"] . "|" . $this->db->last_query(); exit; } $rows = $qry->result_array(); $order_122 = array_filter( $rows, function ($r) { return $r["T_OrderSampleT_SampleTypeID"] == 122; } ); $dup_order = []; foreach ($order_122 as $r) { $dup_order[] = $r["T_OrderHeaderID"]; } $dup_rows = array_filter($rows, function ($r) use ($dup_order, $order_122) { if ($r["T_OrderSampleT_SampleTypeID"] != 259) return false; if (in_array($r["T_OrderHeaderID"], $dup_order)) { return true; } return false; }); $dup_rows = array_map(function ($r) use ($order_122) { $result = $r; foreach ($order_122 as $r2) { if ($r["T_OrderHeaderID"] == $r2["T_OrderHeaderID"]) { $result["OrgT_OrderSampleID"] = $r2["T_OrderSampleID"]; $result["OrgT_OrderSampleReceiveDate"] = $r2["T_OrderSampleReceiveDate"]; $result["OrgT_OrderSampleReceiveTime"] = $r2["T_OrderSampleReceiveTime"]; } } return $result; }, $dup_rows); $this->header(); usort($dup_rows, function ($a, $b) { return $a["T_OrderHeaderID"] - $b["T_OrderHeaderID"]; }); $total_diff = 0; foreach ($dup_rows as $r) { $sampling_date = $r["T_OrderSampleReceiveDate"] . " " . $r["T_OrderSampleReceiveTime"]; $org_sampling_date = $r["OrgT_OrderSampleReceiveDate"] . " " . $r["OrgT_OrderSampleReceiveTime"]; if ($sampling_date != "" && $sampling_date > $org_sampling_date) { $total_diff++; } } echo " Total : $total_diff dari " . count($dup_rows) . "  ($day hari terakhir) \n"; foreach ($dup_rows as $r) { $this->detail($r); } echo ""; } function do_ubah($targetID, $sourceID) { //harus di null kan dulu $sql = "update t_ordersample set T_OrderSampleReceiveDate = NULL, T_OrderSampleReceiveTime = NULL, T_OrderSampleReceive = 'N' where T_OrderSampleID = $targetID "; $qry = $this->db->query($sql); if (!$qry) { echo "ERR : " . $this->db->error()["message"] . "|" . $this->db->last_query(); exit; } $sql = "update t_ordersample target, t_ordersample source set target.T_OrderSampleSampling = source.T_OrderSampleSampling, target.T_OrderSampleSamplingDate = source.T_OrderSampleSamplingDate, target.T_OrderSampleSamplingTime = source.T_OrderSampleSamplingTime, target.T_OrderSampleSamplingUserID = source.T_OrderSampleSamplingUserID, target.T_OrderSampleReceive = source.T_OrderSampleReceive, target.T_OrderSampleReceiveDate = source.T_OrderSampleReceiveDate, target.T_OrderSampleReceiveTime = source.T_OrderSampleReceiveTime, target.T_OrderSampleReceiveUserID = source.T_OrderSampleReceiveUserID where target.T_OrderSampleID = $targetID and source.T_OrderSampleID = $sourceID and $targetID > $sourceID and source.T_OrderSampleSampling = 'Y' and source.T_OrderSampleReceive = 'Y' "; $qry = $this->db->query($sql); if (!$qry) { echo "ERR : " . $this->db->error()["message"] . "|" . $this->db->last_query(); exit; } echo "Sampling Time Updated."; echo ""; } function detail($r) { $sampling_date = $r["T_OrderSampleReceiveDate"] . " " . $r["T_OrderSampleReceiveTime"]; $org_sampling_date = $r["OrgT_OrderSampleReceiveDate"] . " " . $r["OrgT_OrderSampleReceiveTime"]; echo ""; echo "" . $r["T_OrderHeaderLabNumber"] . ""; echo " $sampling_date "; if ($sampling_date > $org_sampling_date) { $url_ubah = "window.location.href='./do_ubah/" . $r["T_OrderSampleID"] . "/" . $r["OrgT_OrderSampleID"] . "'"; echo "