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; }
public function act_packingscan() { $orderid = isset($_GET['orderid']) ? intval($_GET['order']) : 0; if (empty($orderid)) { 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_WPACKING) { // 该订单不在待包装状态 self::$errCode = 0; self::$errMsg = '该发货单不在待包装组!'; return; } self::$errCode = 1; self::$errMsg = 'Ok!'; return; }
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_rollBackStock() { $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(); $sku_havegot = $sod_obj->getSkuHavedone($orderid); //获得已经配货的sku列表 $rollbackresult = $sod_obj->rollBackStock($sku_havegot); if ($rollbackresult) { $data = array('data' => array('回滚成功!'), 'link' => 'index.php?mod=unusualOrder&act=unusualOrderList'); goOkMsgPage($data); exit; } else { $data = array('data' => array('该订单不是异常订单!'), 'link' => 'index.php?mod=dispatchBillQuery&act=showForm'); goErrMsgPage($data); exit; } }
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 function act_weighingSubmitFZ() { $weight = isset($_POST['num']) ? floatval($_POST['num']) : 0; if ($weight <= 0) { self::$errCode = 0; self::$errMsg = '请输入正确的重量!'; return; } // $weight = $weight * 1000; $weight = round($weight); $packinguser = isset($_POST['userid']) ? intval($_POST['userid']) : 0; if ($packinguser <= 1) { self::$errCode = 0; self::$errMsg = '请输入配货人员!'; return; } $orderid = isset($_POST['orderid']) ? intval($_POST['orderid']) : 0; if (empty($orderid)) { self::$errCode = 0; self::$errMsg = '请填写单号!'; return; } $expressstr = isset($_POST['express']) ? trim($_POST['express']) : ''; if (empty($expressstr)) { 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_WWEIGHING_EX) { // 该订单不在国内称重状态 self::$errCode = 0; self::$errMsg = '该发货单不在国内称重组!'; return; } $data = array('weight' => $weight, 'userid' => $packinguser, 'orderid' => $orderid, 'status' => PKS_DONE, 'express' => $expressstr, 'storid' => 1); $result = $po_obj->recordWeightInfoFZ($data); if ($result) { //成功 WhPushModel::pushOrderStatus($orderid, 'STATEHASSHIPPED', $_SESSION['userId'], time(), $weight); //状态推送 self::$errCode = 1; self::$errMsg = 'OK'; return; } else { self::$errCode = 0; self::$errMsg = '操作失败!'; return; } }
public function act_recheckInfoSubmit() { $orderid = isset($_POST['orderid']) ? intval($_POST['orderid']) : 0; if (empty($orderid)) { self::$errCode = 0; self::$errMsg = '请输入发货单信息!'; return; } $sku = isset($_POST['sku']) ? trim($_POST['sku']) : 0; $sku = get_goodsSn($sku); if (empty($sku)) { self::$errCode = 0; self::$errMsg = '请输入sku'; return; } $num = isset($_POST['num']) ? intval($_POST['num']) : 0; if ($num < 1) { 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_WIQC) { //该订单不在待复核状态 self::$errCode = 0; self::$errMsg = '该发货单不在待复核组!'; return; } $sod_obj = new ShipingOrderDetailModel(); $skulist = $sod_obj->getSkuListByOrderId($orderid); if (count($skulist) == 0) { //没有料号 self::$errCode = 0; self::$errMsg = '该订单下没有料号信息,请及时反馈!'; return; } $rr_obj = new ReviewRecordsModel(); $scan_rocords = $rr_obj->getRiewRecordsByOrderid($orderid); $scanskus = array(); foreach ($scan_rocords as $sval) { if (array_key_exists($sval['shipOrderdetailId'], $skulist)) { $scanskus[] = $sval['sku']; unset($skulist[$sval['shipOrderdetailId']]); } } if (in_array($sku, $scanskus)) { self::$errCode = 0; self::$errMsg = $sku . '已复核过了'; return; } $isfound = FALSE; $numcorrect = true; foreach ($skulist as $skuval) { if ($skuval['sku'] == $sku) { $isfound = $skuval; if ($skuval['amount'] != $num) { $numcorrect = false; } break; } } if ($isfound === FALSE) { //没找到对应的料号信息 self::$errCode = 0; self::$errMsg = '料号[' . $sku . ']不存在'; return; } if ($numcorrect == false) { self::$errCode = 0; self::$errMsg = '复核数量与分拣数不符'; return; } $data = array(); $data['orderid'] = $orderid; //单号 $data['detailid'] = $isfound['id']; //detailid号 $data['sku'] = $sku; //sku $data['amount'] = $num; //复核数量 $data['totalNums'] = $isfound['amount']; //料号原始总数 $data['userid'] = $_SESSION['userId']; //复核扫描用户id $data['storeId'] = 1; //仓库id $islast = 0; if (count($skulist) == 1) { //当前为最后一个复核sku $data['islast'] = TRUE; $islast = 1; } else { $data['islast'] = FALSE; } $result = $rr_obj->recordReviewInfo($data); if ($result == FALSE) { self::$errCode = 0; self::$errMsg = '复核失败,复核记录插入失败'; return; } else { self::$errMsg = '成功!'; if ($islast) { //最后一个复核 WhPushModel::pushOrderStatus($orderid, 'PKS_WWEIGHING', $_SESSION['userId'], time()); //状态推送 //更新状态为待包装称重 $data = array('orderStatus' => PKS_WWEIGHING); WhShippingOrderModel::update($data, "id='" . $orderinfo['shipOrderId'] . "'"); self::$errCode = 2; return; } else { self::$errCode = 1; unset($skulist[$isfound['id']]); return $skulist; } } }