function act_checkSkuNum() { $bool = false; //标志是否有摒弃订单 $assignNUmber = $_POST['order_group']; $sku = trim($_POST['sku']); //$sku = getGoodsSn2($sku); $sku_num = $_POST['sku_num']; $assignId = $_POST['now_group_id']; //$now_pname = $_POST['now_pname']; $assignStock = WhGoodsAssignModel::getAssignStock($sku); //获取该料号调拨库存 if ($assignStock == 0) { self::$errCode = "004"; self::$errMsg = "该调拨单无调拨库存,不能退库!"; return FALSE; } if ($assignStock < $sku_num) { self::$errCode = "004"; self::$errMsg = "退库数量大于调拨库存,不能退库!"; return FALSE; } $sku_info = WhGoodsAssignModel::getDetail($assignId, " and a.sku='{$sku}'"); if (empty($sku_info)) { self::$errCode = "004"; self::$errMsg = "该调拨单无此料号!"; return FALSE; } TransactionBaseModel::begin(); $where = array('sku' => $sku, 'storeId' => $sku_info['storeId']); $update = array('actualStock' => "actualStock + {$sku_num}", 'assignStock' => "assignStock - {$sku_num}"); $info = WhGoodsAssignModel::updateSkuLocation($where, $update); //更新wh_sku_location的调拨库存和总库存 if (!$info) { TransactionBaseModel::rollback(); self::$errCode = "003"; self::$errMsg = "更新总库存失败!"; return false; } $where = array('pId' => $skuinfo['id'], 'positionId' => $sku_info['positionId']); $update = array('nums' => "nums + {$sku_num}"); $info = WhGoodsAssignModel::updateProdcutPosition($where, $update); //更新wh_product_position_relation的仓位库存 if (!$info) { TransactionBaseModel::rollback(); self::$errCode = "003"; self::$errMsg = "更新仓位库存失败!"; return false; } TransactionBaseModel::commit(); self::$errCode = "0"; self::$errMsg = "退库成功!"; return true; }