remove actions and data integrity
This commit is contained in:
@@ -24,11 +24,6 @@
|
||||
|
||||
// UPDATE existing stock_in record
|
||||
$sql = "UPDATE `$table` SET
|
||||
`product_sku` = :product_sku,
|
||||
`in` = :quantity,
|
||||
`zone` = :zone,
|
||||
`aisle` = :aisle,
|
||||
`rack` = :rack,
|
||||
`contact_id` = :contact_id,
|
||||
`description` = :description,
|
||||
`log` = :log
|
||||
@@ -38,41 +33,12 @@
|
||||
$sth->execute([
|
||||
":id" => $id,
|
||||
":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),
|
||||
]);
|
||||
|
||||
// On UPDATE, td_stock_id stays the same (this record's ID)
|
||||
$td_stock_id = $id;
|
||||
|
||||
// Only touch md_rack if the physical location actually changed.
|
||||
// Skipping when unchanged avoids redundant log entries and release/occupy cycles.
|
||||
$rack_changed = (
|
||||
($row['zone'] ?? '') != $data['zone'] ||
|
||||
($row['aisle'] ?? '') != $data['aisle'] ||
|
||||
($row['rack'] ?? '') != $data['rack']
|
||||
);
|
||||
|
||||
if ($rack_changed) {
|
||||
// Free up the old rack
|
||||
$whMgmt->releaseRack(
|
||||
$warehouse_id,
|
||||
$row['zone'], $row['aisle'], $row['rack']
|
||||
);
|
||||
// Claim the new rack, linked to the same stock record
|
||||
$whMgmt->occupyRack(
|
||||
$warehouse_id,
|
||||
$data['zone'], $data['aisle'], $data['rack'],
|
||||
$data['product_sku'],
|
||||
$td_stock_id
|
||||
);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@@ -107,17 +73,17 @@
|
||||
$data['product_sku'],
|
||||
$td_stock_id
|
||||
);
|
||||
}
|
||||
// Balance adjustment handles both INSERT (delta = full qty)
|
||||
// and UPDATE (delta = new - old) via the same formula.
|
||||
$whMgmt->adjustBalance(
|
||||
'in',
|
||||
$warehouse_id,
|
||||
$data["product_sku"],
|
||||
$row['in'] ?? 0,
|
||||
$data["quantity"]
|
||||
);
|
||||
|
||||
// Balance adjustment handles both INSERT (delta = full qty)
|
||||
// and UPDATE (delta = new - old) via the same formula.
|
||||
$whMgmt->adjustBalance(
|
||||
'in',
|
||||
$warehouse_id,
|
||||
$data["product_sku"],
|
||||
$row['in'] ?? 0,
|
||||
$data["quantity"]
|
||||
);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user