Ejemplo n.º 1
0
 public function view_editeForm()
 {
     $orderid = isset($_GET['orderid']) ? intval($_GET['orderid']) : 0;
     if (empty($orderid)) {
         //没有传入订单号
         $msgdata = array('data' => array('请指定发货单号!'), 'link' => $_SERVER['HTTP_REFERER']);
         goErrMsgPage($msgdata);
         exit;
     }
     $po_obj = new PackingOrderModel();
     $orderinfo = $po_obj->getOrderInfoById($orderid);
     if (empty($orderinfo)) {
         $msgdata = array('data' => array('单号不存在!'), 'link' => $_SERVER['HTTP_REFERER']);
         goErrMsgPage($msgdata);
         exit;
     }
     //获得配货记录信息
     $po_obj = new ShipingOrderDetailModel();
     $orderrecords = $po_obj->getShippingOrderRecordsById($orderid);
     if (!empty($orderrecords)) {
         $this->smarty->assign('actualweight', $orderrecords['actualWeight']);
         $this->smarty->assign('actualshipfee', $orderrecords['actualShipping']);
     }
     $this->smarty->assign('recipient', $orderinfo['username']);
     $this->smarty->assign('email', $orderinfo['email']);
     $this->smarty->assign('country', $orderinfo['countryName']);
     $this->smarty->assign('abbreviation', $orderinfo['countrySn']);
     $this->smarty->assign('state', $orderinfo['state']);
     $this->smarty->assign('city', $orderinfo['city']);
     $this->smarty->assign('street', $orderinfo['street']);
     $this->smarty->assign('address2', $orderinfo['address2']);
     $this->smarty->assign('address3', $orderinfo['address3']);
     $this->smarty->assign('currency', $orderinfo['currency']);
     $this->smarty->assign('shipping', $orderinfo['transportId']);
     $this->smarty->assign('sellaccount', $orderinfo['account']);
     $this->smarty->assign('status', $orderinfo['orderStatus']);
     $this->smarty->assign('channel', $orderinfo['channelId']);
     $this->smarty->assign('calcWeight', $orderinfo['calcWeight']);
     $this->smarty->assign('calcShipping', $orderinfo['calcShipping']);
     $this->smarty->assign('orderid', $orderid);
     //print_r($orderinfo);exit;
     $shippinglist = ShipingTypeModel::getShipingTypeList();
     $this->smarty->assign('shippinglist', $shippinglist);
     $navlist = array(array('url' => 'index.php?mod=dispatchBillQuery&act=showForm', 'title' => '出库'), array('url' => '', 'title' => '发货单编辑'));
     $this->smarty->assign('navlist', $navlist);
     $toptitle = '发货单编辑--单号【' . $orderid . '】';
     //顶部链接
     $this->smarty->assign('toptitle', $toptitle);
     $toplevel = 2;
     //顶层菜单
     $this->smarty->assign('toplevel', $toplevel);
     $this->smarty->assign('secnev', 3);
     //二级导航
     $this->smarty->display('showeditform.htm');
 }
