Example #1
0
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}");
}
Example #2
0
<?php

require_once dirname(__FILE__) . '/application.php';
header('Content-Type: text/html; charset=UTF-8;');
if ($_GET['debug']) {
    DB::Debug(true);
}