public function act_orderWeighingFlat()
 {
     $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : "";
     $mailway = isset($_POST['channelId']) ? $_POST['channelId'] : "";
     //$partionId   = isset($_POST['partionId'])?$_POST['partionId']:"";//不作处理
     $orderweight = isset($_POST['orderweight']) ? $_POST['orderweight'] : "";
     if (!is_numeric($orderid) || empty($orderid)) {
         self::$errCode = 501;
         self::$errMsg = "错误的发货单号!";
         return false;
     }
     $where = "where id={$orderid}";
     $lists = orderWeighingModel::selectRecord($where);
     $calcweight = $lists[0]['calcWeight'] * 1000;
     //估算重量
     $userName = $_SESSION['userCnName'];
     /**重量拦截的逻辑**/
     $vip_users = C('weight_vip');
     //获取具有VIP权限的
     $lists = orderWeighingModel::selectOrderDetail($orderid);
     if (!in_array($userName, $vip_users)) {
         //判断是否具有vip操作权限
         $minRate = 0.8;
         $maxRate = 1.2;
     } else {
         $minRate = 0.5;
         $maxRate = 2;
     }
     if ($calcweight < 50 && $orderweight < 50) {
         if (abs($orderweight - $calcweight) >= 20) {
             self::$errCode = 509;
             self::$errMsg = "该订单重量与实际不符合!系统重量为{$calcweight}称重重量为{$orderweight}";
             return false;
         }
     } else {
         if (($orderweight < $calcweight * $minRate || $orderweight > $calcweight * $maxRate) && $calcweight != 0) {
             self::$errCode = 510;
             self::$errMsg = "该订单重量与实际不符合!系统重量为{$calcweight}称重重量为{$orderweight}";
             return false;
         }
     }
     TransactionBaseModel::begin();
     //更新状态,插入记录
     $userId = $_SESSION['userId'];
     $msg = orderWeighingModel::insertRecord($orderid, $userId);
     if (!$msg) {
         self::$errCode = 511;
         self::$errMsg = "插入称重记录失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     $msg = orderWeighingModel::updateRecord($orderid, $orderweight, $userId);
     if (!$msg) {
         self::$errCode = 512;
         self::$errMsg = "更新操作记录表失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     //更新发货单实际重量和状态
     $orderData = array('orderWeight' => $orderweight, 'orderStatus' => PKS_WDISTRICT);
     $msg = WhShippingOrderModel::update($orderData, $orderid);
     //orderWeighingModel::updateStatus($orderid);
     if (!$msg) {
         self::$errCode = 513;
         self::$errMsg = "更新发货单重量和状态失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     //插入运输方式跟踪号申请记录表
     $transportData = array('shipOrderId' => $orderid, 'createTime' => time());
     $msg = WhWaveOrderTransportModel::insert($transportData);
     if (!$msg) {
         self::$errCode = 514;
         self::$errMsg = "插入运输方式跟踪号记录表失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     WhPushModel::pushOrderStatus($orderid, 'PKS_WDISTRICT', $userId, time());
     //状态推送
     TransactionBaseModel::commit();
     return true;
 }
        if ($transport['fee'] < $shipFee) {
            $shipFee = $transport['fee'];
            $lastTransport = $transport;
        }
    }
    //运费最优策略,暂时只有EUB
    $bestTransport = getBestTransport($compareTrasprot, $lastTransport);
    $shipFee = $bestTransport['fee'];
    $transportId = $bestTransport['carrierId'];
    $channelId = $bestTransport['channelId'];
    $insertData = array('transportId' => $transportId, 'status' => 1, 'transportTime' => time());
    //启用事物
    WhWaveOrderTransportModel::begin();
    //更新申请记录表
    if (!WhWaveOrderTransportModel::update($insertData, ' shipOrderId = ' . $shipOrderId . ' AND status=0')) {
        $log .= "发货单:{$shipOrderId} 更新运输方式-{$transportId}记录表失败\n";
        WhWaveOrderTransportModel::rollback();
        continue;
    }
    //更新发货单表
    $shipOrderData = array('transportId' => $transportId, 'actualShipping' => $shipFee, 'channelId' => $channelId);
    if (!WhShippingOrderModel::update($shipOrderData, $shipOrderId)) {
        $log .= "发货单:{$shipOrderId} 更新运输方式-{$transportId},运费-{$shipFee}发货单表失败\n";
        WhWaveOrderTransportModel::rollback();
        continue;
    }
    $log .= "发货单:{$shipOrderId} 更新运输方式 - {$transportId},运费 - {$shipFee}记录表成功\n";
    WhWaveOrderTransportModel::commit();
}
//写日志
write_log("transport_assign/" . date('Y-m') . "/" . date('H') . ".txt", $log);
}
//限制
$limit = !empty($argv[1]) ? trim($argv[1]) : 100;
$mctime = time();
$time_start = time();
echo "\n=====[" . date('Y-m-d H:i:s', $time_start) . "]申请【EUB】跟踪号订单开始\n";
$path = str_replace("\\", '/', __DIR__);
//脚本绝对路径
require_once $path . '/scripts.comm.php';
date_default_timezone_set("Asia/Chongqing");
$wsdl = "http://shippingapi.ebay.cn/production/v3/orderservice.asmx?wsdl";
//$wsdl	= "http://epacketws.pushauction.net/v3/orderservice.asmx?wsdl"; //测试沙盒
$soapclient = new soapclient($wsdl);
//ebay账户的eub线上申请跟踪号,1为ebay平台,14为海外仓发货
$where = ' AND a.platformId in(1,14) AND a.transportId = 6';
$shipOrders = WhWaveOrderTransportModel::getOrderTransportRecords($limit, 1, $where);
if (!$shipOrders) {
    echo "没有待申请的信息记录\n";
    exit;
}
//批量获取订单详细信息
$orderids = array();
foreach ($shipOrders as $orderinfo) {
    $orderids[] = WhShippingOrderRelationModel::get_orderId($orderinfo['id']);
}
$orderisStr = implode("','", $orderids);
//调用订单系统接口批量获取订单信息
$orders = CommonModel::get_orderInfoFromOrderSys($orderisStr);
$orders = $orders['data'];
if (empty($orders)) {
    exit('未获取申请跟踪号的订单详细信息');