header("Content-type: text/html; charset=utf-8");
date_default_timezone_set('Asia/Shanghai');
require_once '/data/web/tran.valsun.cn/crontab/config.php';
require_once SCRIPT_PATH . "framework.php";
Core::getInstance();
$numberList = array();
//跟踪号列表
$page = isset($argv[1]) ? abs(intval($argv[1])) : 1;
//页码
$pagenum = isset($argv[2]) ? abs(intval($argv[2])) : 2000;
//每页多少条
$carrierId = isset($argv[3]) ? abs(intval($argv[3])) : "";
//运输方式ID
$where = isset($argv[4]) ? $argv[4] : "scanTime>=" . strtotime("-3 day" . ' 00:00:01') . " AND toMarkTime = 0";
//跟踪号状态
$numberList = TransOpenApiModel::getTrackNumberList($page, $pagenum, $carrierId, $where);
//获取符合条件的跟踪号列表
$total = count($numberList);
echo $total . "条数据处理开始,时间" . date('Y-m-d H:i:s', time()) . "\n\n";
if ($total > 0) {
    $data = array();
    $idArr = array();
    $nums = 100;
    $pages = 1;
    $id = 0;
    foreach ($numberList as $v) {
        $idArr[] = $v['orderSn'];
    }
    $pages = ceil(count($idArr) / $nums);
    for ($i = 1; $i <= $pages; $i++) {
        for ($j = 0; $j < $nums; $j++) {
$carrierId = isset($argv[3]) ? abs(intval($argv[3])) : "";
//运输方式ID
$where = isset($argv[4]) ? $argv[4] : "";
//跟踪号状态
$hours = isset($argv[5]) ? $argv[5] : 0;
//最近几个小时内数据
$countrys = TransOpenApiModel::getCountriesStandard("ALL");
$nodes = TransOpenApiModel::getTrackNodeList(61);
print_r($nodes);
if (empty($nodes)) {
    exit("未设置运德物流预警节点,暂没法分析数据!\n");
}
foreach ($countrys as $c) {
    $country = $c['countryNameEn'];
    $postion = empty($where) ? "toCountry = '{$country}'" : $where . " AND toCountry = '{$country}'";
    $numberList = TransOpenApiModel::getTrackNumberList($page, $pagenum, $carrierId, $postion, $hours, 'DESC');
    //获取符合条件的跟踪号列表
    $total = count($numberList);
    echo date('Y-m-d H:i:s', time()) . "===" . $c['countryNameEn'] . "===" . $total . "条数据分析开始!" . "\n\n";
    //得到原始数据
    foreach ($numberList as $v) {
        $timestr = date('Y-m-d H:i:s', time());
        $times = $v['scanTime'];
        $details = TrackWarnInfoModel::listTrackNumberInfo($carrierId, $v['trackNumber']);
        $details = json_decode($details, true);
        foreach ($details as $detail) {
            foreach ($nodes as $node) {
                if (strpos($detail['event'], $node['nodeName']) !== false) {
                    $trackTime = strtotime($detail['trackTime']);
                    if ($trackTime !== false) {
                        $aging = $trackTime - $times;