$total = TrackNumberModel::modListCount("carrierId = '{$carrierId}'");
$used = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND orderId > 0");
$last = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND orderId = 0");
$title = "【跟踪号可用数量预警】" . date('Y-m-d', time()) . " 运输方式{$res['carrierNameCn']}";
$table = '<p style="' . $css_height . '"><b>大家好:</b><br/>以下为运输方式<b>' . $res['carrierNameCn'] . '</b>跟踪号可用数量预警简报,请查阅</p>';
$table .= '<table border="1" cellpadding="0" cellspacing="0" width="791"><tr><td height="25px"><b>运输方式</b></td><td><b>跟踪号总数</b></td><td><b>已用数量</b></td><td><b>剩余数量</b></td></tr>';
$table .= '<tr><td height="20px">' . $res['carrierNameCn'] . '</td><td>' . $total . '</td><td>' . $used . '</td><td>' . $last . '</td></tr>';
$flag = false;
foreach ($chArr as $v) {
    $total_ch = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND channelId = '{$v['id']}'");
    $used_ch = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND channelId = '{$v['id']}' AND orderId > 0");
    $last_ch = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND channelId = '{$v['id']}' AND orderId = 0");
    if ($carrierId == 88) {
        $total_cur = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND countrys = 'Switzerland'");
        $used_cur = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND countrys = 'Switzerland' AND orderId > 0");
        $last_cur = TrackNumberModel::modListCount("carrierId = '{$carrierId}' AND countrys = 'Switzerland' AND orderId = 0");
        $table .= '<tr><td height="20px">' . $res['carrierNameCn'] . '->非瑞士国家</td><td>' . ($total - $total_cur) . '</td><td>' . ($used - $used_cur) . '</td><td>' . ($last - $last_cur) . '</td></tr>';
        $table .= '<tr><td height="20px">' . $res['carrierNameCn'] . '->瑞士国家</td><td>' . $total_cur . '</td><td>' . $used_cur . '</td><td>' . $last_cur . '</td></tr>';
    }
    if ($last_ch <= $warnNum) {
        $flag = true;
    }
    if ($carrierId == 2) {
        $table .= '<tr><td height="20px">' . $res['carrierNameCn'] . "->" . $v['channelName'] . '渠道</td><td>' . $total_ch . '</td><td>' . $used_ch . '</td><td>' . $last_ch . '</td></tr>';
    }
}
$table .= '</table>';
$table .= '<p style="' . $css_height . '">详情请登录:<a href="' . $system_url . '" target="_blank">' . $system_name . '</a><br/></br>' . date('Y-m-d') . '<br/>' . $system_name . '</p>';
echo $table, "\n";
//跟踪号可用数低于多少发预警邮件
if ($flag || $last <= $warnNum) {
Beispiel #2
0
 /**
  * TrackNumberAct::actBatchTrackNumberImport()
  * 批量导入跟踪号信息
  * @return array 
  */
 public function actBatchTrackNumberImport()
 {
     $data = array();
     $carrierId = isset($_POST['carrierId']) ? abs(intval($_POST['carrierId'])) : 0;
     $channelId = isset($_POST['nodeListItem']) ? abs(intval($_POST['nodeListItem'])) : 0;
     $country = isset($_POST['country']) ? post_check($_POST['country']) : "";
     $data['countrys'] = TransOpenApiModel::getCountriesStandard();
     $data['lists'] = TransOpenApiModel::getCarrier(2);
     self::$errCode = TransOpenApiModel::$errCode;
     self::$errMsg = TransOpenApiModel::$errMsg;
     if (self::$errCode != 0) {
         show_message($this->smarty, self::$errMsg, "");
         return false;
     }
     if (empty($carrierId)) {
         show_message($this->smarty, "运输方式参数非法", "");
         return false;
     }
     $uid = intval($_SESSION[C('USER_AUTH_SYS_ID')]);
     if (isset($_FILES['upfile']) && !empty($_FILES['upfile'])) {
         $fielName = $uid . "_track_number_" . date('YmdHis') . '_' . rand(1, 3009) . ".xls";
         $fileName = WEB_PATH . 'html/temp/' . $fielName;
         if (move_uploaded_file($_FILES['upfile']['tmp_name'], $fileName)) {
             $filePath = $fileName;
         }
     }
     if (substr($filePath, -3) != 'xls') {
         show_message($this->smarty, "导入的文件名格式错误!", "index.php?mod=trackNumber&act=trackNumberImport");
         return false;
     }
     //读取导入文件
     require_once WEB_PATH . "lib/PHPExcel.php";
     $PHPExcel = new PHPExcel();
     $PHPReader = new PHPExcel_Reader_Excel2007();
     if (!$PHPReader->canRead($filePath)) {
         $PHPReader = new PHPExcel_Reader_Excel5();
         if (!$PHPReader->canRead($filePath)) {
             show_message($this->smarty, "文件内容无法读取!", "index.php?mod=trackNumber&act=trackNumberImport");
             @unlink($filePath);
             return false;
         }
     }
     $PHPExcel = $PHPReader->load($filePath);
     $currentSheet = $PHPExcel->getSheet(0);
     $row = 1;
     while (1) {
         $flag = true;
         $aa = 'A' . $row;
         $tracknum = trim($currentSheet->getCell($aa)->getValue());
         $tracknum = mysql_real_escape_string(substr($tracknum, 0, 30));
         if (empty($tracknum)) {
             break;
         }
         if ($row == 1) {
             if ($tracknum != '跟踪号') {
                 echo '<font color="red">文件导入失败,导入模版内容有误,请勿修改表头</font>';
                 @unlink($filePath);
                 break;
             }
         } else {
             if (!preg_match("/^[A-Z0-9]{1,30}\$/", $tracknum)) {
                 echo '<font color="red">跟踪号内容: ' . $tracknum . ' 格式错误,跟踪号内容只能由大写字母和数字组成且长度不超过30,请修正后再次导入!</font>';
                 break;
             }
             $res = 0;
             $where = "carrierId = '{$carrierId}' AND trackNumber = '{$tracknum}'";
             $res = TrackNumberModel::modListCount($where);
             if ($res > 0) {
                 self::$errMsg .= "添加失败:{$carrierId}---{$tracknum}---跟踪信息已存在!<br/>";
                 $flag = false;
             }
             $datas = array("carrierId" => $carrierId, "channelId" => $channelId, "trackNumber" => $tracknum, "countrys" => $country, "addTime" => time(), "add_user_id" => $uid);
             if ($flag) {
                 $res = TrackNumberModel::addTrackNumber($datas);
                 if (!$res) {
                     self::$errMsg .= "添加失败:" . TrackNumberModel::$errMsg . "<br/>";
                     break;
                 }
             }
         }
         $row++;
     }
     $data['res'] = self::$errMsg;
     return $data;
 }