Ejemplo n.º 2
0
 public function view_handelUnusalOrder()
 {
     $orderid = isset($_GET['orderid']) ? intval($_GET['orderid']) : 0;
     if ($orderid < 1) {
         $data = array('data' => array('请指定订单号!'), 'link' => 'index.php?mod=unusualOrder&act=unusualOrderList');
         goErrMsgPage($data);
         exit;
     }
     $po_obj = new PackingOrderModel();
     $orderinfo = $po_obj->getOrderInfoById($orderid);
     if (empty($orderinfo)) {
         $data = array('data' => array('不存在的单号!'), 'link' => 'index.php?mod=unusualOrder&act=unusualOrderList');
         goErrMsgPage($data);
         exit;
     }
     if ($orderinfo['orderStatus'] != PKS_UNUSUAL) {
         // 该订单不不属于异常订单
         $data = array('data' => array('该发货单不属于异常单!'), 'link' => 'index.php?mod=unusualOrder&act=unusualOrderList');
         goErrMsgPage($data);
         exit;
     }
     $sod_obj = new ShipingOrderDetailModel();
     $skulist = $sod_obj->getSkuListByOrderId($orderid);
     //该订单下的sku列表
     $sku_have = $sod_obj->getSkuHavedone($orderid);
     //已经配货的sku信息
     foreach ($sku_have as $skuhval) {
         if (array_key_exists($skuhval['shipOrderdetailId'], $skulist)) {
             $skulist[$skuhval['shipOrderdetailId']]['picknum'] = $skuhval['amount'];
         }
     }
     $sellorder = $po_obj->getSellOrderidByOrderid($orderid);
     $sellorderidstr = '';
     //与改发货单关联的订单号
     foreach ($sellorder as $soval) {
         $sellorderidstr .= $soval['originOrderId'] . '&nbsp&nbsp&nbsp';
     }
     $navlist = array(array('url' => '', 'title' => '出库'), array('url' => 'index.php?mod=unusualOrder&act=unusualOrderList', 'title' => '异常订单'));
     $this->smarty->assign('navlist', $navlist);
     $toptitle = '异常订单处理';
     //顶部链接
     $this->smarty->assign('toptitle', $toptitle);
     $toplevel = 2;
     //顶层菜单
     $this->smarty->assign('toplevel', $toplevel);
     $secondlevel = '29';
     //当前的二级菜单
     $this->smarty->assign('secondlevel', $secondlevel);
     $this->smarty->assign('secnev', 3);
     //二级导航
     $this->smarty->assign('orderid', $orderinfo['id']);
     //发货单id
     $this->smarty->assign('sellorderid', $sellorderidstr);
     //关联的订单号
     $this->smarty->assign('sellaccount', $orderinfo['account']);
     //销售账号
     $this->smarty->assign('type', ShipingTypeModel::typeIdTostr($orderinfo['orderTypeId']));
     $this->smarty->assign('skulist', $skulist);
     $this->smarty->display('unusralorderhandel.htm');
 }
Ejemplo n.º 3
0
 public function view_index()
 {
     print_r(ShipingTypeModel::getCateinfo());
 }
