public static function updateOrderProductStock($order_code) { if (!$order_code) { return false; } $stocklocks = ProductsStockLock::getList("order_code='{$order_code}'", '*', 'id ASC'); if (!$stocklocks) { return false; } foreach ($stocklocks as $stocklock) { $product_sku = $stocklock['product_sku']; $product_num = $stocklock['product_num']; $exp_date = $stocklock['exp_date']; $orderpro = OrdersProducts::getOne(array("order_code" => $order_code, 'product_sku' => $product_sku), 'id, exp_date'); $id = isset($orderpro['id']) ? (int) $orderpro['id'] : 0; $expdate = isset($orderpro['exp_date']) ? (int) $orderpro['exp_date'] : 0; if ($id && !$expdate) { OrdersProducts::update($id, array('product_num' => $product_num, 'exp_date' => $exp_date)); } else { $data = array('order_code' => $order_code, 'product_sku' => $product_sku, 'product_num' => $product_num, 'exp_date' => $stocklock['exp_date']); OrdersProducts::insert($data); } } }