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'); }
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'] . '   '; } $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'); }
public function view_index() { print_r(ShipingTypeModel::getCateinfo()); }
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; } }
public static function getChannelInfolist() { global $memc_obj; if (self::$channellistinfo == NULL) { self::$channellistinfo = $memc_obj->get_extral('trans_system_channelinfo'); } return self::$channellistinfo; }