Пример #1
0
function calctrueshippingfee2($carrier, $totalweight, $countryname, $orderid)
{
    //根据运输方式,订单总重量,运去的国家,和订单ID,计算打折后的运费 (中国邮政平邮,中国邮政挂号,EUB,EMS)
    //add by Herman.Xi 2012-09-14
    switch ($carrier) {
        case '中国邮政平邮':
            $ordershipfee = calcchinapostpy($totalweight, $countryname);
            break;
        case '中国邮政挂号':
            $ordershipfee = calcchinapostgh($totalweight, $countryname);
            break;
        case 'EUB':
            $ordershipfee = calceub($totalweight, $countryname);
            break;
        case 'EMS':
            $ordershipfee = calcems($totalweight, $countryname);
            break;
        case '香港小包平邮':
        case '香港小包挂号':
        case 'FedEx':
        case 'DHL':
        case 'Global Mail':
            $ordershipfee = calctrueshippingfee($carrier, $totalweight, $countryname, $orderid);
            break;
        default:
            $ordershipfee = 0;
    }
    return round($ordershipfee, 3);
}
Пример #2
0
 /**
  * 海外仓销售报表数据导出,未开发完成
  */
 public function act_ebayOversea()
 {
     $user = $_SESSION['userName'];
     $objPHPExcel = new PHPExcel();
     $sendreplacement = array('1' => '补寄全部', '2' => '补寄主体', '3' => '补寄配件');
     $ebay_splitorder_logs = array('0' => '拆分 订单', '1' => '复制 订单', '2' => '异常 订单', '3' => '合并 包裹', '4' => '邮局退回补寄', '5' => '自动部分包货拆分', '7' => '同步异常订单');
     $MAILWAYCONFIG = array(0 => 'EUB', 1 => '深圳', 2 => '福州', 3 => '三泰', 4 => '泉州', 5 => '义乌', 6 => '福建', 7 => '中外联', 8 => 'GM', 9 => '香港', 10 => '快递');
     $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("office 2007 openxml php")->setCategory("Test result file");
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '日期');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1', 'ebay store');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1', '交易号');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D1', '客户ID');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('E1', '仓位号');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('F1', '料号');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('G1', '数量');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('H1', '国家');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('I1', '产品价格');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('J1', 'ebay运费');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('K1', '包裹总价值');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('L1', '币种');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('M1', '包装员');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('N1', '挂号条码');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('O1', '是/否');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('P1', '重量');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('Q1', '邮费');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('R1', '运输方式');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('S1', '订单编号');
     /* 王民伟 2012-04-18*/
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('T1', '产品货本');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('U1', '交易ID');
     /*---end Tt Uu Vv Ww Xx*/
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('V1', 'ItemID');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('W1', '是否复制订单');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('X1', '是否补寄');
     //add by Herman.Xi 2012-09-13
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('Y1', '是否拆分订单');
     //add by Herman.Xi 2012-09-14
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('Z1', '包材');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('AA1', '包材费用');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('AB1', '是否组合料号');
     //add by Herman.Xi 2012-12-17
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('AC1', '发货分区');
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('AD1', '是否邮局退回后补寄');
     //add by Herman.Xi 2013-03-09
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('AE1', 'PayPal邮箱');
     //add by Herman.Xi 2013-03-09
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('AF1', '采购');
     //add by chenwei 2013-09-07
     $start = strtotime($_REQUEST['start']);
     $end = strtotime($_REQUEST['end']);
     //echo $start."||".$end;exit;
     $account = $_REQUEST['account'];
     $tjstr = '';
     if ($account != '') {
         $account = explode("#", $account);
         for ($i = 0; $i < count($account); $i++) {
             $a0 = $account[$i];
             if ($a0 != '') {
                 $tjstr .= " a.accountId = '" . $a0 . "' or ";
             }
         }
     }
     $packinglists = GoodsModel::getMaterInfo();
     //需要调产品中心的接口才可以使用。
     $packings = array();
     foreach ($packinglists as $packinglist) {
         //$packings[$packinglist['id']] = $packinglist['pmCost'];
         $packings[$packinglist['pmAlias']] = $packinglist['pmCost'];
     }
     unset($packinglists);
     $tjstr = substr($tjstr, 0, strlen($tjstr) - 3);
     //$ret = OrderInfoModel::getShipOrderList($start,$end,$tjstr);
     $ret = WarehouseAPIModel::getAbOrderList();
     $a = 2;
     for ($i = 0; $i < count($shipData); $i++) {
         $ordersn = $ret[$i]['ebay_ordersn'];
         $paidtime = @date('Y-m-d', $ret[$i]['ebay_paidtime']);
         $ebay_usermail = $ret[$i]['ebay_usermail'];
         $ebay_userid = $ret[$i]['ebay_userid'];
         $name = @html_entity_decode($ret[$i]['ebay_username'], ENT_QUOTES, 'UTF-8');
         $street1 = @$ret[$i]['ebay_street'];
         $street2 = @$ret[$i]['ebay_street1'];
         $city = $ret[$i]['ebay_city'];
         $state = $ret[$i]['ebay_state'];
         $countryname = $ret[$i]['ebay_countryname'];
         //客服部小霞提出 导出列 国家 显示英文 方便退款处理
         //$cnname				= $country[$countryname];
         $cnname = $countryname;
         $zip = $ret[$i]['ebay_postcode'];
         $tel = $ret[$i]['ebay_phone'];
         $ebay_shipfee = $ret[$i]['ebay_shipfee'];
         $ebay_note = $ret[$i]['ebay_note'];
         $ebay_total = @round($ret[$i]['ebay_total'], 2);
         $ebay_tracknumber = @$ret[$i]['ebay_tracknumber'];
         $ebay_account = @$ret[$i]['ebay_account'];
         $recordnumber0 = @$ret[$i]['recordnumber'];
         $ebay_carrier = @$ret[$i]['ebay_carrier'];
         $ebay_phone = $ret[$i]['ebay_phone'];
         $ebay_currency = $ret[$i]['ebay_currency'];
         $packinguser = $ret[$i]['packagingstaff'];
         $ordershipfee = $ret[$i]['ordershipfee'];
         $ebay_id = $ret[$i]['ebay_id'];
         $ebay_ptid = $ret[$i]['ebay_ptid'];
         $ebay_pp = $ret[$i]['PayPalEmailAddress'];
         $ebay_noteb = $ret[$i]['ebay_noteb'];
         //=='复制 订单' ? $ret[$i]['ebay_noteb'] : ''
         $is_sendreplacement = $ret[$i]['is_sendreplacement'];
         $is_main_order = $ret[$i]['is_main_order'];
         $mailway = $ret[$i]['mailway'];
         $address = $street1 . "\n" . $street2 . "\n" . $city . "\n" . $state . "\n" . $zip . "\n" . $countryname;
         $scantime = date('Y-m-d', $sql[$i]['scantime']);
         //$calculate_weight			= $sql[$i]['orderweight'];   //计算重量
         $orderweight2 = number_format($sql[$i]['orderweight2'] / 1000, 3);
         //实际重量
         $totalweight = $orderweight2;
         $ordershipfee = round(calctrueshippingfee($ebay_carrier, $totalweight, $countryname, $ebay_id), 2);
         $ebay_noteb = $is_main_order == 2 ? '复制 订单' : ($is_main_order == 1 ? '被复制 订单' : '');
         $ebay_splitorder = judge_is_splitorder($ebay_id) == 1 ? '拆分 订单' : '';
         $ebay_combineorder = judge_contain_combinesku($ordersn) ? '组合 料号' : '';
         $splitorder_log = func_readlog_splitorder($ebay_id);
         $ebay_splitorder_log = '';
         if ($splitorder_log != false) {
             $ebay_splitorder_log = $ebay_splitorder_logs[$splitorder_log];
         }
         $is_sendreplacement = isset($sendreplacement[$is_sendreplacement]) ? $sendreplacement[$is_sendreplacement] : '';
         $sl = "select * from ebay_orderdetail where ebay_ordersn='{$ordersn}'";
         $sl = $dbcon->execute($sl);
         $sl = $dbcon->getResultArray($sl);
         if ($mailway === null) {
             $mailsql = "SELECT mailway FROM ebay_scan_mailway WHERE ebay_id={$sql[$i]['combine_package']}";
             $mailsql = $dbcon->execute($mailsql);
             $mailllist = $dbcon->getResultArray($mailsql);
             $mailway_c = !empty($mailllist[0]['mailway']) ? $MAILWAYCONFIG[$mailllist[0]['mailway']] . '合并包裹' : '';
         } else {
             $mailway_c = $MAILWAYCONFIG[$mailway];
         }
     }
 }
