function act_outProduct() { error_reporting(E_ALL); header("Content-type:text/html;charset=utf-8"); $start = isset($_POST['start']) ? trim($_POST['start']) : ""; $end = isset($_POST['end']) ? trim($_POST['end']) : ""; $date = $start . "————" . $end; $filepath = "/data/web/erp.valsun.cn/xls/kpi.valsun.cn/发货订单明细" . $date . ".xls"; $flat = array("中国邮政平邮", "香港小包平邮"); $regiest = array("中国邮政挂号", "香港小包挂号", "EUB", "UPS美国专线", "Global Mail", "德国邮政挂号", "新加坡小包挂号"); //$fastmail = "快递"; $info = array("simple*flat" => array("0-1000" => 1, "1001-2000" => 2), "multi*flat" => array("0-200" => 1, "201-1000" => 2, "1001-2000" => 2.5), "many*flat" => array("0-200" => 1, "201-1000" => 2.2, "1001-2000" => 3.2), "simple*regiest" => array("0-1000" => 1.3, "1001-2000" => 2.5), "multi*regiest" => array("0-200" => 1.2, "201-1000" => 2, "1001-2000" => 3), "many*regiest" => array("0-200" => 1.2, "201-1000" => 2.5, "1001-2000" => 3.5)); $info_op = array("simple*flat" => array("0-1000" => 1, "1001-2000" => 2), "multi*flat" => array("0-200" => 1, "201-1000" => 2.2, "1001-2000" => 2.5), "many*flat" => array("0-200" => 2, "201-1000" => 2.5, "1001-2000" => 3.2), "simple*regiest" => array("0-1000" => 1, "1001-2000" => 2), "multi*regiest" => array("0-200" => 1.5, "201-1000" => 2, "1001-2000" => 3), "many*regiest" => array("0-200" => 2, "201-1000" => 2.5, "1001-2000" => 3.5)); $orderlist = KpiListModel::getOrderList($start, $end); $exporter = new ExportDataExcel("browser", "outProduct" . $date . ".xls"); $exporter->initialize(); // starts streaming data to web browser $exporter->addRow(array("日期", "订单编号", "料号", "数量", "重量", "仓位号", "国家", "包裹总价值", "币种", "挂号条码", "邮费", "运输方式", "配货员", "复核员", "包装员", "扫描员", "配货折算数量", "复核、包装折算数量", "称重折算数量", "扫描时间")); $idarr = array(); foreach ($orderlist as $key => $order) { if (in_array($order['ebay_id'], $idarr)) { continue; } else { $idarr[] = $order['ebay_id']; } $ebay_id = $order['ebay_id']; $ebay_ordersn = $order['ebay_ordersn']; $scantime = empty($order['scantime']) ? "" : date("Y-m-d", $order['scantime']); $sctime = empty($order['scantime']) ? "" : date("Y-m-d H:i:s", $order['scantime']); $producter = KpiListModel::getScanRecordById($ebay_id); $review = KpiListModel::getReviewListById($ebay_id); if ($review) { $reviewer = $review[0]['user']; } else { $reviewer = ""; } $detaillist = KpiListModel::getOrderDetailList($ebay_ordersn); $producter = KpiListModel::pda_user($producter); $producter = $producter['username']; if (count($detaillist) == 1 && $detaillist[0]['ebay_amount'] == 1) { $msg = "simple"; } elseif (count($detaillist) == 1 && $detaillist[0]['ebay_amount'] > 1) { $msg = "multi"; } elseif (count($detaillist) > 1) { $msg = "many"; } if (in_array($order['ebay_carrier'], $flat)) { $carrier_msg = "flat"; } elseif (in_array($order['ebay_carrier'], $regiest)) { $carrier_msg = "regiest"; } else { $carrier_msg = "快递"; } $type = array(); if ($carrier_msg !== "快递") { $info_msg = $msg . "*" . $carrier_msg; foreach ($info_op[$info_msg] as $key_msg => $value_msg) { $weight = explode("-", $key_msg); if ($order['orderweight2'] >= $weight[0] && $order['orderweight2'] <= $weight[1]) { $num1 = $value_msg; foreach ($detaillist as $v) { if (preg_match("/^3/", $v['goods_location'])) { $num1 = $num1 + 0.5; } } } } foreach ($info[$info_msg] as $key_msg => $value_msg) { $weight = explode("-", $key_msg); if ($order['orderweight2'] >= $weight[0] && $order['orderweight2'] <= $weight[1]) { $num2 = $value_msg; } } } else { $num1 = 50; $num2 = 50; } if (in_array($order['ebay_carrier'], array("中国邮政平邮", "香港小包平邮", "EUB", "UPS美国专线", "Global Mail"))) { $num3 = 1; } elseif (in_array($order['ebay_carrier'], array("中国邮政挂号", "香港小包挂号", "德国邮政挂号", "新加坡小包挂号"))) { $num3 = 1.5; } else { $num3 = "快递"; //continue; } if (count($detaillist) == 1) { $exporter->addRow(array($scantime, $ebay_id, $detaillist[0]['sku'], $detaillist[0]['ebay_amount'], $order['orderweight2'], $detaillist[0]['goods_location'], $order['ebay_countryname'], $order['ebay_total'], $order['ebay_currency'], $order['ebay_tracknumber'], $order['ebay_shipfee'], $order['ebay_carrier'], $producter, $reviewer, $order['packagingstaff'], $order['packinguser'], $num1, $num2, $num3, $sctime)); } else { $amount = 0; foreach ($detaillist as $detail) { $amount += $detail['ebay_amount']; } $exporter->addRow(array($scantime, $ebay_id, "", $amount, $order['orderweight2'], "", $order['ebay_countryname'], $order['ebay_total'], $order['ebay_currency'], $order['ebay_tracknumber'], $order['ebay_shipfee'], $order['ebay_carrier'], $producter, $reviewer, $order['packagingstaff'], $order['packinguser'], $num1, $num2, $num3, $sctime)); foreach ($detaillist as $orderdetail) { $exporter->addRow(array("", $ebay_id, $orderdetail['sku'], $orderdetail['ebay_amount'], "", $orderdetail['goods_location'], $order['ebay_countryname'], "", "", "", "", $order['ebay_carrier'], "", "", "", "", "", "", "", "")); } } } $exporter->finalize(); // writes the footer, flushes remaining data to browser. //return "发货订单明细".$date.".xls"; exit; }