/** * 海外仓销售报表数据导出,未开发完成 */ 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]; } } }
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; } }