public function act_handelSubmit()
 {
     $expressdata = null;
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         // 以post方式提交的数据为 一个订单有多个跟踪号的情况
         $orderid = trim($_POST['orderid']);
         $expressid = trim($_POST['expressid']);
         $expressid = trim($_POST['expressid'], "\n");
         $exidar = explode("\n", $expressid);
         $len = count($exidar);
         for ($i = 0; $i < $len; $i++) {
             // 去除中间的空白
             $temp = trim($exidar[$i]);
             if (empty($temp)) {
                 unset($exidar[$i]);
             }
         }
         if (empty($exidar)) {
             // 提交的是空白
             self::$errCode = 0;
             self::$errMsg = '快递号为空!';
             return;
         }
         $expressdata = $exidar;
         // $expressid = implode('和', $exidar);
     } else {
         $orderid = trim($_GET['orderid']);
         $expressid = trim($_GET['expressid']);
         $expressdata = $expressid;
     }
     if ($orderid < 1 || empty($orderid)) {
         // 不合法的id
         self::$errCode = 0;
         self::$errMsg = '单号不合法!';
         return;
     }
     if (empty($expressdata)) {
         self::$errCode = 0;
         self::$errMsg = '追踪号码不能为空!';
         return;
     }
     $po_obj = new PackingOrderModel();
     $orderinfo = $po_obj->getOrderInfoById($orderid);
     if (empty($orderinfo)) {
         self::$errCode = 0;
         self::$errMsg = '单号不正确';
         return;
     }
     if ($orderinfo['orderStatus'] != PKS_EX_TNRCK) {
         //该订单不在快递待复核状态
         self::$errCode = 0;
         self::$errMsg = '该发货单不在快递待复核组!';
         return;
     }
     $tir_obj = new TrackInfoRecordModel();
     $result = $tir_obj->validataTracnumber($orderid, $expressdata, 1);
     self::$errCode = TrackInfoRecordModel::$errCode;
     self::$errMsg = TrackInfoRecordModel::$errMsg;
     return;
 }
Beispiel #2
0
 public function view_fileDataImport()
 {
     // var_dump($_FILES);exit;
     // 处理联邦快递数据导入
     $_FILES['excelsheet'];
     if ($_FILES['excelsheet']['error'] != 0) {
         // 文件没有上传成功
         $data = array("data" => array('文件上传失败!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput');
         goErrMsgPage($data);
         exit;
     } else {
         $tir_obj = new TrackInfoRecordModel();
         $result = $tir_obj->recordDataFromExecl_all();
         //  var_dump($result);exit();
         if (empty($result)) {
             // 么有成功
             $data = array("data" => array('操作失败!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput');
             goErrMsgPage($data);
             exit;
         }
     }
     $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '快递待复核数据导入'));
     $this->smarty->assign('navlist', $navlist);
     $toptitle = '复核数据导入';
     // 顶部链接
     $this->smarty->assign('toptitle', $toptitle);
     $toplevel = 2;
     // 顶层菜单
     $this->smarty->assign('toplevel', $toplevel);
     $secondlevel = '28';
     // 当前的二级菜单
     $this->smarty->assign('secondlevel', $secondlevel);
     $this->smarty->assign('list', TrackInfoRecordModel::$data);
     $this->smarty->display('tracknumimport.htm');
 }
 public function validataTracnumber($orderid, $expressid)
 {
     $sqlstr = 'select expressid from wh_orderid_expressid_map where orderid=' . "'{$orderid}'";
     $result = $this->dbconn->query($sqlstr);
     $checkresult = 0;
     $haveone = FALSE;
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         // 处理一个订单多个跟踪号的情况
         while ($row = mysql_fetch_assoc($result)) {
             $haveone = TRUE;
             $tempar = explode('和', $row['expressid']);
             //var_dump($tempar);exit;
             //print_r($expressid);exit;
             $checkresult = 1;
             foreach ($tempar as $exval) {
                 if (!in_array($exval, $expressid)) {
                     $checkresult = 0;
                     break;
                 }
             }
             if ($checkresult == 0) {
                 continue;
             } else {
                 break;
             }
         }
     } else {
         while ($row = mysql_fetch_assoc($result)) {
             $haveone = TRUE;
             // if( $row['expressid'] == $expressid ){
             if (strpos($expressid, sprintf('%s', $row['expressid'])) !== false) {
                 if (strlen($expressid) != $row['expressid']) {
                     // 判断为联邦快递
                     $offset = strpos($expressid, sprintf('%s', $row['expressid']));
                     // 偏移量
                     $cutlen = strlen($expressid) - strlen($row['expressid']);
                     // 前后缀长之和
                     $formatedtrid = substr($expressid, $offset, strlen($expressid) - $cutlen);
                     $expressid = $formatedtrid;
                     $expressid = $row['expressid'];
                     // 2013/7/10 修改 涂兴隆
                 }
                 // 验证成功
                 $sql_updata = 'update wh_orderid_expressid_map set checked =1 where orderid=' . "'{$orderid}'";
                 // echo $sql_updata;exit;
                 $this->dbconn->query($sql_updata);
                 $checkresult = 1;
                 break;
             }
         }
     }
     if (!$haveone) {
         self::$errCode = 0;
         self::$errMsg = '跟踪号未录入!';
         return FALSE;
     }
     //echo $checkresult;exit;
     if ($checkresult == 1) {
         //验证成功
         $upres = $this->updataExpressId($expressid, $orderid, 1);
         if (!$upres) {
             self::$errCode = 0;
             self::$errMsg = '验证失败';
             return FALSE;
         } else {
             self::$errCode = 1;
             self::$errMsg = '成功';
             return TRUE;
         }
     } else {
         self::$errCode = 0;
         self::$errMsg = '复核失败,请检查包裹!';
         return FALSE;
     }
 }