getStockContext($warehouse_id, $id); $row = $warehouse['row'] ?? []; $table = $warehouse['table']; // get uuid for update if ($id > 0 && $data['type'] == "from") { $sql = "SELECT uuid FROM `$table` WHERE company_id = :company_id AND id = :id"; $sth = $pdo->prepare($sql); $sth->execute([ ":company_id" => $company_id, ":id" => $id ]); $uuid = $sth->fetchColumn(); } $table_log = json_decode($row['log'] ?? '[]', true); $table_log[] = $logging; if ($id > 0) { $sql = "UPDATE `$table` SET `product_sku` = :product_sku, `{$data['col']}` = :quantity, `zone` = :zone, `aisle` = :aisle, `rack` = :rack, `contact_id` = :contact_id, `description` = :description, `log` = :log WHERE uuid = :uuid AND company_id = :company_id"; $sth = $pdo->prepare($sql); $sth->execute([ ":uuid" => $uuid, ":company_id" => $company_id, ":product_sku" => $data["product_sku"], ":quantity" => $data["quantity"], ":zone" => $data["zone"], ":aisle" => $data["aisle"], ":rack" => $data["rack"], ":contact_id" => (int)$data["contact_id"], ":description" => $data["description"], ":log" => json_encode($table_log), ]); } else { $sql = "INSERT INTO `$table` (uuid, company_id, `date`, product_sku, `{$data['col']}`, ref_warehouse, zone, aisle, rack, contact_id, `description`, `log`, `type`) VALUES (:uuid, :company_id, :date, :product_sku, :quantity, :ref_warehouse, :zone, :aisle, :rack, :contact_id, :description, :log, 'transfer')"; $sth = $pdo->prepare($sql); $sth->execute([ ":uuid" => $uuid, ":company_id" => $company_id, ":date" => date('Y-m-d H:i:s'), ":product_sku" => $data["product_sku"], ":quantity" => $data["quantity"], ":ref_warehouse" => $ref_warehouse_id, ":zone" => $data["zone"], ":aisle" => $data["aisle"], ":rack" => $data["rack"], ":contact_id" => (int)$data["contact_id"], ":description" => $data["description"], ":log" => json_encode($table_log), ]); } $whMgmt->adjustBalance($data['col'], $warehouse_id, $data["product_sku"], $row[$data['col']] ?? 0, $data["quantity"]); } }); $answer["success"] = 1; } catch (PDOException $e) { $answer["success"] = 0; $answer["message"] = "Database error, please try again"; } catch (Exception $e) { $answer["success"] = 0; $answer["message"] = "Something went wrong"; } exit(json_encode($answer)); ?>