Bloquear selección de stock del almacén 302 al inmovilizar lotes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-01 12:24:19 -05:00
1 parent 7e0a646853
commit b02528a795
1 file changed
+15 -4
@@ -177,7 +177,13 @@ export default function InmovilizarLotesView() {
} }
}; };
// El stock que ya está en el almacén de inmovilizados (302) no se puede
// volver a inmovilizar, así que esa fila no es seleccionable.
const isLockedRow = (row: BatchWarehouseStock) =>
row.WarehouseCode === DEFAULT_TO_WAREHOUSE.code;
const toggleRow = (row: BatchWarehouseStock) => { const toggleRow = (row: BatchWarehouseStock) => {
if (isLockedRow(row)) return;
const key = rowKey(row); const key = rowKey(row);
setSelections((prev) => { setSelections((prev) => {
if (key in prev) { if (key in prev) {
@@ -378,22 +384,27 @@ export default function InmovilizarLotesView() {
{group.rows.map((w) => { {group.rows.map((w) => {
const key = rowKey(w); const key = rowKey(w);
const isChecked = key in selections; const isChecked = key in selections;
const isLocked = isLockedRow(w);
const rawQuantity = selections[key] ?? ""; const rawQuantity = selections[key] ?? "";
const rowQuantityError = isChecked ? quantityErrorFor(w, rawQuantity) : ""; const rowQuantityError = isChecked ? quantityErrorFor(w, rawQuantity) : "";
return ( return (
<tr <tr
key={key} key={key}
onClick={() => toggleRow(w)} onClick={() => toggleRow(w)}
className={`cursor-pointer border-b border-[var(--color-border-light)] ${ title={isLocked ? "Stock ya inmovilizado (almacén 302)" : undefined}
isChecked className={`border-b border-[var(--color-border-light)] ${
? "bg-[var(--color-primary-active)]" isLocked
: "hover:bg-[var(--color-sidebar-hover)]" ? "cursor-not-allowed opacity-50"
: isChecked
? "cursor-pointer bg-[var(--color-primary-active)]"
: "cursor-pointer hover:bg-[var(--color-sidebar-hover)]"
}`} }`}
> >
<td className="py-1.5 px-2" onClick={(e) => e.stopPropagation()}> <td className="py-1.5 px-2" onClick={(e) => e.stopPropagation()}>
<input <input
type="checkbox" type="checkbox"
checked={isChecked} checked={isChecked}
disabled={isLocked}
onChange={() => toggleRow(w)} onChange={() => toggleRow(w)}
/> />
</td> </td>