30 lines
928 B
C#
30 lines
928 B
C#
using Dapper;
|
|
using Npgsql;
|
|
|
|
namespace Modules.WMS.Picking.Shared;
|
|
|
|
public static class PickingTransitions
|
|
{
|
|
public static async Task AutoConfirmNextSameLocationAsync(
|
|
NpgsqlConnection connection,
|
|
NpgsqlTransaction transaction,
|
|
Guid taskId,
|
|
string completedLocation,
|
|
CancellationToken ct)
|
|
{
|
|
await connection.ExecuteAsync(new CommandDefinition("""
|
|
update wms.picking_lines
|
|
set location_confirmed=true, updated_at=now()
|
|
where id = (
|
|
select id
|
|
from wms.picking_lines
|
|
where task_id=@TaskId
|
|
and status <> 'COMPLETED'
|
|
order by line_no
|
|
limit 1
|
|
)
|
|
and location_code=@LocationCode;
|
|
""", new { TaskId = taskId, LocationCode = completedLocation }, transaction, cancellationToken: ct));
|
|
}
|
|
}
|