|
@@ -2417,8 +2417,12 @@ class ocean_order {
|
|
|
"date"=>$est_delivery_date,
|
|
"date"=>$est_delivery_date,
|
|
|
"country"=>$location_code,
|
|
"country"=>$location_code,
|
|
|
"timezone"=>$_delivery['timezone']);
|
|
"timezone"=>$_delivery['timezone']);
|
|
|
|
|
+ $originalArray = $EDIDate['containerStatusData'][$cskey]['content'];
|
|
|
|
|
+ //$this->insertInDescendingOrder($originalArray, $contentTemp);
|
|
|
|
|
+ array_unshift($originalArray, $contentTemp);
|
|
|
|
|
+ //排序后重新赋值
|
|
|
|
|
+ $EDIDate['containerStatusData'][$cskey]['content'] = $originalArray;
|
|
|
|
|
|
|
|
- $EDIDate['containerStatusData'][$cskey]['content'][] = $contentTemp;
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//添加simplexData的delivery
|
|
//添加simplexData的delivery
|
|
@@ -2813,5 +2817,31 @@ class ocean_order {
|
|
|
}
|
|
}
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private function insertInDescendingOrder(&$array, $newItem) {
|
|
|
|
|
+ // 标准化并解析新项的日期
|
|
|
|
|
+ $newDateStr = preg_replace('/\s+/', ' ', trim($newItem['date']));
|
|
|
|
|
+ $newTimestamp = strtotime($newDateStr);
|
|
|
|
|
+ if ($newTimestamp === false) {
|
|
|
|
|
+ // 无效日期,可选择丢弃或抛异常
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 遍历已排序数组(倒序:最新 → 最旧)
|
|
|
|
|
+ for ($i = 0; $i < count($array); $i++) {
|
|
|
|
|
+ $existingDateStr = preg_replace('/\s+/', ' ', trim($array[$i]['date']));
|
|
|
|
|
+ $existingTimestamp = strtotime($existingDateStr);
|
|
|
|
|
+
|
|
|
|
|
+ // 如果新项比当前项更新(时间戳更大),就插在这里
|
|
|
|
|
+ if ($newTimestamp > $existingTimestamp) {
|
|
|
|
|
+ array_splice($array, $i, 0, [$newItem]);
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 如果没找到更旧的位置,说明新项是最旧的,插到末尾
|
|
|
|
|
+ $array[] = $newItem;
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
?>
|
|
?>
|