Пример #1
0
 public function view_showForm()
 {
     global $memc_obj;
     $pagesize = 200;
     //页面大小
     $whereSql = $this->buildWhereSql();
     //echo $whereSql;exit;
     $packorder_obj = new PackingOrderModel();
     $rownumber = $packorder_obj->getRowAllNumber($whereSql . ' group by po.id ');
     //获得所有的行数
     $pager = new Page($rownumber, $pagesize);
     $billlist = $packorder_obj->getBillList($whereSql . ' group by po.id order by pd.pName ' . $pager->limit);
     //更具条件获得发货单
     $packorder_obj->buildOrderinfo($billlist);
     /*
             //去除重复的
             $currentid = NULL;
             $prekey = 0;
             foreach ($billlist as $key=>$valbill){
                 if ($currentid == $valbill['id']) {
                 	$billlist[$prekey]['originOrderId'] .= ', '.$valbill['originOrderId'];
                 	unset($billlist[$key]);
                 }else {
                     $prekey = $key;
                     $currentid = $valbill['id'];
                 }
             }
     */
     $materInfo = CommonModel::getMaterInfoAll();
     //获取包材信息
     $materInfo = reverse_array($materInfo, 'pmName', 'id');
     $shipingtyplist = CommonModel::getShipingTypeList();
     //运输方式列表
     $shipingtyplist = reverse_array($shipingtyplist, 'carrierNameCn', 'id');
     $salesaccountlist = CommonModel::getSalesaccountList();
     //获取销售帐号
     $salesaccountlist = reverse_array($salesaccountlist, 'account', 'id');
     //print_r($salesaccountlist);exit;
     $platformList = CommonModel::getPlatformInfo();
     //获取平台帐号
     $platformList = reverse_array($platformList, 'platform', 'id');
     $this->smarty->assign('shipingtypelist', $shipingtyplist);
     $this->smarty->assign('salesaccountlist', $salesaccountlist);
     $this->smarty->assign('platformList', $platformList);
     foreach ($billlist as $key => $valbil) {
         $tracknumber = '';
         $str_info = OmAvailableModel::getTNameList("wh_order_tracknumber", "tracknumber", "where shipOrderId='{$valbil['id']}' and is_delete=0");
         if (!empty($str_info)) {
             $tracknumber = $str_info[0]['tracknumber'];
         }
         $billlist[$key]['tracknumber'] = $tracknumber;
         $originOrder_arr = array();
         $originOrder_str = '';
         $originOrder_info = OmAvailableModel::getTNameList("wh_shipping_order_relation", "originOrderId", "where shipOrderId='{$valbil['id']}'");
         if (!empty($originOrder_info)) {
             foreach ($originOrder_info as $originOrder) {
                 $originOrder_arr[] = $originOrder['originOrderId'];
             }
             $originOrder_str = implode(',', $originOrder_arr);
         }
         $billlist[$key]['originOrder'] = $originOrder_str;
         //运输方式
         $billlist[$key]['shipingname'] = $shipingtyplist[$valbil['transportId']];
         //包材
         $billlist[$key]['materName'] = $materInfo[$valbil['pmId']];
         //平台
         $billlist[$key]['platformName'] = $platformList[$valbil['platformId']];
         //销售账号
         $billlist[$key]['salesaccountinfo'] = $salesaccountlist[$valbil['accountId']];
     }
     if ($rownumber > $pagesize) {
         //分页
         $pagestr = $pager->fpage(array(0, 2, 3, 4, 5, 6, 7, 8, 9));
     } else {
         $pagestr = $pager->fpage(array(0, 2, 3));
     }
     $this->smarty->assign('pagestr', $pagestr);
     $this->smarty->assign('billlist', $billlist);
     //发货单列表
     $this->smarty->assign('secnev', 3);
     $libstu_obj = new LibraryStatusModel();
     //出库状态类型
     $libstatuslist = $libstu_obj->getAllLibStatusList(' and groupId in (4 ,5)');
     $this->smarty->assign('outstatuslist', $libstatuslist);
     $toptitle = '订单查询';
     //头部title
     $this->smarty->assign('toptitle', $toptitle);
     $storeId = isset($_GET['storeId']) ? intval($_GET['storeId']) : 0;
     if ($storeId == 1) {
         $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '发货单查询'), array('url' => '', 'title' => 'A仓发货单'));
     } elseif ($storeId == 2) {
         $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '发货单查询'), array('url' => '', 'title' => 'B仓发货单'));
     } else {
         $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '发货单查询'));
     }
     $this->smarty->assign('navlist', $navlist);
     $toplevel = 2;
     //一级菜单的序号  0 开始
     $this->smarty->assign('toplevel', $toplevel);
     $secondlevel = isset($_GET['secondlevel']) ? trim($_GET['secondlevel']) : '';
     if (empty($secondlevel)) {
         $secondlevel = '21';
         //当前的二级菜单
     }
     $this->smarty->assign('secondlevel', $secondlevel);
     $this->smarty->assign('platLists', $_SESSION['platformList']);
     $this->smarty->assign('accounts', $_SESSION['accountList']);
     $this->smarty->assign('shippingList', $_SESSION['shippingList']);
     $this->smarty->display('dispatchbillquery.htm');
 }