Пример #3
0
function auto_contrast_intercept($ebay_orders)
{
    //订单自动拦截完整版 支持虚拟料号
    //add Herman.Xi 2012-12-20
    /*
    * 订单进入系统首先判断 是否为超大订单,如果为超大订单,文件夹为640;
    * B2B 抓取超大订单自动进入 超大订单待确认 modified by Herman.Xi @ 2013.05.20
    * 判断订单下,料号是否全部有货,部分有货,全部没货:
         如果部分有货,判断其运输方式,如果为快递,文件夹为659;非快递则为660;(订单自动部分包货)
    	 如果全部没货,判断其运输方式,如果为快递,文件夹为658;非快递则为661;(订单自动拦截)
    	 如果全部有货:
    	 	先判断如果为组合订单,文件夹为606;
    		如果超重订单,文件夹为608;
    		如果快递订单,文件夹为639;
    		全部不满足则为导入状态
      自动拦截时,判断自动拦截快递,非快递,自动部分包货快递,非快递里面的订单,自动每隔十五分钟执行一次
      //支持 速卖通导入,敦煌导入,ebay线下导入,dresslink导入,快递导入,出口通导入
    */
    global $dbcon, $defaultstoreid, $SYSTEM_ACCOUNTS, $order_statistics, $__liquid_items_fenmocsku, $__liquid_items_SuperSpecific, $__liquid_items_postbyhkpost, $__liquid_items_cptohkpost, $__liquid_items_BuiltinBattery, $__liquid_items_Paste;
    $log_data = "";
    $express_delivery = array('UPS', 'DHL', 'TNT', 'EMS', 'FedEx');
    $no_express_delivery = array('中国邮政平邮', '中国邮政挂号', '香港小包平邮', '香港小包挂号', 'EUB', 'Global Mail');
    foreach ($ebay_orders as $ebay_order) {
        //$import_status = now_order_status_log($osn, false);
        $ebay_id = $ebay_order['ebay_id'];
        $ebay_status = $ebay_order['ebay_status'];
        //$ebay_orderid = $ebay_order['ebay_orderid'];
        $ebay_note = $ebay_order['ebay_note'];
        $order_sn = $ebay_order['ebay_ordersn'];
        $ebay_carrier = $ebay_order['ebay_carrier'];
        $ebay_countryname = $ebay_order['ebay_countryname'];
        $ebay_account = $ebay_order['ebay_account'];
        $ebay_username = $ebay_order['ebay_username'];
        $totalweight = $ebay_order['orderweight'];
        $ebay_total = $ebay_order['ebay_total'];
        $recal_weight = recalcorderweight($order_sn, $ebay_packingmaterial);
        //modified by Herman.Xi 2012-10-17
        if (empty($totalweight)) {
            //按照如果没有重量的即默认为
            $totalweight = $recal_weight;
        }
        $sql = "SELECT sku,ebay_amount FROM ebay_orderdetail WHERE ebay_ordersn='{$order_sn}'";
        $result = $dbcon->execute($sql);
        $orderdetaillist = $dbcon->getResultArray($result);
        $contain_special_item = false;
        $shippment_cptohkpost = false;
        foreach ($orderdetaillist as $orderdetail) {
            $sku_arr = get_realskuinfo($orderdetail['sku']);
            foreach ($sku_arr as $or_sku => $or_nums) {
                if (in_array($or_sku, $__liquid_items_fenmocsku) || in_array($or_sku, $__liquid_items_SuperSpecific)) {
                    //粉末状,超规格产品 走福建邮局
                    $contain_special_item = true;
                }
                if (in_array($or_sku, $__liquid_items_postbyhkpost) || in_array($or_sku, $__liquid_items_cptohkpost) || in_array($or_sku, $__liquid_items_BuiltinBattery) || in_array($or_sku, $__liquid_items_Paste)) {
                    //包含特殊料号,中国邮政转香港小包
                    $shippment_cptohkpost = true;
                }
            }
        }
        if (!empty($ebay_carrier)) {
            //$fees			    = calcshippingfee($totalweight,$ebay_countryname,$ebay_id,$ebay_account,$ebay_total);
            if ($shippment_cptohkpost && strpos($ebay_carrier, '中国邮政') !== false) {
                if (count($orderdetaillist) == 1) {
                    $ebay_carrier = '香港小包挂号';
                } else {
                    $ebay_carrier = '';
                    $aliexpress_ebay_noteb = "系统提示:包含特殊料号不走中国邮政,请重新选择运输方式或者拆包!";
                }
                //$fee			= $fees[1];
                //$totalweight	= $fees[2];
                $bb = "update ebay_order set ebay_carrier = '{$ebay_carrier}', orderweight ='{$totalweight}', packingtype ='{$ebay_packingmaterial}', ebay_noteb = '{$aliexpress_ebay_noteb}' where ebay_id ='{$ebay_id}' ";
            } else {
                //$ebay_carrier	= $fees[0];
                //$fee			= $fees[1];
                //$totalweight	= $fees[2];
                $shipfee = calctrueshippingfee($ebay_carrier, $totalweight, $ebay_countryname, $ebay_id);
                $bb = "update ebay_order set ebay_carrier = '{$ebay_carrier}', ordershipfee='{$shipfee}', orderweight ='{$totalweight}', packingtype ='{$ebay_packingmaterial}' where ebay_id ='{$ebay_id}' ";
            }
            $dbcon->execute($bb);
        }
        if ($contain_special_item) {
            $sql = "update ebay_order set ebay_carrierstyle ='1' where ebay_id ={$ebay_id}";
            //add by Herman.Xi 记录该订单含有特殊料号
            $dbcon->execute($sql);
            $log_data .= "[" . date("Y-m-d H:i:s") . "]\t包含粉末状超规格产品---{$ebay_id}---!\n\n";
        }
        $record_details = array();
        $is_640 = false;
        foreach ($orderdetaillist as $orderdetail) {
            $sku_arr = get_realskuinfo($orderdetail['sku']);
            $hava_goodscount = true;
            foreach ($sku_arr as $or_sku => $or_nums) {
                $allnums = $or_nums * $orderdetail['ebay_amount'];
                if (!check_sku($or_sku, $allnums, $ebay_id)) {
                    //超大订单状态
                    if (in_array($ebay_account, $SYSTEM_ACCOUNTS['aliexpress']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['B2B外单']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['DHgate']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['出口通']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['线下结算客户'])) {
                        $sql = "UPDATE ebay_order SET ebay_status='698' WHERE ebay_id ='{$ebay_id}' ";
                        $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---698!\n\n";
                    } else {
                        $sql = "UPDATE ebay_order SET ebay_status='640' WHERE ebay_id ='{$ebay_id}' ";
                        $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---640!\n\n";
                    }
                    $dbcon->execute($sql) or die("Fail : {$sql}");
                    //$order_statistics->replaceData($order_sn, array('mask'=>1), array('mask'=>1));
                    insert_mark_shipping($ebay_id);
                    write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
                    $is_640 = true;
                    break;
                } else {
                    $skuinfo = get_sku_info($or_sku);
                    $salensend = getsaleandnosendall($or_sku, $defaultstoreid);
                    $sql = "UPDATE ebay_sku_statistics SET salensend = {$salensend} WHERE sku = 'or_sku' ";
                    $dbcon->execute($sql);
                    $log_data .= "[" . date("Y-m-d H:i:s") . "]\t---{$sql}\n\n";
                    if ($skuinfo['realnums'] - $salensend < 0) {
                        $hava_goodscount = false;
                        break;
                    }
                }
            }
            if ($hava_goodscount) {
                $record_details[] = $orderdetail;
            }
        }
        if ($is_640) {
            continue;
        }
        $count_record_details = count($record_details);
        $count_orderdetaillist = count($orderdetaillist);
        $final_status = $ebay_status;
        if ($count_record_details == 0) {
            //更新至自动拦截发货状态
            if (!in_array($ebay_carrier, $no_express_delivery)) {
                $final_status = 658;
            } else {
                $final_status = 661;
            }
            $sql = "UPDATE ebay_order SET ebay_status='{$final_status}' WHERE ebay_id ='{$ebay_id}' ";
            $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---{$final_status}!\n\n";
            $dbcon->execute($sql) or die("Fail : {$sql}");
            //$order_statistics->replaceData($order_sn, array('mask'=>1), array('mask'=>1));
            insert_mark_shipping($ebay_id);
            write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
            continue;
        } else {
            if ($count_record_details < $count_orderdetaillist) {
                //更新至自动部分发货状态
                if (!in_array($ebay_carrier, $no_express_delivery)) {
                    //$final_status = 659;
                    $final_status = 640;
                    //modified by Herman.Xi @ 20130401
                } else {
                    $final_status = 660;
                }
                $sql = "UPDATE ebay_order SET ebay_status='{$final_status}' WHERE ebay_id ='{$ebay_id}' ";
                $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---{$final_status}!\n\n";
                $dbcon->execute($sql) or die("Fail : {$sql}");
                //$order_statistics->replaceData($order_sn, array('mask'=>1), array('mask'=>1));
                insert_mark_shipping($ebay_id);
                write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
                continue;
            } else {
                if ($count_record_details == $count_orderdetaillist) {
                    //正常发货状态
                    if (in_array($ebay_account, $SYSTEM_ACCOUNTS['ebay平台'])) {
                        if ($ebay_note != '') {
                            $final_status = 593;
                        } else {
                            $final_status = 1;
                        }
                    } else {
                        if (in_array($ebay_account, $SYSTEM_ACCOUNTS['海外销售平台'])) {
                            $final_status = 629;
                            //德国订单
                            $sql = "UPDATE ebay_order SET ebay_status='{$final_status}' WHERE ebay_id ='{$ebay_id}' ";
                            $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---{$final_status}!\n\n";
                            $dbcon->execute($sql) or die("Fail : {$sql}");
                            //$order_statistics->replaceData($order_sn, array('mask'=>1), array('mask'=>1));
                            write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
                            continue;
                        } else {
                            if (in_array($ebay_account, $SYSTEM_ACCOUNTS['aliexpress']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['B2B外单'])) {
                                if ($ebay_note != '') {
                                    $final_status = 593;
                                } else {
                                    $final_status = 595;
                                }
                                if (in_array($ebay_countryname, array('Russian Federation', 'Russia')) && strpos($ebay_carrier, '中国邮政') !== false && str_word_count($ebay_username) < 2) {
                                    $final_status = 683;
                                    $sql = "UPDATE ebay_order SET ebay_status='{$final_status}' WHERE ebay_id ='{$ebay_id}' ";
                                    $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---{$final_status}!\n\n";
                                    $dbcon->execute($sql) or die("Fail : {$sql}");
                                    //$order_statistics->replaceData($order_sn, array('mask'=>1), array('mask'=>1));
                                    write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
                                    continue;
                                }
                            } else {
                                if (in_array($ebay_account, $SYSTEM_ACCOUNTS['DHgate'])) {
                                    $final_status = 620;
                                } else {
                                    if (in_array($ebay_account, $SYSTEM_ACCOUNTS['dresslink'])) {
                                        $final_status = 1;
                                    } else {
                                        if (in_array($ebay_account, $SYSTEM_ACCOUNTS['cndirect'])) {
                                            $final_status = 1;
                                        } else {
                                            $final_status = 1;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (judge_contain_combinesku($order_sn)) {
                        $final_status = 606;
                    }
                    if ($totalweight > 2) {
                        $final_status = 608;
                    }
                    if (!in_array($ebay_carrier, $no_express_delivery)) {
                        if (in_array($ebay_account, $SYSTEM_ACCOUNTS['ebay平台']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['海外销售平台'])) {
                            $final_status = 641;
                            //ebay和海外都跳转到 待打印线下和异常订单
                        } else {
                            $final_status = 639;
                        }
                    }
                    $sql = "UPDATE ebay_order SET ebay_status='{$final_status}' WHERE ebay_id ='{$ebay_id}' ";
                    $log_data .= "[" . date("Y-m-d H:i:s") . "]\t自动跳转---{$ebay_id}---的状态为---{$final_status}!\n\n";
                    $dbcon->execute($sql) or die("Fail : {$sql}");
                    //$order_statistics->replaceData($order_sn, array('mask'=>1), array('mask'=>1));
                    write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
                } else {
                    $log_data .= "[" . date("Y-m-d H:i:s") . "]\t订单{$ebay_id同步状态有误,请联系IT解决!}";
                }
            }
        }
    }
    if (!empty($log_data)) {
        write_log('contrast_intercept_' . date("Ymd") . '/' . date("H") . '.txt', $log_data . "\n\n");
    }
}
Пример #4
0
function func_manually_split_orders($ebay_id, $other = array())
{
    /**
     * @author Herman.Xi (席慧超)
     * @version 1.0
     * add by Herman.Xi @ 20130224
     * 手动拆分订单函数
     */
    global $dbcon, $user;
    $split_log = "\r\n\r\n";
    $isend = false;
    if ($isend) {
        continue;
    }
    //如果是里面有拦截的不能自动拦截
    $sql = "select a.* from ebay_order as a where ebay_id = '{$ebay_id}' and ebay_combine != '1' and ebay_user = '******' ";
    $result = $dbcon->execute($sql);
    $corder = $dbcon->fetch_one($result);
    if (empty($corder)) {
        echo "目前系统无法找到订单 {$ebay_id} !";
    }
    $ebay_ordersn = $corder['ebay_ordersn'];
    $ebay_paystatus = $corder['ebay_paystatus'];
    $recordnumber = $corder['recordnumber'];
    $ebay_tid = $corder['ebay_tid'];
    $ebay_ptid = $corder['ebay_ptid'];
    $ebay_total0 = $corder['ebay_total'];
    $ebay_orderid = $corder['ebay_orderid'];
    $ebay_createdtime = $corder['ebay_createdtime'];
    $ebay_paidtime = $corder['ebay_paidtime'];
    //$ebay_user = $corder['ebay_user'];
    $ebay_userid = mysql_real_escape_string($corder['ebay_userid']);
    $ebay_username = addslashes($corder['ebay_username']);
    $ebay_usermail = addslashes($corder['ebay_usermail']);
    $ebay_street = addslashes($corder['ebay_street']);
    $ebay_street1 = addslashes($corder['ebay_street1']);
    $ebay_city = addslashes($corder['ebay_city']);
    $ebay_state = addslashes($corder['ebay_state']);
    $ebay_countryname = addslashes($corder['ebay_countryname']);
    $ebay_postcode = addslashes($corder['ebay_postcode']);
    $ebay_phone = $corder['ebay_phone'];
    $ebay_status = 655;
    $ebay_addtime = time();
    $ebay_shipfee = $corder['ebay_shipfee'];
    $ebay_tracknumber = $corder['ebay_tracknumber'];
    $ebay_account = $corder['ebay_account'];
    $ebay_note = mysql_real_escape_string($corder['ebay_note']);
    $ebay_carrier = $corder['ebay_carrier'];
    $ebay_warehouse = $corder['ebay_warehouse'];
    $ebay_currency = $corder['ebay_currency'];
    $ebay_phone1 = $corder['ebay_phone1'];
    $is_main_order = $corder['is_main_order'];
    $combine_package = $corder['combine_package'];
    $packingtype = $corder['packingtype'];
    $scantime = $corder['scantime'];
    $ebay_couny = $corder['ebay_couny'];
    $ebayorder_site = $corder['ebay_site'];
    $eBayPaymentStatus = $corder['eBayPaymentStatus'];
    $orderweight = $corder['orderweight'];
    if ($ebay_account == 'dresslink.com') {
        //支持dresslink.com
        $ebay_noteb = $corder['ebay_noteb'] . ' 拆分 订单';
    } else {
        $ebay_noteb = '拆分 订单';
    }
    if (in_array($ebay_carrier, array('UPS', 'DHL', 'TNT', 'EMS', 'FedEx'))) {
        echo "订单 {$ebay_id} 运输方式为快递,请确认该订单是否需要拆分!<br>";
        continue;
    }
    $order_statistics->deleteAll($ebay_ordersn);
    //删除statistics表中的记录
    if (empty($ebay_carrier)) {
        $fees = calcshippingfee($orderweight, $ebay_countryname, $ebay_id, $ebay_account, $corder['ebay_total']);
        $ebay_carrier = $fees[0];
    }
    $dbcon->free_result($result);
    $sql = "SELECT * FROM ebay_orderdetail as eo WHERE eo.ebay_ordersn = '{$ebay_ordersn}'";
    $result = $dbcon->execute($sql);
    $eo = $dbcon->getResultArray($result);
    $dbcon->free_result($result);
    $weightlists = array();
    $skuinfo = array();
    $goods_sn_nums = 0;
    $shippfee_arr = array();
    foreach ($eo as $k => $f) {
        $sku = $f['sku'];
        $ebay_amount = $f['ebay_amount'];
        $goods_sn_nums += $ebay_amount;
        if (strpos($sku, "#")) {
            $sku = str_replace("#", "", $sku);
        }
        $shippfee_arr[$sku] = round($f['shipingfee'] / $ebay_amount, 3);
        $sql = "select * from ebay_goods where goods_sn='{$sku}' and ebay_user ='******' ";
        $result = $dbcon->execute($sql);
        $eg = $dbcon->fetch_one($result);
        $dbcon->free_result($result);
        $ebay_packingmaterial = $eg['ebay_packingmaterial'];
        $goods_weight = $eg['goods_weight'];
        $capacity = $eg['capacity'];
        $sql = "select * from ebay_packingmaterial where  model='{$ebay_packingmaterial}' and ebay_user ='******' ";
        $result = $dbcon->execute($sql);
        $ep = $dbcon->fetch_one($result);
        $dbcon->free_result($result);
        $pweight = isset($ep['weight']) ? $ep['weight'] : 0;
        $skuinfo[$sku] = $f;
        for ($i = 1; $i <= $ebay_amount; $i++) {
            $var = $sku;
            if ($ebay_amount <= $capacity) {
                $ppweight = $pweight / $ebay_amount;
            } else {
                $ppweight = (1 + ($ebay_amount - $capacity) / $capacity * 0.6) * $pweight / $ebay_amount;
            }
            $weightlists[$var][] = $goods_weight + $ppweight;
        }
    }
    //echo $goods_sn_nums; echo "<br>";
    if ($goods_sn_nums <= 1) {
        continue;
    }
    $sql = "update ebay_order set ebay_combine = '1' where ebay_id = '{$ebay_id}' ";
    $split_log .= "更新被拆分的订单信息,设置为隐藏\r\n" . $sql . "\r\n";
    $dbcon->execute($sql) or die("Fail : {$sql}");
    //echo "<pre>"; print_r($skuinfo); echo "\r\n";
    //echo "<pre>"; print_r($weightlists); echo "\r\n";
    $keyarray = array();
    $keyarrays = array();
    $checkweight = 0;
    $arrinfo = get_order_productsweight($ebay_ordersn);
    $realweight = $arrinfo[0];
    $realcosts = $arrinfo[1];
    $itemprices = $arrinfo[2];
    /*foreach($weightlists AS $wk => $wv){
    		foreach($wv as $weightlist){
    			$checkweight += $weightlist;
    		}
    	}
    	echo $checkweight; echo "<br>"; exit;*/
    foreach ($weightlists as $wk => $wv) {
        foreach ($wv as $weightlist) {
            $checkweight += $weightlist;
            //$realweight += $weightlist;
            if ($checkweight > 1.85) {
                $keyarrays[] = $keyarray;
                $keyarray = array();
                $checkweight = $weightlist;
                $keyarray[$wk][] = $wk;
            } else {
                $keyarray[$wk][] = $wk;
            }
        }
    }
    if (!empty($keyarray)) {
        $keyarrays[] = $keyarray;
    }
    /*echo "<pre>"; print_r($keyarrays); echo "\r\n";
    	exit;*/
    foreach ($keyarrays as $keyarray) {
        $ebay_total = 0;
        $totalweight = 0;
        $insert_ebay_ids = array();
        foreach ($keyarray as $k => $kav) {
            $ebay_total += $skuinfo[$k]['ebay_itemprice'] * count($kav);
        }
        //echo $ebay_total; echo "\r\n";
        $shipfee = 0;
        $val = generateOrdersn();
        $sql = "insert into  ebay_order(ebay_ordersn,ebay_paystatus,recordnumber,ebay_tid,ebay_ptid,ebay_orderid,ebay_createdtime,ebay_paidtime,ebay_userid,ebay_username,ebay_usermail,ebay_street,ebay_street1,ebay_city,ebay_state,ebay_couny,ebay_countryname,ebay_postcode,ebay_phone,ebay_total,ebay_status,ebay_user,ebay_addtime,ebay_shipfee,ebay_account,ebay_note,ebay_noteb,ebay_carrier,ebay_warehouse,ebay_tracknumber,ebay_site,eBayPaymentStatus,ebay_currency,ordershipfee,scantime,orderweight,ebay_phone1,packingtype,is_main_order,combine_package) values('{$val}','{$ebay_paystatus}','{$recordnumber}','{$ebay_tid}','{$ebay_ptid}','{$ebay_orderid}','{$ebay_createdtime}','{$ebay_paidtime}','{$ebay_userid}','{$ebay_username}','{$ebay_usermail}','{$ebay_street}','{$ebay_street1}','{$ebay_city}','{$ebay_state}','{$ebay_couny}','{$ebay_countryname}','{$ebay_postcode}','{$ebay_phone}','{$ebay_total}','{$ebay_status}','{$user}','{$mctime}','{$ebay_shipfee}','{$ebay_account}','{$ebay_note}','{$ebay_noteb}','{$ebay_carrier}','{$ebay_warehouse}','{$ebay_tracknumber}','{$ebayorder_site}','{$eBayPaymentStatus}','{$ebay_currency}','{$shipfee}','{$scantime}','{$totalweight}','{$ebay_phone1}','{$packingtype}','{$is_main_order}','{$combine_package}')";
        //$split_log .= "添加拆分订单信息到订单列表中\r\n".$sql ."\r\n";
        if ($dbcon->execute($sql)) {
            $insert_ebay_id = $dbcon->insert_id();
            $insert_ebay_ids[] = $insert_ebay_id;
            mark_shipping($insert_ebay_id, $ebay_status);
            $sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, create_date) values ('{$recordnumber}', '{$ebay_id}', '{$insert_ebay_id}', '" . date("Y-m-d H:i:s") . "')";
            $split_log .= "添加主定单和拆分订单到关系表中\r\n" . $sql . "\r\n";
            $dbcon->execute($sql) or die("Fail : {$sql}");
            foreach ($keyarray as $k => $kav) {
                $ebay_itemid = $skuinfo[$k]['ebay_itemid'];
                $ebay_itemtitle = mysql_real_escape_string($skuinfo[$k]['ebay_itemtitle']);
                $ebay_shiptype = $skuinfo[$k]['ebay_shiptype'];
                $shipingfee = $skuinfo[$k]['shipingfee'];
                $ebay_itemurl = $skuinfo[$k]['ebay_itemurl'];
                $ebay_site = $skuinfo[$k]['ebay_site'];
                $storeid = $skuinfo[$k]['storeid'];
                $ListingType = $skuinfo[$k]['ListingType'];
                $ebaydetail_tid = $skuinfo[$k]['ebay_tid'];
                $FeeOrCreditAmount = $skuinfo[$k]['FeeOrCreditAmount'];
                $FinalValueFee = $skuinfo[$k]['FinalValueFee'];
                $attribute = $skuinfo[$k]['attribute'];
                $notes = $skuinfo[$k]['notes'];
                $sku = $k;
                $ebay_amount = count($kav);
                if ($ebay_account == 'dresslink.com') {
                    //支持dresslink.com
                    if (isset($shippfee_arr[$sku])) {
                        $shipingfee = $shippfee_arr[$sku] * $ebay_amount;
                        //相同料号运费拆分
                    }
                }
                $ebay_itemprice = $skuinfo[$k]['ebay_itemprice'];
                $goods_location = $skuinfo[$k]['goods_location'];
                $sql = "INSERT INTO `ebay_orderdetail` (`ebay_ordersn` ,`ebay_itemid` ,`ebay_itemtitle` ,`ebay_itemprice` ,";
                $sql .= "`ebay_amount` ,`ebay_createdtime` ,`ebay_shiptype` ,`ebay_user`,`sku`,`shipingfee`,`ebay_account`,`addtime`,`ebay_itemurl`,`ebay_site`,`recordnumber`,`storeid`,`ListingType`,`ebay_tid`,`FeeOrCreditAmount`,`FinalValueFee`,`attribute`,`notes`,`goods_location`)VALUES ('{$val}', '{$ebay_itemid}' , '{$ebay_itemtitle}' , '{$ebay_itemprice}' , '{$ebay_amount}'";
                $sql .= " , '{$mctime}' , '{$ebay_shiptype}' , '{$user}','{$sku}','{$shipingfee}','{$ebay_account}','{$mctime}','{$ebay_itemurl}','{$ebay_site}','{$recordnumber}','{$storeid}','{$ListingType}','{$ebaydetail_tid}','{$FeeOrCreditAmount}','{$FinalValueFee}','{$attribute}','{$notes}','{$goods_location}')";
                //$split_log .= "添加对应的产品orderdetail信息\r\n".$sql ."\r\n";
                $dbcon->execute($sql) or die("Fail : {$sql}");
            }
            $totalweight = recalcorderweight($val, $ebay_packingmaterial);
            if ($ebay_account == 'dresslink.com') {
                $ordershipfee = calctrueshippingfee($ebay_carrier, $totalweight, $ebay_countryname, $insert_ebay_id);
                $arrinfo2 = get_order_productsweight($val);
                $splitweight = $arrinfo2[0];
                $splitcosts = $arrinfo2[1];
                $splititemprices = $arrinfo2[2];
                $ebay_total2 = round($splititemprices / $itemprices * $ebay_total0, 2);
                //成本价比例拆分
                $ebay_shipfee2 = round($splitweight / $realweight * $ebay_shipfee, 3);
                //运费按重量拆分
                //echo $val."--------".$splititemprices."------------".$itemprices."<br>";
                $sql = "update ebay_order set ebay_total = '{$ebay_total2}', ebay_shipfee = '{$ebay_shipfee2}', ordershipfee='{$ordershipfee}', orderweight ='{$totalweight}' ,packingtype ='{$ebay_packingmaterial}' where ebay_id ='{$insert_ebay_id}' ";
                //echo $sql."<br>";
            } else {
                $ordershipfee = calctrueshippingfee2($ebay_carrier, $totalweight, $ebay_countryname, $insert_ebay_id);
                $sql = "update ebay_order set ordershipfee='{$ordershipfee}', orderweight ='{$totalweight}' ,packingtype ='{$ebay_packingmaterial}' where ebay_id ='{$insert_ebay_id}' ";
                //$split_log .= "超重订单 $ebay_id 拆分出新订单 $insert_ebay_id \r\n";
            }
            $dbcon->execute($sql) or die("Fail : {$sql}");
            $order_statistics->replaceData($val, array('mask' => 1), array('mask' => 1));
            //添加statistics记录
            $split_log .= "[" . date("Y-m-d H:i:s") . "]\t原订单---{$ebay_id}--被{$truename}--拆分出新订单( " . join(',', $insert_ebay_ids) . " )\r\n";
        } else {
            echo "超重订单 {$recordnumber} 拆分失败!<br>";
            break;
        }
    }
    //echo $split_log;
    write_log('split_order_' . date("Ymd") . '/' . date("H") . '.txt', $split_log);
}
Пример #5
0
function calc_order($ebay_id, $table_name)
{
    global $dbcon, $db, $accounts, $packings, $team_sale_arr, $team_caigou_arr;
    $sql = "SELECT ebay_id,recordnumber,ebay_ptid,ebay_ordersn,ebay_account,ebay_userid,ebay_currency,ebay_shipfee,ebay_countryname,orderweight2,ebay_carrier,scantime,ebay_total,is_main_order,is_sendreplacement FROM ebay_order WHERE ebay_status=2 AND ebay_combine!=1 AND ebay_id={$ebay_id} ORDER BY scantime ASC";
    $sql = $dbcon->query($sql);
    $orderlists = $dbcon->getResultArray($sql);
    foreach ($orderlists as $key => $orderlist) {
        //获取订单所属的平台
        foreach ($accounts as $platform => $accountarr) {
            if (in_array($orderlist['ebay_account'], $accountarr)) {
                $order_platform = $platform;
                break;
            }
        }
        if ($order_platform != "ebay") {
            // 只计算ebay 平台的
            echo $order_platform . "\n";
            //return false;
            return 1;
        }
        //$idsk = array_search($orderlist ['ebay_userid'], $ids);
        //unset($ids[$idsk]);
        $orderlist['ebay_total'] = floatval($orderlist['ebay_total']);
        //订单总收入     item总收入 + 运费收入Gross rate
        $orderlist['ebay_shipfee'] = floatval($orderlist['ebay_shipfee']);
        $orderinfos = array();
        $mainlist = array();
        $mainlist['order_scantime'] = $orderlist['scantime'];
        $mainlist['order_id'] = $orderlist['ebay_id'];
        $mainlist['recordnumber'] = $orderlist['recordnumber'];
        $mainlist['ptid'] = $orderlist['ebay_ptid'];
        $mainlist['order_currency'] = $orderlist['ebay_currency'];
        //币种
        $mainlist['order_countryname'] = $orderlist['ebay_countryname'];
        //国家名称
        $mainlist['order_weight'] = $orderlist['orderweight2'] / 1000;
        //实际称重重量
        $mainlist['sale_userid'] = $orderlist['ebay_userid'];
        //国家名称
        $mainlist['send_account'] = $orderlist['ebay_account'];
        //账号
        $mainlist['send_carrier'] = $orderlist['ebay_carrier'];
        //实际发货方式
        $mainlist['send_allshipfee'] = calctrueshippingfee($orderlist['ebay_carrier'], $mainlist['order_weight'], $orderlist['ebay_countryname'], $orderlist['ebay_id']);
        //实际发货方式
        $mainlist['send_allshipfee'] = in_array($orderlist['ebay_carrier'], array('Global Mail')) ? _HKD2CNY($mainlist['send_allshipfee']) : $mainlist['send_allshipfee'];
        if (in_array($orderlist['ebay_carrier'], array('中国邮政平邮', '中国邮政挂号', 'EUB', 'EMS'))) {
            $mainlist['send_rebateshipfee'] = calctrueshippingfee2($orderlist['ebay_carrier'], $mainlist['order_weight'], $orderlist['ebay_countryname'], $orderlist['ebay_id']);
            //计算折扣
        } else {
            $mainlist['send_rebateshipfee'] = $mainlist['send_allshipfee'];
        }
        // 打折后的运费
        $mainlist['is_copyorder'] = $orderlist['is_main_order'] == 1 ? 1 : ($orderlist['is_main_order'] == 2 ? 2 : 0);
        //$judge_is_splitorder = judge_is_splitorder($orderlist ['ebay_id']);
        $es_sql = "select * from ebay_splitorder as es where (split_order_id = '{$orderlist['ebay_id']}' OR main_order_id = '{$orderlist['ebay_id']}') ";
        $result = $dbcon->execute($es_sql);
        $result = $dbcon->fetch_one($result);
        if ($result['mode'] == 0) {
            $mainlist['is_splitorder'] = 1;
        } else {
            $mainlist['is_splitorder'] = 0;
        }
        if ($result['mode'] == 4) {
            $mainlist['is_suppleorder'] = 1;
        } else {
            $mainlist['is_suppleorder'] = 0;
        }
        if ($result['mode'] == 2 || $result['mode'] == 7) {
            $is_effectiveorder = 1;
        } else {
            $is_effectiveorder = 0;
        }
        $mainlist['is_effectiveorder'] = $is_effectiveorder;
        //$mainlist['is_suppleorder']	= $orderlist ['is_sendreplacement'];
        $mainlist['order_platform'] = $order_platform;
        $mainlist['order_sendZone'] = _getSendZone($orderlist['ebay_id']);
        //订单发货分区
        $splitorder_log = func_readlog_splitorder($orderlist['ebay_id']);
        $mainlist['splitorder_log'] = $splitorder_log !== false ? $splitorder_log + 1 : 0;
        $sql = "select * from ebay_orderdetail where ebay_ordersn='{$orderlist['ebay_ordersn']}'";
        $sql = $dbcon->query($sql);
        $detaillists = $dbcon->getResultArray($sql);
        $combineppfee = array();
        $combineskutotal = array();
        $combineskuapportion = array();
        $combineskushippingfee = array();
        if (count($detaillists) == 1 && !_is_combinesku($detaillists[0]['sku'])) {
            // 非组合料号订单
            $detaillist = $detaillists[0];
            $detaillist['shipingfee'] = floatval($detaillist['shipingfee']);
            $detaillist['ebay_itemprice'] = floatval($detaillist['ebay_itemprice']);
            $goodsinfo = _get_skuinfo($detaillist['sku']);
            $orderinfo = $mainlist;
            list($spu) = explode('_', $detaillist['sku']);
            $orderinfo['csku'] = '';
            // 增加获取对应的销售
            $skuInfo = _getSkuInfo($detaillist['sku']);
            $orderinfo['sku'] = $detaillist['sku'];
            $orderinfo['spu'] = $skuInfo['spu'];
            $orderinfo['order_number'] = 1;
            //订单数量
            $members = _getMemberFromSpu($skuInfo['spu']);
            $membersArr = $members[$skuInfo['spu']];
            foreach ($membersArr as $pkey => $item) {
                if ($accountPlatform[$pkey] == $order_platform) {
                    $orderinfo['salemember'] = $item['global_user_name'];
                    break;
                }
            }
            foreach ($team_sale_arr as $teamname => $team_arr) {
                if (in_array($orderinfo['salemember'], $team_arr)) {
                    $orderinfo['sale_team'] = $teamname;
                    break;
                }
            }
            $orderinfo['order_type'] = '普通';
            $orderinfo['order_total'] = $detaillist['ebay_itemprice'] * intval($detaillist['ebay_amount']);
            //订单总收入     item总收入 + 运费收入Gross rate
            $orderinfo['order_shipfee'] = $detaillist['shipingfee'];
            $orderinfo['order_usdtotal'] = round(_other2USD($orderlist['ebay_currency'], $orderinfo['order_total'] + $orderinfo['order_shipfee']), 3);
            //$orderinfo['order_ppfee'] = in_array($orderlist ['ebay_account'], $EBAY_ACCOUNTS_CONFIG) ? round(_other2USD($orderlist ['ebay_currency'], _get_PPfee($orderinfo['order_total']+$orderinfo['order_shipfee'])), 3) : 0;
            if (in_array($orderlist['ebay_account'], $accounts['ebay'])) {
                $order_ppfee = _other2USD($orderlist['ebay_currency'], _get_PPfee($orderinfo['order_total'] + $orderinfo['order_shipfee']));
                $orderinfo['order_ppfee'] = round($order_ppfee, 3);
            } else {
                $orderinfo['order_ppfee'] = 0;
            }
            $orderinfo['order_cnytotal'] = round(_USD2CNY($orderinfo['order_usdtotal'] - $orderinfo['order_ppfee']), 3);
            $orderinfo['sell_count'] = intval($detaillist['ebay_amount']);
            $orderinfo['sell_skuprice'] = $orderinfo['order_usdtotal'];
            $orderinfo['sell_cskuprice'] = 0;
            $orderinfo['sell_onlineskuprice'] = $detaillist['ebay_itemprice'] * intval($detaillist['ebay_amount']);
            $orderinfo['sell_onlineskushipfee'] = $detaillist['shipingfee'];
            $orderinfo['sku_cost'] = $goodsinfo['goods_cost'] * $orderinfo['sell_count'];
            $orderinfo['sku_purchase'] = $goodsinfo['cguser'];
            //获取采购所在team 名字
            foreach ($team_caigou_arr as $teamname => $team_arr) {
                if (in_array($orderinfo['sku_purchase'], $team_arr)) {
                    $orderinfo['caigou_team'] = $teamname;
                    break;
                }
            }
            $orderinfo['sku_weight'] = $goodsinfo['goods_weight'] * $orderinfo['sell_count'];
            $orderinfo['sku_packing'] = $goodsinfo['ebay_packingmaterial'];
            $orderinfo['sku_packingcost'] = isset($packings[$goodsinfo['ebay_packingmaterial']]) ? $packings[$goodsinfo['ebay_packingmaterial']] : 0;
            $orderinfo['sku_processingcost'] = sku_processingcost($orderinfo['sell_count']);
            $orderinfo['is_register'] = is_registershipping($mainlist['send_carrier']);
            //是否挂号
            $orderinfo['order_grossrate'] = $orderinfo['order_cnytotal'] - $orderinfo['sku_cost'] - $orderinfo['sku_packingcost'] - $orderinfo['sku_processingcost'] - $orderinfo['send_rebateshipfee'];
            $orderinfo['order_skugrossrate'] = $orderinfo['order_grossrate'];
            $orderinfo['order_cskugrossrate'] = 0;
            $orderinfo['order_grossmarginrate'] = round($orderinfo['order_grossrate'] * (1 - 0.135) / $orderinfo['order_cnytotal'], 5);
            //$orderinfo['is_effective'] = $orderlist ['ebay_shipfee']==$detaillist ['shipingfee']&&$orderlist ['ebay_total'].''==($orderlist ['ebay_shipfee']+$orderinfo['sell_onlineskuprice']).'' ? 0 : 1;
            //$orderlist ['ebay_total'] == ($orderlist ['ebay_shipfee'] + $orderinfo['sell_onlineskuprice']);
            $is_effective = array();
            if ($orderlist['ebay_shipfee'] == $detaillist['shipingfee']) {
                $is_effective['shipingfee'] = 0;
            } else {
                $is_effective['shipingfee'] = 1;
            }
            $tmpVal = $orderlist['ebay_shipfee'] + $orderinfo['sell_onlineskuprice'];
            //var_dump($orderlist['ebay_total'],$tmpVal);
            //var_dump($orderlist ['ebay_total'] == $tmpVal);
            //var_dump(md5($orderlist['ebay_total'])==md5($tmpVal));
            /*
            			if($orderlist ['ebay_total'] == $tmpVal){
            			}else{
            				echo "#####################";
            				$orderinfo['is_effective'] = 1;
            			}
            */
            if (bccomp($orderlist['ebay_total'], $tmpVal, 2) == 0) {
                //比较浮点数
                $is_effective['ebay_total'] = 0;
            } else {
                $is_effective['ebay_total'] = 1;
            }
            if ($orderinfo['sku_weight'] == 0) {
                $is_effective['sku_weight'] = 1;
            } else {
                $is_effective['sku_weight'] = 0;
            }
            if (empty($orderinfo['sku_purchase'])) {
                $is_effective['sku_purchase'] = 1;
            } else {
                $is_effective['sku_purchase'] = 0;
            }
            if ($orderinfo['sku_cost'] == 0) {
                $is_effective['sku_cost'] = 1;
            } else {
                $is_effective['sku_cost'] = 0;
            }
            if (empty($orderinfo['order_currency'])) {
                $is_effective['order_currency'] = 1;
            } else {
                $is_effective['order_currency'] = 0;
            }
            $effectiveNum = array_sum($is_effective);
            if ($effectiveNum > 0) {
                // 异常订单
                $is_effective['order_id'] = $orderlist['ebay_id'];
                $is_effective['sku'] = $detaillist['sku'];
                print_r($is_effective);
                $db->ebay_unorder->insert($is_effective);
                //异常订单
                unset($is_effective);
                $orderinfo['is_effective'] = 1;
            } else {
                //木有异常进行修复处理
                $orderinfo['is_effective'] = 0;
            }
            $orderinfos["{$detaillist['ebay_id']}_{$detaillist['sku']}"] = $orderinfo;
        } else {
            $orderinfo = $mainlist;
            $skutotal = 0;
            $skushippingtotal = 0;
            $mixweightlist = array();
            $orderinfo['csku'] = 0;
            $orderinfo['sku'] = 0;
            $orderinfo['spu'] = 0;
            $orderinfo['order_type'] = '组合订单';
            $orderinfo['order_total'] = $orderlist['ebay_total'];
            //订单总收入     item总收入 + 运费收入Gross rate
            $orderinfo['order_shipfee'] = $orderlist['ebay_shipfee'];
            $orderinfo['order_usdtotal'] = 0;
            $orderinfo['order_ppfee'] = 0;
            $orderinfo['order_cnytotal'] = 0;
            $orderinfo['sell_count'] = 0;
            //后续
            $orderinfo['sell_skuprice'] = 0;
            $orderinfo['sell_cskuprice'] = 0;
            $orderinfo['sell_onlineskuprice'] = 0;
            $orderinfo['sell_onlineskushipfee'] = 0;
            $orderinfo['sku_packingcost'] = 0;
            $orderinfo['sku_processingcost'] = 0;
            $orderinfo['sku_cost'] = 0;
            //后续
            $orderinfo['sku_purchase'] = '无';
            $orderinfo['sku_weight'] = 0;
            $orderinfo['sku_packing'] = '无';
            $orderinfo['sku_packingcost'] = 0;
            $orderinfo['sku_processingcost'] = 0;
            $orderinfo['is_register'] = is_registershipping($mainlist['send_carrier']);
            $orderinfo['order_grossrate'] = 0;
            $orderinfo['order_skugrossrate'] = 0;
            $orderinfo['order_cskugrossrate'] = 0;
            $orderinfo['order_grossmarginrate'] = 0;
            $orderinfo['order_number'] = 1;
            //订单数量
            $orderinfos['main'] = $orderinfo;
            foreach ($detaillists as $dkey => $detaillist) {
                $detaillist['shipingfee'] = floatval($detaillist['shipingfee']);
                $detaillist['ebay_itemprice'] = floatval($detaillist['ebay_itemprice']);
                $sql = "select goods_location,goods_weight,goods_cost,ebay_packingmaterial,cguser from ebay_goods where goods_sn='{$detaillist['sku']}'";
                $sql = $dbcon->query($sql);
                $goodsinfo = $dbcon->fetch_one($sql);
                $skutotal += $detaillist['ebay_itemprice'] * $detaillist['ebay_amount'];
                $skushippingtotal += $detaillist['shipingfee'];
                if (_is_combinesku($detaillist['sku'])) {
                    // 组合料号
                    $goodsinfos = array();
                    $combinepricelist = array();
                    $combineweightlist = array();
                    $combinskus = get_realskuinfo($detaillist['sku']);
                    foreach ($combinskus as $sku => $count) {
                        $goodsinfo = _get_skuinfo($sku);
                        $goodsinfos[$sku] = $goodsinfo;
                        $combinepricelist["{$detaillist['ebay_id']}_{$sku}"] = $goodsinfo['goods_cost'] * $count;
                        $combineweightlist["{$detaillist['ebay_id']}_{$sku}"] = $goodsinfo['goods_weight'] * $count;
                    }
                    $combineppfee["{$detaillist['ebay_id']}"] = round(_other2USD($orderlist['ebay_currency'], _get_PPfee($detaillist['ebay_itemprice'] * $detaillist['ebay_amount'] + $detaillist['shipingfee'])), 3);
                    $combineskutotal["{$detaillist['ebay_id']}"] = $detaillist['ebay_itemprice'] * $detaillist['ebay_amount'];
                    $combineskushippingfee["{$detaillist['ebay_id']}"] = $detaillist['shipingfee'];
                    foreach ($combinskus as $sku => $count) {
                        $orderinfo = $mainlist;
                        list($spu) = explode('_', $sku);
                        $goodsinfo = $goodsinfos[$sku];
                        $orderinfo['csku'] = $detaillist['sku'];
                        // 增加获取对应的销售
                        //$skuInfo = _getSkuInfo($detaillist['sku']);
                        //$orderinfo['sku'] = $detaillist['sku'];
                        //$orderinfo['spu'] = $skuInfo['spu'];
                        $cspu_tmp = explode("_", $detaillist['sku']);
                        $cspu = $cspu_tmp[0];
                        $members = _getMemberFromSpu($cspu);
                        $membersArr = $members[$cspu];
                        foreach ($membersArr as $pkey => $item) {
                            if ($accountPlatform[$pkey] == $order_platform) {
                                $orderinfo['csalemember'] = $item['global_user_name'];
                                //组合料号的销售
                                break;
                            }
                        }
                        foreach ($team_sale_arr as $teamname => $team_arr) {
                            if (in_array($orderinfo['csalemember'], $team_arr)) {
                                $orderinfo['csale_team'] = $teamname;
                                break;
                            }
                        }
                        $orderinfo['sku'] = $sku;
                        $skuInfo = _getSkuInfo($sku);
                        //$orderinfo['sku'] = $detaillist['sku'];
                        $orderinfo['spu'] = $skuInfo['spu'];
                        $members = _getMemberFromSpu($skuInfo['spu']);
                        $membersArr = $members[$skuInfo['spu']];
                        foreach ($membersArr as $pkey => $item) {
                            if ($accountPlatform[$pkey] == $order_platform) {
                                $orderinfo['salemember'] = $item['global_user_name'];
                                break;
                            }
                        }
                        foreach ($team_sale_arr as $teamname => $team_arr) {
                            if (in_array($orderinfo['salemember'], $team_arr)) {
                                $orderinfo['sale_team'] = $teamname;
                                break;
                            }
                        }
                        $orderinfo['spu'] = $spu;
                        $orderinfo['order_type'] = '组合';
                        $orderinfo['order_number'] = 0;
                        //订单数量
                        $orderinfo['sell_count'] = intval($detaillist['ebay_amount']) * $count;
                        $orderinfo['sku_cost'] = $goodsinfo['goods_cost'] * $orderinfo['sell_count'];
                        $orderinfo['sku_purchase'] = $goodsinfo['cguser'];
                        //print_r($team_caigou_arr);
                        foreach ($team_caigou_arr as $teamname => $team_arr) {
                            if (in_array($orderinfo['sku_purchase'], $team_arr)) {
                                $orderinfo['caigou_team'] = $teamname;
                                break;
                            }
                        }
                        $orderinfo['sku_weight'] = $goodsinfo['goods_weight'] * $orderinfo['sell_count'];
                        $orderinfo['sku_packing'] = $goodsinfo['ebay_packingmaterial'];
                        $orderinfo['sku_packingcost'] = isset($packings[$goodsinfo['ebay_packingmaterial']]) ? $packings[$goodsinfo['ebay_packingmaterial']] : 0;
                        $orderinfo['sku_processingcost'] = sku_processingcost($orderinfo['sell_count']);
                        $orderinfo['is_register'] = 0;
                        $orderinfos["{$detaillist['ebay_id']}_{$sku}"] = $orderinfo;
                        $mixweightlist["{$detaillist['ebay_id']}_{$sku}"] = $goodsinfo['goods_weight'] * $detaillist['ebay_amount'];
                        $combineskuapportion["{$detaillist['ebay_id']}_{$sku}"] = $goodsinfo['goods_cost'];
                    }
                    unset($goodsinfos, $goodsinfo);
                } else {
                    $orderinfo = $mainlist;
                    list($spu) = explode('_', $detaillist['sku']);
                    $orderinfo['csku'] = 0;
                    $orderinfo['sku'] = $detaillist['sku'];
                    $orderinfo['spu'] = $spu;
                    // 增加获取对应的销售
                    $skuInfo = _getSkuInfo($detaillist['sku']);
                    $orderinfo['sku'] = $detaillist['sku'];
                    $orderinfo['spu'] = $skuInfo['spu'];
                    $members = _getMemberFromSpu($skuInfo['spu']);
                    $membersArr = $members[$skuInfo['spu']];
                    foreach ($membersArr as $pkey => $item) {
                        if ($accountPlatform[$pkey] == $order_platform) {
                            $orderinfo['salemember'] = $item['global_user_name'];
                            break;
                        }
                    }
                    foreach ($team_sale_arr as $teamname => $team_arr) {
                        if (in_array($orderinfo['salemember'], $team_arr)) {
                            $orderinfo['sale_team'] = $teamname;
                            break;
                        }
                    }
                    $orderinfo['order_type'] = '组合';
                    $orderinfo['order_total'] = $detaillist['ebay_itemprice'] * $detaillist['ebay_amount'];
                    $orderinfo['order_shipfee'] = $detaillist['shipingfee'];
                    $orderinfo['order_usdtotal'] = round(_other2USD($orderlist['ebay_currency'], $orderinfo['order_total'] + $orderinfo['order_shipfee']), 3);
                    if (in_array($orderlist['ebay_account'], $accounts['ebay'])) {
                        $order_ppfee = _other2USD($orderlist['ebay_currency'], _get_PPfee($orderinfo['order_total'] + $orderinfo['order_shipfee']));
                        $orderinfo['order_ppfee'] = round($order_ppfee, 3);
                    } else {
                        $orderinfo['order_ppfee'] = 0;
                    }
                    $orderinfo['order_cnytotal'] = round(_USD2CNY($orderinfo['order_usdtotal'] - $orderinfo['order_ppfee']), 3);
                    $orderinfo['sell_count'] = intval($detaillist['ebay_amount']);
                    $orderinfo['sell_skuprice'] = $orderinfo['order_usdtotal'];
                    $orderinfo['sell_cskuprice'] = 0;
                    $orderinfo['sell_onlineskuprice'] = $detaillist['ebay_itemprice'] * intval($detaillist['ebay_amount']);
                    $orderinfo['sell_onlineskushipfee'] = $detaillist['shipingfee'];
                    $orderinfo['sku_cost'] = $goodsinfo['goods_cost'] * $orderinfo['sell_count'];
                    $orderinfo['sku_purchase'] = $goodsinfo['cguser'];
                    $orderinfo['order_number'] = 0;
                    //订单数量
                    foreach ($team_caigou_arr as $teamname => $team_arr) {
                        if (in_array($orderinfo['sku_purchase'], $team_arr)) {
                            $orderinfo['caigou_team'] = $teamname;
                            break;
                        }
                    }
                    $orderinfo['sku_weight'] = $goodsinfo['goods_weight'] * $orderinfo['sell_count'];
                    $orderinfo['sku_packing'] = $goodsinfo['ebay_packingmaterial'];
                    $orderinfo['sku_packingcost'] = isset($packings[$goodsinfo['ebay_packingmaterial']]) ? $packings[$goodsinfo['ebay_packingmaterial']] : 0;
                    $orderinfo['sku_processingcost'] = sku_processingcost($orderinfo['sell_count']);
                    $orderinfo['is_register'] = 0;
                    $orderinfos["{$detaillist['ebay_id']}_{$detaillist['sku']}"] = $orderinfo;
                    $mixweightlist["{$detaillist['ebay_id']}_{$detaillist['sku']}"] = $goodsinfo['goods_weight'] * $detaillist['ebay_amount'];
                }
            }
            //var_dump( $orderlist['ebay_shipfee'], $skushippingtotal, $orderlist['ebay_total'].''==($orderlist['ebay_shipfee']+$skutotal).'' );
            $orderinfos['main']['order_total'] = $skutotal;
            $orderinfos['main']['order_shipfee'] = $skushippingtotal;
            //$orderinfos['main']['is_effective'] = &&$orderlist['ebay_total'].''==($orderlist['ebay_shipfee']+$skutotal).'' ? 0 : 32;
            $is_effective = array();
            if ($orderlist['ebay_shipfee'] == $skushippingtotal) {
                $is_effective['shipingfee'] = 0;
            } else {
                $is_effective['shipingfee'] = 1;
            }
            $tmpVal = $orderlist['ebay_shipfee'] + $skutotal;
            if (bccomp($orderlist['ebay_total'], $tmpVal, 2) == 0) {
                //比较浮点数
                $is_effective['ebay_total'] = 0;
            } else {
                $is_effective['ebay_total'] = 1;
            }
            if (array_sum($is_effective) > 0) {
                $orderinfos['main']['is_effective'] = 1;
            } else {
                $orderinfos['main']['is_effective'] = 0;
            }
            $veryallweight = _calceveryweight($mixweightlist, $mainlist['order_weight']);
            $veryallshipfee = _calceveryweight($veryallweight, $mainlist['send_allshipfee']);
            $rebateallshipfee = _calceveryweight($veryallweight, $mainlist['send_rebateshipfee']);
            $_combineskuapportion = array();
            foreach ($combineskuapportion as $cakey => $cavalue) {
                list($_detailid) = explode('_', $cakey);
                $_combineskuapportion[$_detailid][$cakey] = $cavalue + $rebateallshipfee[$cakey];
            }
            foreach ($combineskutotal as $detailid => $cskutotal) {
                $combineppfees[$detailid] = _calceveryweight($_combineskuapportion[$detailid], $combineppfee[$detailid]);
                $combineskutotals[$detailid] = _calceveryweight($_combineskuapportion[$detailid], $combineskutotal[$detailid]);
                $combineskushippingfees[$detailid] = _calceveryweight($_combineskuapportion[$detailid], $combineskushippingfee[$detailid]);
            }
            //$combineorderprices = _calceveryweight($combinepricelist, $detaillist['ebay_itemprice']*$detaillist['ebay_amount']);
            foreach ($combineskuapportion as $cakey => $cavalue) {
                list($_detailid) = explode('_', $cakey);
                $orderinfos[$cakey]['order_total'] = $combineskutotals[$_detailid][$cakey];
                $orderinfos[$cakey]['order_shipfee'] = $combineskushippingfees[$_detailid][$cakey];
                $orderinfos[$cakey]['order_usdtotal'] = round(_other2USD($orderinfos[$cakey]['order_currency'], $orderinfos[$cakey]['order_total'] + $orderinfos[$cakey]['order_shipfee']), 3);
                //$orderinfos[$cakey]['order_ppfee'] = in_array($orderlist ['ebay_account'], $EBAY_ACCOUNTS_CONFIG) ? $combineppfees[$_detailid][$cakey] : 0;//round(_other2USD($orderinfos[$cakey]['order_currency'], _get_PPfee($orderinfos[$cakey]['order_total'])), 3);
                if (in_array($orderlist['ebay_account'], $accounts['ebay'])) {
                    $orderinfos[$cakey]['order_ppfee'] = $combineppfees[$_detailid][$cakey];
                } else {
                    $orderinfos[$cakey]['order_ppfee'] = 0;
                }
                $orderinfos[$cakey]['order_cnytotal'] = round(_USD2CNY($orderinfos[$cakey]['order_usdtotal'] - $orderinfos[$cakey]['order_ppfee']), 3);
                $orderinfos[$cakey]['sell_skuprice'] = $orderinfos[$cakey]['order_usdtotal'] * 0.7;
                $orderinfos[$cakey]['sell_cskuprice'] = $orderinfos[$cakey]['order_usdtotal'] * 0.3;
                $orderinfos[$cakey]['sell_onlineskuprice'] = $combineskutotals[$_detailid][$cakey];
                $orderinfos[$cakey]['sell_onlineskushipfee'] = $combineskushippingfees[$_detailid][$cakey];
            }
            foreach ($mixweightlist as $mwkey => $veryweight) {
                if ($orderinfos[$mwkey]['sku_weight'] == 0) {
                    $is_effective['sku_weight'] = 1;
                } else {
                    $is_effective['sku_weight'] = 0;
                }
                if (empty($orderinfos[$mwkey]['sku_purchase'])) {
                    $is_effective['sku_purchase'] = 1;
                } else {
                    $is_effective['sku_purchase'] = 0;
                }
                if ($orderinfos[$mwkey]['sku_cost'] == 0) {
                    $is_effective['sku_cost'] = 1;
                } else {
                    $is_effective['sku_cost'] = 0;
                }
                if (empty($orderinfos[$mwkey]['order_currency'])) {
                    $is_effective['order_currency'] = 1;
                } else {
                    $is_effective['order_currency'] = 0;
                }
                $effectiveNum = array_sum($is_effective);
                if ($effectiveNum > 0) {
                    // 异常订单
                    $is_effective['order_id'] = $mainlist['order_id'];
                    $is_effective['csku'] = $orderinfos[$mwkey]['csku'];
                    $is_effective['sku'] = $orderinfos[$mwkey]['sku'];
                    print_r($is_effective);
                    $db->ebay_unorder->insert($is_effective);
                    //异常订单
                    unset($is_effective);
                    $orderinfos[$mwkey]['is_effective'] = 1;
                } else {
                    //木有异常进行修复处理
                    $orderinfos[$mwkey]['is_effective'] = 0;
                }
                $orderinfos[$mwkey]['order_weight'] = $veryallweight[$mwkey];
                $orderinfos[$mwkey]['send_allshipfee'] = $veryallshipfee[$mwkey];
                $orderinfos[$mwkey]['send_rebateshipfee'] = $rebateallshipfee[$mwkey];
                $orderinfos[$mwkey]['order_grossrate'] = $orderinfos[$mwkey]['order_cnytotal'] - $orderinfos[$mwkey]['sku_cost'] - $orderinfos[$mwkey]['sku_packingcost'] - $orderinfos[$mwkey]['sku_processingcost'] - $orderinfos[$mwkey]['send_rebateshipfee'];
                $orderinfos[$mwkey]['order_skugrossrate'] = $orderinfos[$mwkey]['csku'] != '' ? $orderinfos[$mwkey]['order_grossrate'] * 0.7 : $orderinfos[$mwkey]['order_grossrate'];
                $orderinfos[$mwkey]['order_cskugrossrate'] = $orderinfos[$mwkey]['csku'] != '' ? $orderinfos[$mwkey]['order_grossrate'] * 0.3 : 0;
                $orderinfos[$mwkey]['order_grossmarginrate'] = round($orderinfos[$mwkey]['order_grossrate'] * (1 - 0.135) / $orderinfos[$mwkey]['order_cnytotal'], 5);
            }
        }
        print_r($orderinfos);
        foreach ($orderinfos as $insertItem) {
            //$db->$table_name->insert($insertItem);
        }
        return true;
    }
}
Пример #6
0
function calctrueshippingfee2($carrier, $totalweight, $countryname, $orderid)
{
    //根据运输方式,订单总重量,运去的国家,和订单ID,计算打折后的运费 (中国邮政平邮,中国邮政挂号,EUB,EMS)
    //add by Herman.Xi 2012-09-14
    switch ($carrier) {
        case '中国邮政平邮':
            $ordershipfee = calcchinapostpy($totalweight, $countryname);
            break;
        case '中国邮政挂号':
            $ordershipfee = calcchinapostgh($totalweight, $countryname);
            break;
        case 'EUB':
            $ordershipfee = calceub($totalweight, $countryname);
            break;
        case 'EMS':
            $ordershipfee = calcems($totalweight, $countryname);
            break;
        case '香港小包平邮':
        case '香港小包挂号':
        case 'Global Mail':
        case 'DHL':
            $ordershipfee = calctrueshippingfee($carrier, $totalweight, $countryname, $orderid);
            break;
        case 'UPS美国专线':
            $ordershipfee = calcupsus($totalweight, $countryname);
            break;
        case 'USPS FirstClass':
        case 'UPS SurePost':
        case 'UPS Ground Commercia':
            $ordershipfee = trans_carriers_fix_get($carrier, $totalweight, $countryname, $zipCode, $transitId);
            break;
        case 'FedEx':
        case '俄速通挂号':
        case '俄速通平邮':
        case '新加坡DHL GM平邮':
        case '新加坡DHL GM挂号':
        case '俄速通大包':
        case '瑞士小包平邮':
        case '瑞士小包挂号':
            $ordershipfee = trans_carriers_fix_get($carrier, $totalweight, $countryname);
            break;
        default:
            $ordershipfee = 0;
    }
    if (in_array($carrier, array('瑞士小包平邮', '瑞士小包挂号', 'USPS FirstClass', 'UPS SurePost', 'UPS Ground Commercia', '俄速通大包', '新加坡DHL GM平邮', '新加坡DHL GM挂号', 'FedEx', '俄速通挂号', '俄速通平邮'))) {
        $ordershipfee = $ordershipfee['fee'];
    }
    return round($ordershipfee, 3);
}
Пример #7
0
function function_split_partinterpet($ebay_orders)
{
    //自动部分包货拦截,超过半天的库存有的拆分出来
    //add Herman.Xi 2013-03-15
    /* 海外销售
    	我这边两个或者两个以上SKU有货的,请拆分有货的发货(雷贤容)
    	*/
    /* B2B
    	1、两个SKU以上有货就拆分出来发货
    	2、拆分订单,导出销售数据时需标记拆分订单(ebay的数据导出有这个,麻烦确认此规则B2B这边是否有实现?之前我们都没有用自动拆分订单的)
    	3、拆分订单的订单金额B2B这边不根据货本分摊,请只把订单金额保留在主订单/被拆分订单上,拆分订单的金额显示为0,此规则参照B2B复制订单规则(ebay那边维持现有的拆分规则不做改动)。
    	*/
    /*
    ebay
    chenxiaoxia(陈小霞) 2013-03-11 23:29:31
    有货就发
    */
    global $dbcon, $user, $defaultstoreid, $order_statistics, $SYSTEM_ACCOUNTS;
    /*include_once '/data/scripts/ebay_order_cron_job/config_row/config_database_row_master.php';
    	unset($dbcon);
    	$dbcon	= new DBClass();*/
    //$express_delivery = array('UPS','DHL','TNT','EMS','FedEx');
    $no_express_delivery = array('中国邮政平邮', '中国邮政挂号', '香港小包平邮', '香港小包挂号', '德国邮政挂号', '新加坡小包挂号', 'EUB', 'Global Mail', '俄速通平邮', '俄速通挂号');
    //echo count($ebay_orders); echo "\n";
    foreach ($ebay_orders as $ebay_order) {
        $log_data = "";
        //日志记录
        $ebay_id = $ebay_order['ebay_id'];
        $order_sn = $ebay_order['ebay_ordersn'];
        $ebay_status = $ebay_order['ebay_status'];
        //$ebay_status = $ebay_order['ebay_status'];
        $ebay_note = $ebay_order['ebay_note'];
        $ebay_carrier0 = $ebay_order['ebay_carrier'];
        //原订单运输方式
        $ebay_tracknumber = $ebay_order['ebay_tracknumber'];
        if ($ebay_carrier0 == 'EUB' && empty($ebay_tracknumber) && (in_array($ebay_account, $SYSTEM_ACCOUNTS['ebay平台']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['海外销售平台']))) {
            $log_data .= " 自动部分发货订单 {$ebay_id} 运输方式为 EUB 需要先申请跟踪号才能进行 不能进行拆分操作,直接过滤!\n";
            continue;
        }
        $ebay_countryname = $ebay_order['ebay_countryname'];
        $ebay_account = $ebay_order['ebay_account'];
        $recordorder = 'order' . $ebay_id;
        if (isset(${$recordorder})) {
            $log_data .= " 自动部分发货订单 {$ebay_id} 已经有拆分操作,PHP直接过滤!\n";
            continue;
        }
        $sql = "SELECT * FROM ebay_splitorder WHERE main_order_id = '{$ebay_id}' and mode = 5 ";
        $sql = $dbcon->execute($sql);
        //var_dump($dbcon->error);
        $epNums = $dbcon->num_rows($sql);
        if ($epNums > 0) {
            continue;
        }
        $dbcon->error = '';
        $sql = "SELECT sku,ebay_amount FROM ebay_orderdetail WHERE ebay_ordersn='{$order_sn}'";
        $result = $dbcon->execute($sql);
        $orderdetaillist = $dbcon->getResultArray($result);
        $part_intercept = array();
        foreach ($orderdetaillist as $orderdetail) {
            $sku_arr = get_realskuinfo($orderdetail['sku']);
            $hava_goodscount = true;
            foreach ($sku_arr as $or_sku => $or_nums) {
                $allnums = $or_nums * $orderdetail['ebay_amount'];
                $skuinfo = get_sku_info($or_sku);
                $salensend = getpartsaleandnosendall($or_sku, $defaultstoreid);
                if (!isset($skuinfo['realnums']) && !isset($skuinfo['secondCount']) || $skuinfo['realnums'] + $skuinfo['secondCount'] - $salensend - $allnums < 0) {
                    //if(!isset($skuinfo['realnums']) || empty($skuinfo['realnums']) || (($skuinfo['realnums'] - $salensend - $allnums) < 0)){
                    $hava_goodscount = false;
                    break;
                }
            }
            if ($hava_goodscount) {
                $part_intercept['yes'][] = $orderdetail['sku'];
                //部分有货
            } else {
                $part_intercept['no'][] = $orderdetail['sku'];
                //部分没货
            }
        }
        if (in_array($ebay_status, array('660'))) {
            //自动部分包货非快递拆分处理
            if (!in_array($ebay_carrier0, $no_express_delivery)) {
                continue;
            }
            if (isset($part_intercept['yes']) && isset($part_intercept['no']) && count($part_intercept['yes']) < count($orderdetaillist) && count($part_intercept['no']) < count($orderdetaillist)) {
                if (in_array($ebay_account, $SYSTEM_ACCOUNTS['ebay平台'])) {
                    echo "\n===========" . $ebay_id . "============\n";
                    echo "\n-------ebay--------\n";
                    //echo "yes\n"; print_r($part_intercept['yes']); echo "\n";
                    //echo "no\n"; print_r($part_intercept['no']); echo "\n";
                    if (count($part_intercept['yes']) > 0) {
                        //有货的等于或者超过1个
                        $all_weight = array();
                        $all_ebay_id = array();
                        $all_ebay_total = array();
                        $insertarr = $ebay_order;
                        unset($insertarr['ebay_id']);
                        if ($ebay_carrier0 != 'EUB') {
                            unset($insertarr['ebay_tracknumber']);
                        }
                        $new_ordersn = generateOrdersn();
                        $insertarr['ebay_ordersn'] = $new_ordersn;
                        $insertarr['ebay_status'] = 618;
                        $insertarr['ebay_addtime'] = time();
                        $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                        $dbcon->execute($sql);
                        $insert_ebay_id = $dbcon->insert_id();
                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} \n";
                        $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                        $result = $dbcon->execute($sql);
                        $orderdetails = $dbcon->getResultArray($result);
                        $total_moneny = '';
                        $ebay_total = 0;
                        foreach ($orderdetails as $orderdetail) {
                            if (in_array($orderdetail['sku'], $part_intercept['yes'])) {
                                $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                $insertarr = $orderdetail;
                                unset($orderdetail['ebay_id']);
                                $orderdetail['ebay_ordersn'] = $new_ordersn;
                                $total_moneny = ($orderdetail['sku'] + $orderdetail['sku']) * $orderdetail['sku'];
                                $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                if ($dbcon->execute($sql)) {
                                    $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                } else {
                                    $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细失败\n";
                                }
                            }
                        }
                        //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                        $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                        $all_weight[] = $totalweight;
                        $all_ebay_id[] = $insert_ebay_id;
                        $all_ebay_total[] = $ebay_total;
                        if (count($part_intercept['no']) > 0) {
                            //没货的
                            $insertarr = $ebay_order;
                            unset($insertarr['ebay_id']);
                            unset($insertarr['ebay_tracknumber']);
                            $new_ordersn = generateOrdersn();
                            $insertarr['ebay_ordersn'] = $new_ordersn;
                            $insertarr['ebay_status'] = 661;
                            //自动拦截非快递
                            $insertarr['ebay_addtime'] = time();
                            $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                            $dbcon->execute($sql);
                            $insert_ebay_id = $dbcon->insert_id();
                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} \n";
                            $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                            $result = $dbcon->execute($sql);
                            $orderdetails = $dbcon->getResultArray($result);
                            $ebay_total = 0;
                            foreach ($orderdetails as $orderdetail) {
                                if (in_array($orderdetail['sku'], $part_intercept['no'])) {
                                    $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                    $insertarr = $orderdetail;
                                    unset($orderdetail['ebay_id']);
                                    $orderdetail['ebay_ordersn'] = $new_ordersn;
                                    $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                    if ($dbcon->execute($sql)) {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                    } else {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细失败\n";
                                    }
                                }
                            }
                            //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                            $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                            $all_weight[] = $totalweight;
                            $all_ebay_id[] = $insert_ebay_id;
                            $all_ebay_total[] = $ebay_total;
                        }
                        echo "重量\n";
                        print_r($all_weight);
                        echo "\n";
                        echo "价格\n";
                        print_r($all_ebay_total);
                        echo "\n";
                        echo "ids\n";
                        print_r($all_ebay_id);
                        echo "\n";
                        foreach ($all_ebay_id as $i => $v) {
                            //$ebay_total = round($ebay_order['ebay_total']*($all_weight[$i]/array_sum($all_weight)),2);
                            //$shipfee 	= calctrueshippingfee($ebay_carrier, $all_weight[$i], $ebay_countryname, $v);
                            $fees = calcshippingfee($all_weight[$i], $ebay_countryname, $all_ebay_id[$i], $ebay_account, $all_ebay_total[$i]);
                            $ebay_carrier = $fees[0];
                            $shipfee = $fees[1];
                            //$totalweight	= $fees[2];
                            echo "\n经计算 运费 {$shipfee} 重量 {$all_weight[$i]} 包装材料\n";
                            $bb = "update ebay_order set ordershipfee='{$shipfee}', orderweight ='{$all_weight[$i]}' ,ebay_carrier = '{$ebay_carrier}', ebay_total = '{$all_ebay_total[$i]}' where ebay_id ='{$v}' ";
                            $dbcon->execute($bb);
                            $sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, mode, create_date) values \n\t\t\t\t\t\t\t('{$ebay_order['recordnumber']}', '{$ebay_id}', '{$v}', '5', '" . date("Y-m-d H:i:s") . "')";
                            $dbcon->execute($sql);
                        }
                        /*if($all_weight[0] > 2){//拆分之后的有货订单自动跳转到超重订单中
                        			$sql	= "update ebay_order set ebay_status='608' where ebay_id ='{$all_ebay_id[0]}' ";
                        			$log_data .= "ebay==自动部分发货非快递有货订单{$all_ebay_id[0]} 超重移动到超重订单文件夹中!\n";
                        			$dbcon->execute($sql);
                        		}*/
                        ${$recordorder} = true;
                        if (count($all_ebay_id) == 2) {
                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 是原订单 移动到回收站中!\n";
                            if ($ebay_carrier0 != 'EUB') {
                                $sql = "update ebay_order set ebay_status = '615' where ebay_id ='{$ebay_id}' ";
                                // 原来的订单隐藏
                            } else {
                                //modified by Herman.Xi @20140517 EUB原订单拆分需要取消跟踪号
                                $sql = "update ebay_order set ebay_status = '615',ebay_tracknumber='' where ebay_id ='{$ebay_id}' ";
                                // 原来的订单隐藏
                            }
                            $dbcon->execute($sql);
                        }
                    }
                } else {
                    if (in_array($ebay_account, $SYSTEM_ACCOUNTS['海外销售平台'])) {
                        echo "\n===========" . $ebay_id . "============\n";
                        echo "\n-------海外销售--------\n";
                        //echo "yes\n"; print_r($part_intercept['yes']); echo "\n";
                        //echo "no\n"; print_r($part_intercept['no']); echo "\n";
                        if (count($part_intercept['yes']) > 1) {
                            //有货的等于或者超过2个
                            $all_weight = array();
                            $all_ebay_id = array();
                            $all_ebay_total = array();
                            $insertarr = $ebay_order;
                            unset($insertarr['ebay_id']);
                            if ($ebay_carrier0 != 'EUB') {
                                unset($insertarr['ebay_tracknumber']);
                            }
                            $new_ordersn = generateOrdersn();
                            $insertarr['ebay_ordersn'] = $new_ordersn;
                            $insertarr['ebay_status'] = 618;
                            $insertarr['ebay_addtime'] = time();
                            $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                            $dbcon->execute($sql);
                            $insert_ebay_id = $dbcon->insert_id();
                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} \n";
                            $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                            $result = $dbcon->execute($sql);
                            $orderdetails = $dbcon->getResultArray($result);
                            $ebay_total = 0;
                            foreach ($orderdetails as $orderdetail) {
                                if (in_array($orderdetail['sku'], $part_intercept['yes'])) {
                                    $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                    $insertarr = $orderdetail;
                                    unset($orderdetail['ebay_id']);
                                    $orderdetail['ebay_ordersn'] = $new_ordersn;
                                    $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                    if ($dbcon->execute($sql)) {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】 自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                    } else {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】 自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细失败\n";
                                    }
                                }
                            }
                            //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                            $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                            $all_weight[] = $totalweight;
                            $all_ebay_id[] = $insert_ebay_id;
                            $all_ebay_total[] = $ebay_total;
                            if (count($part_intercept['no']) > 0) {
                                //没货的
                                $insertarr = $ebay_order;
                                unset($insertarr['ebay_id']);
                                unset($insertarr['ebay_tracknumber']);
                                $new_ordersn = generateOrdersn();
                                $insertarr['ebay_ordersn'] = $new_ordersn;
                                $insertarr['ebay_status'] = 661;
                                //自动拦截非快递
                                $insertarr['ebay_addtime'] = time();
                                $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                                $dbcon->execute($sql);
                                $insert_ebay_id = $dbcon->insert_id();
                                $log_data .= "\n 自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} \n";
                                $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                                $result = $dbcon->execute($sql);
                                $orderdetails = $dbcon->getResultArray($result);
                                $ebay_total = 0;
                                foreach ($orderdetails as $orderdetail) {
                                    if (in_array($orderdetail['sku'], $part_intercept['no'])) {
                                        $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                        $insertarr = $orderdetail;
                                        unset($orderdetail['ebay_id']);
                                        $orderdetail['ebay_ordersn'] = $new_ordersn;
                                        $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                        if ($dbcon->execute($sql)) {
                                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】 自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                        } else {
                                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】 自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细失败\n";
                                        }
                                    }
                                }
                                //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                                $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                                $all_weight[] = $totalweight;
                                $all_ebay_id[] = $insert_ebay_id;
                                $all_ebay_total[] = $ebay_total;
                            }
                            echo "重量\n";
                            print_r($all_weight);
                            echo "\n";
                            echo "价格\n";
                            print_r($all_ebay_total);
                            echo "\n";
                            echo "ids\n";
                            print_r($all_ebay_id);
                            echo "\n";
                            foreach ($all_ebay_id as $i => $v) {
                                //$ebay_total = round($ebay_order['ebay_total']*($all_weight[$i]/array_sum($all_weight)),2);
                                $shipfee = calctrueshippingfee($ebay_carrier0, $all_weight[$i], $ebay_countryname, $v);
                                $bb = "update ebay_order set ordershipfee='{$shipfee}', orderweight ='{$all_weight[$i]}' ,packingtype ='{$ebay_packingmaterial}', ebay_total = '{$all_ebay_total[$i]}' where ebay_id ='{$v}' ";
                                $dbcon->execute($bb);
                                $sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, mode, create_date) values ('{$ebay_order['recordnumber']}', '{$ebay_id}', '{$v}', '5', '" . date("Y-m-d H:i:s") . "')";
                                $dbcon->execute($sql);
                            }
                            if ($all_weight[0] > 2) {
                                //拆分之后的有货订单自动跳转到超重订单中
                                $sql = "update ebay_order set ebay_status='608' where ebay_id ='{$all_ebay_id[0]}' ";
                                $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】自动部分发货非快递有货订单 {$all_ebay_id[0]} 超重移动到超重订单文件夹中!\n";
                                $dbcon->execute($sql);
                            }
                            ${$recordorder} = true;
                            if (count($all_ebay_id) == 2) {
                                //拆分订单完全
                                $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【海外】自动部分发货非快递订单 {$ebay_id} 是原订单 移动到回收站中!\n";
                                if ($ebay_carrier0 != 'EUB') {
                                    $sql = "update ebay_order set ebay_status = '615' where ebay_id ='{$ebay_id}' ";
                                    // 原来的订单隐藏
                                } else {
                                    //modified by Herman.Xi @20140517 EUB原订单拆分需要取消跟踪号
                                    $sql = "update ebay_order set ebay_status = '615',ebay_tracknumber='' where ebay_id ='{$ebay_id}' ";
                                    // 原来的订单隐藏
                                }
                                $dbcon->execute($sql);
                            }
                        }
                    } elseif (in_array($ebay_account, $SYSTEM_ACCOUNTS['dresslink']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['cndirect'])) {
                        $now = time();
                        $ebay_addtime = $ebay_order['ebay_addtime'];
                        if ($now - $ebay_addtime < 2 * 24 * 3600) {
                            continue;
                            //小于2天跳过
                        }
                        echo "\n===========" . $ebay_id . "============\n";
                        echo "\n-------独立商城--------\n";
                        //echo "yes\n"; print_r($part_intercept['yes']); echo "\n";
                        //echo "no\n"; print_r($part_intercept['no']); echo "\n";
                        if (count($part_intercept['yes']) > 0) {
                            //有货的等于或者超过1个
                            $all_weight = array();
                            $all_ebay_id = array();
                            $all_ebay_total = array();
                            $insertarr = $ebay_order;
                            unset($insertarr['ebay_id']);
                            unset($insertarr['ebay_tracknumber']);
                            $new_ordersn = generateOrdersn();
                            $insertarr['ebay_ordersn'] = $new_ordersn;
                            $insertarr['ebay_status'] = 660;
                            $insertarr['ebay_addtime'] = time();
                            $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                            $dbcon->execute($sql);
                            $insert_ebay_id = $dbcon->insert_id();
                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} \n";
                            $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                            $result = $dbcon->execute($sql);
                            $orderdetails = $dbcon->getResultArray($result);
                            $total_moneny = '';
                            $ebay_total = 0;
                            foreach ($orderdetails as $orderdetail) {
                                if (in_array($orderdetail['sku'], $part_intercept['yes'])) {
                                    $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                    $insertarr = $orderdetail;
                                    unset($orderdetail['ebay_id']);
                                    $orderdetail['ebay_ordersn'] = $new_ordersn;
                                    $total_moneny = ($orderdetail['sku'] + $orderdetail['sku']) * $orderdetail['sku'];
                                    $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                    if ($dbcon->execute($sql)) {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                    } else {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细失败\n";
                                    }
                                }
                            }
                            //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                            $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                            $all_weight[] = $totalweight;
                            $all_ebay_id[] = $insert_ebay_id;
                            $all_ebay_total[] = $ebay_total;
                            if (count($part_intercept['no']) > 0) {
                                //没货的
                                $insertarr = $ebay_order;
                                unset($insertarr['ebay_id']);
                                unset($insertarr['ebay_tracknumber']);
                                $new_ordersn = generateOrdersn();
                                $insertarr['ebay_ordersn'] = $new_ordersn;
                                $insertarr['ebay_status'] = 614;
                                //
                                $insertarr['ebay_addtime'] = time();
                                $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                                $dbcon->execute($sql);
                                $insert_ebay_id = $dbcon->insert_id();
                                $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} \n";
                                $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                                $result = $dbcon->execute($sql);
                                $orderdetails = $dbcon->getResultArray($result);
                                $ebay_total = 0;
                                foreach ($orderdetails as $orderdetail) {
                                    if (in_array($orderdetail['sku'], $part_intercept['no'])) {
                                        $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                        $insertarr = $orderdetail;
                                        unset($orderdetail['ebay_id']);
                                        $orderdetail['ebay_ordersn'] = $new_ordersn;
                                        $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                        if ($dbcon->execute($sql)) {
                                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                        } else {
                                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细失败\n";
                                        }
                                    }
                                }
                                //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                                $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                                $all_weight[] = $totalweight;
                                $all_ebay_id[] = $insert_ebay_id;
                                $all_ebay_total[] = $ebay_total;
                            }
                            echo "重量\n";
                            print_r($all_weight);
                            echo "\n";
                            echo "价格\n";
                            print_r($all_ebay_total);
                            echo "\n";
                            echo "ids\n";
                            print_r($all_ebay_id);
                            echo "\n";
                            foreach ($all_ebay_id as $i => $v) {
                                //$ebay_total = round($ebay_order['ebay_total']*($all_weight[$i]/array_sum($all_weight)),2);
                                //$shipfee 	= calctrueshippingfee($ebay_carrier, $all_weight[$i], $ebay_countryname, $v);
                                $shipfee = calctrueshippingfee($ebay_carrier0, $all_weight[$i], $ebay_countryname, $all_ebay_id[$i]);
                                //$ebay_carrier	= $fees[0];
                                //$shipfee		= $fees[1];
                                //$totalweight	= $fees[2];
                                echo "\n经计算 运费 {$shipfee} 重量 {$all_weight[$i]} 包装材料\n";
                                $bb = "update ebay_order set ordershipfee='{$shipfee}', orderweight ='{$all_weight[$i]}', ebay_total = '{$all_ebay_total[$i]}' where ebay_id ='{$v}' ";
                                $dbcon->execute($bb);
                                $sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, mode, create_date) values \n\t\t\t\t\t\t\t('{$ebay_order['recordnumber']}', '{$ebay_id}', '{$v}', '5', '" . date("Y-m-d H:i:s") . "')";
                                $dbcon->execute($sql);
                            }
                            /*if($all_weight[0] > 2){//拆分之后的有货订单自动跳转到超重订单中
                            			$sql	= "update ebay_order set ebay_status='608' where ebay_id ='{$all_ebay_id[0]}' ";
                            			$log_data .= "ebay==自动部分发货非快递有货订单{$all_ebay_id[0]} 超重移动到超重订单文件夹中!\n";
                            			$dbcon->execute($sql);
                            		}*/
                            ${$recordorder} = true;
                            if (count($all_ebay_id) == 2) {
                                $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【ebay】自动部分发货非快递订单 是原订单 移动到回收站中!\n";
                                $sql = "update ebay_order set ebay_status = '615' where ebay_id ='{$ebay_id}' ";
                                // 原来的订单隐藏
                                $dbcon->execute($sql);
                            }
                        }
                    }
                }
            } else {
                $log_data .= "{$ebay_id} 部分缺货非快递 拆分统计有误,请核实!\n";
            }
        } else {
            if (in_array($ebay_status, array('659'))) {
                //自动部分包货快递拆分处理
                if (in_array($ebay_carrier0, $no_express_delivery)) {
                    continue;
                }
                if (isset($part_intercept['yes']) && isset($part_intercept['no']) && count($part_intercept['yes']) < count($orderdetaillist) && count($part_intercept['no']) < count($orderdetaillist)) {
                    if (in_array($ebay_account, $SYSTEM_ACCOUNTS['dresslink']) || in_array($ebay_account, $SYSTEM_ACCOUNTS['cndirect'])) {
                        $now = time();
                        $ebay_addtime = $ebay_order['ebay_addtime'];
                        if ($now - $ebay_addtime < 2 * 24 * 3600) {
                            continue;
                            //小于2天跳过
                        }
                        echo "\n===========" . $ebay_id . "============\n";
                        echo "\n-------独立商城--------\n";
                        //echo "yes\n"; print_r($part_intercept['yes']); echo "\n";
                        //echo "no\n"; print_r($part_intercept['no']); echo "\n";
                        if (count($part_intercept['yes']) > 0) {
                            //有货的等于或者超过1个
                            $all_weight = array();
                            $all_ebay_id = array();
                            $all_ebay_total = array();
                            $insertarr = $ebay_order;
                            unset($insertarr['ebay_id']);
                            unset($insertarr['ebay_tracknumber']);
                            $new_ordersn = generateOrdersn();
                            $insertarr['ebay_ordersn'] = $new_ordersn;
                            $insertarr['ebay_status'] = 641;
                            $insertarr['ebay_addtime'] = time();
                            $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                            $dbcon->execute($sql);
                            $insert_ebay_id = $dbcon->insert_id();
                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货非快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} \n";
                            $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                            $result = $dbcon->execute($sql);
                            $orderdetails = $dbcon->getResultArray($result);
                            $total_moneny = '';
                            $ebay_total = 0;
                            foreach ($orderdetails as $orderdetail) {
                                if (in_array($orderdetail['sku'], $part_intercept['yes'])) {
                                    $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                    $insertarr = $orderdetail;
                                    unset($orderdetail['ebay_id']);
                                    $orderdetail['ebay_ordersn'] = $new_ordersn;
                                    $total_moneny = ($orderdetail['sku'] + $orderdetail['sku']) * $orderdetail['sku'];
                                    $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                    if ($dbcon->execute($sql)) {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                    } else {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加明细失败\n";
                                    }
                                }
                            }
                            $sql = "select * from fedex_remark where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                            $result = $dbcon->execute($sql);
                            $fedexremarks = $dbcon->getResultArray($result);
                            //$total_moneny = '';
                            //$ebay_total = 0;
                            foreach ($fedexremarks as $fedexremark) {
                                //if(in_array($orderdetail['sku'], $part_intercept['yes'])){
                                //$ebay_total += $orderdetail['ebay_itemprice']*$orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                $insertarr = $fedexremark;
                                unset($insertarr['id']);
                                $insertarr['ebay_ordersn'] = $new_ordersn;
                                $insertarr['datetime'] = date('Y-m-d H:i:s', time());
                                //$total_moneny = ($orderdetail['sku'] + $orderdetail['sku']) * $orderdetail['sku'];
                                $sql = "INSERT INTO fedex_remark SET " . array2sql_bak($insertarr);
                                if ($dbcon->execute($sql)) {
                                    $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加快递描述成功!\n";
                                } else {
                                    $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加快递描述失败--{$sql}\n";
                                }
                                //}
                            }
                            //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                            $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                            $all_weight[] = $totalweight;
                            $all_ebay_id[] = $insert_ebay_id;
                            $all_ebay_total[] = $ebay_total;
                            if (count($part_intercept['no']) > 0) {
                                //没货的
                                $insertarr = $ebay_order;
                                unset($insertarr['ebay_id']);
                                unset($insertarr['ebay_tracknumber']);
                                $new_ordersn = generateOrdersn();
                                $insertarr['ebay_ordersn'] = $new_ordersn;
                                $insertarr['ebay_status'] = 682;
                                //
                                $insertarr['ebay_addtime'] = time();
                                $sql = "INSERT INTO ebay_order SET " . array2sql($insertarr);
                                $dbcon->execute($sql);
                                $insert_ebay_id = $dbcon->insert_id();
                                $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} \n";
                                $sql = "select * from ebay_orderdetail where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                                $result = $dbcon->execute($sql);
                                $orderdetails = $dbcon->getResultArray($result);
                                $ebay_total = 0;
                                foreach ($orderdetails as $orderdetail) {
                                    if (in_array($orderdetail['sku'], $part_intercept['no'])) {
                                        $ebay_total += $orderdetail['ebay_itemprice'] * $orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                        $insertarr = $orderdetail;
                                        unset($orderdetail['ebay_id']);
                                        $orderdetail['ebay_ordersn'] = $new_ordersn;
                                        $sql = "INSERT INTO ebay_orderdetail SET " . array2sql($orderdetail);
                                        if ($dbcon->execute($sql)) {
                                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细成功!\n";
                                        } else {
                                            $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来无货的订单 {$insert_ebay_id} --添加明细失败\n";
                                        }
                                    }
                                }
                                $sql = "select * from fedex_remark where ebay_ordersn = '{$ebay_order['ebay_ordersn']}'";
                                $result = $dbcon->execute($sql);
                                $fedexremarks = $dbcon->getResultArray($result);
                                //$total_moneny = '';
                                //$ebay_total = 0;
                                foreach ($fedexremarks as $fedexremark) {
                                    //if(in_array($orderdetail['sku'], $part_intercept['yes'])){
                                    //$ebay_total += $orderdetail['ebay_itemprice']*$orderdetail['ebay_amount'] + $orderdetail['shipingfee'];
                                    $insertarr = $fedexremark;
                                    unset($insertarr['id']);
                                    $insertarr['ebay_ordersn'] = $new_ordersn;
                                    $insertarr['datetime'] = date('Y-m-d H:i:s', time());
                                    //$total_moneny = ($orderdetail['sku'] + $orderdetail['sku']) * $orderdetail['sku'];
                                    $sql = "INSERT INTO fedex_remark SET " . array2sql_bak($insertarr);
                                    if ($dbcon->execute($sql)) {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加快递描述成功!\n";
                                    } else {
                                        $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 拆分出来有货的订单 {$insert_ebay_id} --添加快递描述失败--{$sql}\n";
                                    }
                                    //}
                                }
                                //$order_statistics->replaceData($new_ordersn, array('mask'=>1), array('mask'=>1));
                                $totalweight = recalcorderweight($new_ordersn, $ebay_packingmaterial);
                                $all_weight[] = $totalweight;
                                $all_ebay_id[] = $insert_ebay_id;
                                $all_ebay_total[] = $ebay_total;
                            }
                            echo "重量\n";
                            print_r($all_weight);
                            echo "\n";
                            echo "价格\n";
                            print_r($all_ebay_total);
                            echo "\n";
                            echo "ids\n";
                            print_r($all_ebay_id);
                            echo "\n";
                            foreach ($all_ebay_id as $i => $v) {
                                //$ebay_total = round($ebay_order['ebay_total']*($all_weight[$i]/array_sum($all_weight)),2);
                                //$shipfee 	= calctrueshippingfee($ebay_carrier, $all_weight[$i], $ebay_countryname, $v);
                                $shipfee = calctrueshippingfee($ebay_carrier0, $all_weight[$i], $ebay_countryname, $all_ebay_id[$i]);
                                //$ebay_carrier	= $fees[0];
                                //$shipfee		= $fees[1];
                                //$totalweight	= $fees[2];
                                echo "\n经计算 运费 {$shipfee} 重量 {$all_weight[$i]} 包装材料\n";
                                $bb = "update ebay_order set ordershipfee='{$shipfee}', orderweight ='{$all_weight[$i]}', ebay_total = '{$all_ebay_total[$i]}' where ebay_id ='{$v}' ";
                                $dbcon->execute($bb);
                                $sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, mode, create_date) values \n\t\t\t\t\t\t\t('{$ebay_order['recordnumber']}', '{$ebay_id}', '{$v}', '5', '" . date("Y-m-d H:i:s") . "')";
                                $dbcon->execute($sql);
                            }
                            /*if($all_weight[0] > 2){//拆分之后的有货订单自动跳转到超重订单中
                            			$sql	= "update ebay_order set ebay_status='608' where ebay_id ='{$all_ebay_id[0]}' ";
                            			$log_data .= "ebay==自动部分发货非快递有货订单{$all_ebay_id[0]} 超重移动到超重订单文件夹中!\n";
                            			$dbcon->execute($sql);
                            		}*/
                            ${$recordorder} = true;
                            if (count($all_ebay_id) == 2) {
                                $log_data .= "\n[" . date("Y-m-d H:i:s") . "]\t 【{$ebay_account}】自动部分发货快递订单 {$ebay_id} 是原订单 移动到回收站中!\n";
                                $sql = "update ebay_order set ebay_status = '615' where ebay_id ='{$ebay_id}' ";
                                // 原来的订单隐藏
                                $dbcon->execute($sql);
                            }
                        }
                    }
                } else {
                    $log_data .= "{$ebay_id} 部分缺货非快递 拆分统计有误,请核实!\n";
                }
            }
        }
        if (!empty($log_data)) {
            write_scripts_log('auto_contrast_intercept', $ebay_account, $log_data);
        }
        //$dbcon->close();
    }
}