Ejemplo n.º 4
0
 private function handelScanSubmit($ordertype)
 {
     $sku = isset($_POST['sku']) ? trim($_POST['sku']) : 0;
     //sku
     $sku = get_goodsSn($sku);
     if (empty($sku)) {
         self::$errCode = 0;
         self::$errMsg = '请输入sku';
         return FALSE;
     }
     $orderid = isset($_POST['orderid']) ? abs(intval($_POST['orderid'])) : 0;
     //单号
     if (empty($orderid)) {
         self::$errCode = 0;
         self::$errMsg = '请输入单号!';
         return FALSE;
     }
     $num = isset($_POST['num']) ? intval($_POST['num']) : 0;
     //数量
     if (!(is_int($num) && $num > 0)) {
         self::$errCode = 0;
         self::$errMsg = '请输入正确的数量!';
         return FALSE;
     }
     $pName = isset($_POST['pname']) ? trim($_POST['pname']) : '';
     //仓位
     if (empty($pName)) {
         self::$errCode = 0;
         self::$errMsg = '仓位有误,请联系it';
         return FALSE;
     }
     $pcko_obj = new PackingOrderModel();
     $orderinfo = $pcko_obj->getOrderInfoById($orderid, ' and orderStatus=' . PKS_WGETGOODS);
     //发货单完整信息
     if (empty($orderinfo)) {
         //订单号不存在
         self::$errCode = 0;
         self::$errMsg = '订单号不存在!';
         return FALSE;
     }
     /* 验证该订单的类型是否符合要求 */
     if ($ordertype == 1) {
         //为快递单
         if (!ShipingTypeModel::isExpressShiping($orderinfo['transportId'])) {
             self::$errCode = 0;
             self::$errMsg = '该订单为非快递单!';
             return FALSE;
         }
     } elseif ($ordertype == 2) {
         //为非快递单
         if (!ShipingTypeModel::isSmallpressShiping($orderinfo['transportId'])) {
             self::$errCode = 0;
             self::$errMsg = '该订单非小包订单!';
             return FALSE;
         }
     } elseif ($ordertype == 3) {
         if (!ShipingTypeModel::isInlandShiping($orderinfo['transportId'])) {
             self::$errCode = 0;
             self::$errMsg = '该订单非国内快递订单!';
             return FALSE;
         }
     }
     /***添加料号、配货数量验证 start ***/
     if ($ordertype == 1) {
         $sod_obj = new ShipingOrderDetailModel();
         $rtnNum = $sod_obj->checkOrderSku($orderid, $sku);
         if ($rtnNum == 0) {
             self::$errCode = 20;
             self::$errMsg = '发货单号不存在料号[' . $sku . ']';
             return false;
         } else {
             $rtnNum = $sod_obj->checkSkuPickRecord($orderid, $sku, $pName);
             if ($rtnNum != 0) {
                 self::$errCode = 20;
                 self::$errMsg = '料号[' . $sku . ']已配货';
                 return false;
             } else {
                 $actualNum = $sod_obj->checkSkuQty($orderid, $sku);
                 $diffNum = $num - $actualNum;
                 if ($diffNum > 0) {
                     self::$errCode = 20;
                     self::$errMsg = '料号[' . $sku . ']需配货' . $actualNum . '件现配' . $num . '件多配' . $diffNum . '件';
                     return false;
                 } else {
                     if ($diffNum < 0) {
                         self::$errCode = 20;
                         self::$errMsg = '料号[' . $sku . ']需配货' . $actualNum . '件现配' . $num . '件少配-' . $diffNum . '件';
                         return false;
                     } else {
                     }
                 }
             }
         }
     }
     /***添加料号、配货数量验证 end ***/
     $sod_obj = new ShipingOrderDetailModel();
     $skulist = $sod_obj->getSkuListByOrderId($orderid);
     //该发货单下的全部sku列表
     $sku_scaned = $sod_obj->getSkuHavedone($orderid);
     //该订单下的已配货的sku列表
     foreach ($sku_scaned as $skval) {
         //去掉已配货的
         if (array_key_exists($skval['shipOrderdetailId'], $skulist)) {
             unset($skulist[$skval['shipOrderdetailId']]);
         }
     }
     $matched = null;
     foreach ($skulist as $val) {
         if ($val['amount'] == $num && $val['sku'] == $sku) {
             //找到匹配的
             $matched = $val;
             break;
         }
     }
     $islast = FALSE;
     if (count($skulist) == 1) {
         //为最后一个配货料号
         $islast = TRUE;
     }
     if (empty($matched)) {
         //没找到数量匹配的
         self::$errCode = 0;
         self::$errMsg = 'sku数量不对!';
         return FALSE;
     }
     //删除库存 插入配货记录
     $data = array('num' => $num, 'sku' => $sku, 'pName' => $pName, 'orderid' => $orderid, 'detailid' => $matched['id'], 'amount' => $num, 'totalnum' => $matched['amount'], 'userid' => $_SESSION['userId'], 'islast' => $islast, 'orderTypeId' => $orderinfo['orderTypeId'], 'shiptype' => $ordertype);
     $dbresult = $sod_obj->recordDataToSystem($data);
     if (!$dbresult) {
         //插入数据失败
         self::$errCode = 0;
         self::$errMsg = '配货失败,请重试!';
         return FALSE;
     }
     if ($islast) {
         //最后一个配货完成
         // 			WhPushModel::pushOrderStatus($orderid,'STATESHIPPED_PENDREVIEW',$_SESSION['userId'],time());        //状态推送
         self::$errCode = 2;
         self::$errMsg = '配货成功!';
         return TRUE;
     } else {
         $skulist = $sod_obj->getSkuListInOneOrder($orderid);
         $sign = 0;
         $skulists = array();
         foreach ($skulist as $k => $v) {
             $sku = $v['sku'];
             $amount = $v['amount'];
             //配货数量
             $posId = $v['positionId'];
             //仓位ID
             $pName = $v['pName'];
             //仓位名称
             $storeId = $v['storeId'];
             //仓库ID,默认1:深圳赛维
             $skuInfo = getSkuInfoBySku($sku);
             //获取料号信息
             $skuId = $skuInfo['id'];
             //料号ID
             $stockQty = get_SkuStockQty($skuId, $posId, $storeId);
             //库存数量
             $skulists[$sign]['sku'] = $sku;
             $skulists[$sign]['amount'] = $amount;
             $skulists[$sign]['pName'] = $pName;
             $skulists[$sign]['positionId'] = $posId;
             $skulists[$sign]['stockqty'] = $stockQty;
             $sign++;
         }
         $skulist = $skulists;
         self::$errCode = 1;
         self::$errMsg = '配货成功!';
         self::$data = $skulist;
         return TRUE;
     }
 }
Ejemplo n.º 5
0
 public static function getChannelInfolist()
 {
     global $memc_obj;
     if (self::$channellistinfo == NULL) {
         self::$channellistinfo = $memc_obj->get_extral('trans_system_channelinfo');
     }
     return self::$channellistinfo;
 }