Пример #2
0
 public function act_orderPartion()
 {
     $orderid = isset($_POST['orderid']) ? trim($_POST['orderid']) : "";
     if (!is_numeric($orderid)) {
         $tracknumber = $orderid;
         $info = orderWeighingModel::selectOrderId($tracknumber);
         if (!$info) {
             self::$errCode = 501;
             self::$errMsg = "此跟踪号不存在!";
             return false;
         }
         $orderid = $info[0]['shipOrderId'];
     }
     $where = "where id={$orderid}";
     $order = orderPartionModel::selectOrder($where);
     if (!$order) {
         self::$errCode = 601;
         self::$errMsg = "此发货单不存在!";
         return false;
     }
     if (!is_numeric($orderid)) {
         $orderid = $order[0]['id'];
     }
     $msg = orderPartionModel::selectPartionRecord($orderid);
     if ($msg) {
         self::$errCode = 603;
         self::$errMsg = "此发货单已扫描!";
         return false;
     }
     if ($order[0]['orderStatus'] != 406) {
         self::$errCode = 602;
         self::$errMsg = "此发货单不在待分区!";
         return false;
     }
     $shipping = CommonModel::getShipingNameById($order[0]['transportId']);
     if (!in_array($shipping, array('中国邮政平邮', '中国邮政挂号', 'EUB', 'Global Mail', '香港小包平邮', '香港小包挂号', '德国邮政'))) {
         self::$errCode = 604;
         self::$errMsg = "此发货单不是小包!";
         return false;
     }
     $partion = $shipping;
     $platformName = CommonModel::getPlatformInfo($order[0]['platformId']);
     if ($shipping == 'Global Mail') {
         if ($platformName == '亚马逊') {
             $partion = "非德国Global Mail";
         } elseif ($platformName == '海外销售平台') {
             if ($order[0]['countryName'] == 'Deutschland') {
                 $partion = "Global Mail";
             } else {
                 $partion = "非德国Global Mail";
             }
         }
     } elseif ($shipping == '中国邮政平邮') {
         $partion = printLabelModel::showPartionScan($orderid, $order[0]['accountId'], $shipping, $order[0]['countryName']);
     } elseif ($shipping == '中国邮政挂号') {
         $partion = printLabelModel::showPartionScan($orderid, $order[0]['accountId'], $shipping, $order[0]['countryName']);
     }
     /*
     		$lists = $memc_obj->get_extral('trans_system_carrierinfo');
     		//print_r($lists);
     		foreach($lists as $list){
     			foreach($list as $value){
     			    
     				if($record[0]['channelId']==$value['channelId']){
     					
     					$countries = $value['countries'];
     					$country_arr = explode("','",$countries);
     					$country_arr[0] = str_replace("'","",$country_arr[0]);
     					$country_arr[count($country_arr)-1] = str_replace("'","",$country_arr[count($country_arr)-1]);
     					if(in_array($record[0]['countryName'],$country_arr)){
     						
     						$partionId = $value['id'];
     					}
     				}
     			}
     		}*/
     TransactionBaseModel::begin();
     $weight = orderPartionModel::selectWeight($orderid);
     if (!$weight) {
         self::$errCode = 605;
         self::$errMsg = "此发货单无重量!";
         return false;
     }
     $userId = $_SESSION['userId'];
     $result = orderPartionModel::insertRecord($orderid, $partion, $weight, $userId);
     if (!result) {
         self::$errCode = 606;
         self::$errMsg = "插入分区记录失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     $ret = orderPartionModel::updateOrderRecords($orderid, $userId);
     if (!ret) {
         self::$errCode = 607;
         self::$errMsg = "更新操作记录失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     $ostatus = orderPartionModel::updateOrderStatus($orderid);
     if (!ostatus) {
         self::$errCode = 608;
         self::$errMsg = "更新发货单状态失败!";
         TransactionBaseModel::rollback();
         return false;
     }
     $arr['orderid'] = $orderid;
     $arr['partion'] = urlencode($partion);
     TransactionBaseModel::commit();
     return $arr;
 }