Example #1
0
 /**
  * WedoApiModel::orderWedoExport()
  * 导出运德物流订单跟踪号信息
  * @param string $condition 导出条件
  * @param integer $pagesize 每页数量
  * @return string 
  */
 public static function orderWedoExport($condition, $pagesize = 10000)
 {
     self::initDB();
     $totalnum = 0;
     $data = "";
     $sql = "SELECT count(*) AS totalnum FROM\t" . self::$prefix . self::$wedo_order . " WHERE {$condition}";
     $query = self::$dbConn->query($sql);
     if ($query) {
         $res = self::$dbConn->fetch_array($query);
         $totalnum = intval($res['totalnum']);
     } else {
         self::$errCode = 10000;
         self::$errMsg = "获取数据失败";
         return "fail";
     }
     if ($totalnum == 0) {
         self::$errCode = 10001;
         self::$errMsg = "选择的时间范围类,没有数据需要导出!";
         return "fail";
     }
     $pages = ceil($totalnum / $pagesize);
     $filename = 'wedo_number_info_' . $_SESSION[C('USER_AUTH_SYS_ID')];
     $statusList = C('TRACK_STATUS_DETAIL');
     $fileurl = WEB_URL . "temp/" . $filename . ".xls";
     $filepath = WEB_PATH . "html/temp/" . $filename . ".xls";
     for ($i = 0; $i < $pages; $i++) {
         $offset = $i * $pagesize;
         $sql = "SELECT *\tFROM " . self::$prefix . self::$wedo_order . " WHERE {$condition} LIMIT {$offset},{$pagesize}";
         $query = self::$dbConn->query($sql);
         $res = self::$dbConn->fetch_array_all($query);
         if ($i == 0) {
             $data = '<?xml version="1.0" encoding="UTF-8"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"><Styles><Style ss:ID="sDT"><NumberFormat ss:Format="Short Date"/></Style></Styles><Worksheet ss:Name="Sheet1"><Table><Row><Cell><Data ss:Type="String">订单号/交易号</Data></Cell><Cell><Data ss:Type="String">跟踪号</Data></Cell><Cell><Data ss:Type="String">发货时间</Data></Cell><Cell><Data ss:Type="String">发往国家</Data></Cell><Cell><Data ss:Type="String">店铺帐号</Data></Cell></Row>' . "\n";
         }
         foreach ($res as $v) {
             $data .= '<Row><Cell><Data ss:Type="String">' . $v['orderSn'] . '</Data></Cell><Cell><Data ss:Type="String">' . $v['trackNumber'] . '</Data></Cell><Cell ss:StyleID="sDT"><Data ss:Type="DateTime">' . strftime("%Y-%m-%dT%H:%M:%S", $v['scanTime']) . '</Data></Cell><Cell><Data ss:Type="String">' . $v['toCountry'] . '</Data></Cell><Cell><Data ss:Type="String">' . $v['platAccount'] . '</Data></Cell></Row>' . "\n";
         }
         if ($i == 0) {
             write_w_file($filepath, $data);
         } else {
             write_a_file($filepath, $data);
         }
         $data = "";
     }
     $data = "</Table></Worksheet></Workbook>";
     write_a_file($filepath, $data);
     if (file_exists($filepath)) {
         return $fileurl;
     } else {
         return "fail";
     }
 }
Example #2
0
 /**
  * WedoApiAct::act_orderExport()
  * 导出运德物流订单跟踪号信息
  * @param string $timeNode 时间节点
  * @return json string 
  */
 public function act_orderExport()
 {
     $uid = intval($_SESSION[C('USER_AUTH_SYS_ID')]);
     if (empty($uid)) {
         self::$errCode = 10001;
         self::$errMsg = "对不起,您尚未登录!";
         return false;
     }
     $timeNode = isset($_GET['timeNode']) ? post_check(trim($_GET['timeNode'])) : '';
     $condition = "1";
     $condition .= " AND add_user_id = '{$uid}'";
     if (!empty($timeNode)) {
         if (!in_array($timeNode, array('scanTime', 'addTime'))) {
             redirect_to("index.php?mod=wedoApi&act=orderExport");
         }
         $startTime = isset($_GET['startTime']) ? strtotime(trim($_GET['startTime']) . " 00:00:00") : strtotime(date("Y-m-d", time()) . " 00:00:00");
         $endTime = isset($_GET['endTime']) ? strtotime(trim($_GET['endTime']) . " 23:59:59") : strtotime(date("Y-m-d", time()) . " 23:59:59");
         if ($startTime && $endTime) {
             $condition .= ' AND ' . $timeNode . " BETWEEN '" . $startTime . "' AND " . "'" . $endTime . "'";
         }
     }
     $act = isset($_REQUEST["act"]) ? post_check($_REQUEST["act"]) : "";
     $mod = isset($_REQUEST["mod"]) ? post_check($_REQUEST["mod"]) : "";
     if (!AuthUser::checkLogin($mod, $act)) {
         self::$errCode = 10000;
         self::$errMsg = "对不起,您无跟踪号数据导出权限!";
         return false;
     }
     $res = WedoApiModel::orderWedoExport($condition);
     self::$errCode = WedoApiModel::$errCode;
     self::$errMsg = WedoApiModel::$errMsg;
     return $res;
 }