function save() { $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : array(); $order_code = isset($_REQUEST['order_code']) ? $_REQUEST['order_code'] : ''; $user_code = isset($_SESSION['user_code']) ? $_SESSION['user_code'] : ''; $bh_order_code = str_replace('SK', 'BH', $order_code); $order_bh = Orders::getOne(array('order_code' => $bh_order_code)); if ($order_bh) { $time = $order_bh['create_time']; $time = date('Y-m-d H:i:s', $time); Templates::Assign('errormsg', "订单已在 {$time} 补过一次货,不能再补货了。"); Templates::Display('error.html'); exit; } $orders = Orders::getOne(array('order_code' => $order_code, 'order_status' => 5), 'id, order_status'); $order_status = isset($orders['order_status']) ? (int) $orders['order_status'] : 0; if (!$orders) { Templates::Assign('errormsg', "订单未找到,请核对该订单能补货 ,订单号: {$order_code}, order_status : {$order_status}"); Templates::Display('error.html'); exit; } DB::Debug(); DB::tranBegin('replen'); //事务开始 Orders::createBHOrder($order_code); //生成补货订单 foreach ($ids as $id) { $replen = OrdersBH::getData($id); $qt = $replen['num']; $sku = $replen['sku']; $status = ProductsStock::outStockInsertOrderProduct($bh_order_code, $sku, $qt); if (!$status) { DB::rollBack(); Templates::Assign('errormsg', "补货保存失败,[{$sku}] 库存不足,错误代码 BH001"); Templates::Display('error.html'); exit; } OrdersBH::update($id, array('status' => 1)); } $commit_status = DB::tranEnd('replen'); header("Location: /order/?order_code={$order_code}"); }
<?php require_once dirname(__FILE__) . '/application.php'; header('Content-Type: text/html; charset=UTF-8;'); if ($_GET['debug']) { DB::Debug(true); }