150 lines
4.4 KiB
ObjectPascal
150 lines
4.4 KiB
ObjectPascal
|
|
unit uBizInventario;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
uDAInterfaces, uDADataTable, schInventarioClient_Intf,
|
|||
|
|
uBizArticulos, uDBSelectionListUtils;
|
|||
|
|
|
|||
|
|
const
|
|||
|
|
BIZ_CLIENT_INVENTARIO = 'Client.Inventario';
|
|||
|
|
BIZ_CLIENT_DETALLE_RESERVAS_INV = 'Client.DetallesReservasInv';
|
|||
|
|
|
|||
|
|
CTE_TIPO_ENTRADA = 'E';
|
|||
|
|
CTE_TIPO_SALIDA = 'S';
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TEnumTipoMovimiento = (tEntradaLibre,
|
|||
|
|
tSalidaLibre,
|
|||
|
|
tTraslado,
|
|||
|
|
tEntradaPedidoProveedor,
|
|||
|
|
tSalidaAlbaranCliente);
|
|||
|
|
|
|||
|
|
IBizDetalleReservas = interface(IDetalleReservas)
|
|||
|
|
['{7E718670-DDC1-411B-B8DF-A28B81F9B8C3}']
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
IBizInventario = interface(IInventario)
|
|||
|
|
['{12051CDB-9BB1-43C5-AC89-181A27A35513}']
|
|||
|
|
function GetIDAlmacenOrigen: Integer;
|
|||
|
|
procedure SetIDAlmacenOrigen(const Value: Integer);
|
|||
|
|
property IDAlmacenOrigen: Integer read GetIDAlmacenOrigen write SetIDAlmacenOrigen;
|
|||
|
|
|
|||
|
|
function GetIDAlmacenDestino: Integer;
|
|||
|
|
procedure SetIDAlmacenDestino(const Value: Integer);
|
|||
|
|
property IDAlmacenDestino: Integer read GetIDAlmacenDestino write SetIDAlmacenDestino;
|
|||
|
|
|
|||
|
|
function GetTipo: TEnumTipoMovimiento;
|
|||
|
|
procedure SetTipo(const Value: TEnumTipoMovimiento);
|
|||
|
|
property TipoMovimiento: TEnumTipoMovimiento read GetTipo write SetTipo;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TBizDetalleReservas = class(TDetalleReservasDataTableRules, IBizDetalleReservas)
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TBizInventario = class(TInventarioDataTableRules, IBizInventario, ISeleccionable)
|
|||
|
|
private
|
|||
|
|
FIDAlmacenOrigen : Integer;
|
|||
|
|
FIDAlmacenDestino : Integer;
|
|||
|
|
FTipoMovimiento : TEnumTipoMovimiento;
|
|||
|
|
function GetIDAlmacenOrigen: Integer;
|
|||
|
|
procedure SetIDAlmacenOrigen(const Value: Integer);
|
|||
|
|
function GetIDAlmacenDestino: Integer;
|
|||
|
|
procedure SetIDAlmacenDestino(const Value: Integer);
|
|||
|
|
function GetTipo: TEnumTipoMovimiento;
|
|||
|
|
procedure SetTipo(const Value: TEnumTipoMovimiento);
|
|||
|
|
protected
|
|||
|
|
FSeleccionableInterface : ISeleccionable;
|
|||
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|||
|
|
procedure OnCalcFields(Sender: TDADataTable); override;
|
|||
|
|
|
|||
|
|
public
|
|||
|
|
property IDAlmacenOrigen: Integer read GetIDAlmacenOrigen write SetIDAlmacenOrigen;
|
|||
|
|
property IDAlmacenDestino: Integer read GetIDAlmacenDestino write SetIDAlmacenDestino;
|
|||
|
|
property TipoMovimiento: TEnumTipoMovimiento read GetTipo write SetTipo;
|
|||
|
|
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
|
|||
|
|
write FSeleccionableInterface implements ISeleccionable;
|
|||
|
|
|
|||
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Dialogs, uDACDSDataTable, SysUtils;
|
|||
|
|
|
|||
|
|
{ TBizInventario }
|
|||
|
|
|
|||
|
|
constructor TBizInventario.Create(aDataTable: TDADataTable);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
IDAlmacenOrigen := -1;
|
|||
|
|
IDAlmacenDestino := -1;
|
|||
|
|
TipoMovimiento := tEntradaLibre;
|
|||
|
|
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TBizInventario.Destroy;
|
|||
|
|
begin
|
|||
|
|
FSeleccionableInterface := NIL;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
|
|||
|
|
procedure TBizInventario.OnCalcFields(Sender: TDADataTable);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
ID := Self.DataTable.RecIDValue;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizInventario.OnNewRecord(Sender: TDADataTable);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
|
|||
|
|
//Este ID realmente se corresponder<65> con el de la tabla de movimientos.
|
|||
|
|
ID := GetRecNo;
|
|||
|
|
|
|||
|
|
//En funci<63>n del tipo de operaci<63>n vamos a coger el IDAlmacenOrigen o IDAlamcenDetino
|
|||
|
|
Case TipoMovimiento of
|
|||
|
|
tEntradaLibre, tEntradaPedidoProveedor : ID_ALMACEN := IDAlmacenDestino;
|
|||
|
|
tSalidaLibre, tSalidaAlbaranCliente, tTraslado : ID_ALMACEN := IDAlmacenOrigen;
|
|||
|
|
End;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TBizInventario.GetIDAlmacenDestino: Integer;
|
|||
|
|
begin
|
|||
|
|
Result := FIDAlmacenDestino;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TBizInventario.GetIDAlmacenOrigen: Integer;
|
|||
|
|
begin
|
|||
|
|
Result := FIDAlmacenOrigen;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TBizInventario.GetTipo: TEnumTipoMovimiento;
|
|||
|
|
begin
|
|||
|
|
Result := FTipoMovimiento;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizInventario.SetIDAlmacenDestino(const Value: Integer);
|
|||
|
|
begin
|
|||
|
|
FIDAlmacenDestino := Value;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizInventario.SetIDAlmacenOrigen(const Value: Integer);
|
|||
|
|
begin
|
|||
|
|
FIDAlmacenOrigen := Value;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizInventario.SetTipo(const Value: TEnumTipoMovimiento);
|
|||
|
|
begin
|
|||
|
|
FTipoMovimiento := Value;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
initialization
|
|||
|
|
RegisterDataTableRules(BIZ_CLIENT_INVENTARIO, TBizInventario);
|
|||
|
|
RegisterDataTableRules(BIZ_CLIENT_DETALLE_RESERVAS_INV, TBizDetalleReservas);
|
|||
|
|
|
|||
|
|
end.
|