git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@271 c93665c3-c93d-084d-9b98-7d5f4a9c3376
167 lines
5.7 KiB
ObjectPascal
167 lines
5.7 KiB
ObjectPascal
unit uHistoricoMovimientosController;
|
|
|
|
interface
|
|
|
|
|
|
uses
|
|
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
|
|
uIDataModuleHistoricoMovimientos, uBizHistoricoMovimientos, uAlmacenesController;
|
|
|
|
type
|
|
IHistoricoMovimientosController = interface(IObservador)
|
|
['{F60D83E3-DDAA-497F-8193-62F9D693B4B0}']
|
|
procedure VerTodos(AHistoricoMovimientos: IBizHistoricoMovimientos);
|
|
function BuscarTodos: IBizHistoricoMovimientos;
|
|
function Buscar(const ID_ALMACEN: Integer): IBizHistoricoMovimientos;
|
|
// function ExtraerSeleccionados(AArticulos: IBizHistoricoMovimientos) : IBizHistoricoMovimientos;
|
|
|
|
// procedure Anadir(AArticulos, AHistoricoMovimientos : IBizHistoricoMovimientos);
|
|
// function Ver(AArticulos: IBizHistoricoMovimientos; AHistoricoMovimientos : IBizHistoricoMovimientos): Boolean;
|
|
// function Guardar(AArticulos : IBizHistoricoMovimientos; const FechaMovimiento: TDateTime; const CausaMovimiento: String): Boolean;
|
|
|
|
function GetAlmacenesController: IAlmacenesController;
|
|
procedure SetAlmacenesController(const Value: IAlmacenesController);
|
|
property AlmacenesController: IAlmacenesController read GetAlmacenesController write SetAlmacenesController;
|
|
end;
|
|
|
|
THistoricoMovimientosController = class(TObservador, IHistoricoMovimientosController)
|
|
private
|
|
FAlmacenesController: IAlmacenesController;
|
|
function GetAlmacenesController: IAlmacenesController;
|
|
procedure SetAlmacenesController(const Value: IAlmacenesController);
|
|
|
|
protected
|
|
FDataModule : IDataModuleHistoricoMovimientos;
|
|
|
|
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
|
|
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
|
|
function _Vacio : IBizHistoricoMovimientos;
|
|
|
|
procedure FiltrarEmpresa(AHistoricoMovimientos: IBizHistoricoMovimientos);
|
|
|
|
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
|
|
//este controller
|
|
procedure AsignarDataModule; virtual;
|
|
|
|
public
|
|
property AlmacenesController: IAlmacenesController read GetAlmacenesController write SetAlmacenesController;
|
|
constructor Create; virtual;
|
|
destructor Destroy; override;
|
|
|
|
function Buscar(const ID_ALMACEN: Integer): IBizHistoricoMovimientos;
|
|
function BuscarTodos: IBizHistoricoMovimientos;
|
|
// function ExtraerSeleccionados(AArticulos: IBizHistoricoMovimientos) : IBizHistoricoMovimientos;
|
|
// function Ver(AArticulos: IBizHistoricoMovimientos; AHistoricoMovimientos : IBizHistoricoMovimientos): Boolean;
|
|
procedure VerTodos(AHistoricoMovimientos: IBizHistoricoMovimientos);
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
Forms, cxControls, DB, schHistoricoMovimientosClient_Intf, uEditorRegistryUtils,
|
|
uIEditorHistoricoMovimientos, uDataModuleHistoricoMovimientos,
|
|
uDataModuleUsuarios, uDAInterfaces, uDataTableUtils,
|
|
uDateUtils, uROTypes, DateUtils, Controls, Windows,
|
|
dialogs, Variants, uBizAlmacenes, uControllerDetallesBase, uDialogUtils,
|
|
schArticulosClient_Intf;
|
|
|
|
{ THistoricoMovimientosController }
|
|
|
|
procedure THistoricoMovimientosController.AsignarDataModule;
|
|
begin
|
|
FDataModule := TDataModuleHistoricoMovimientos.Create(Nil);
|
|
end;
|
|
|
|
function THistoricoMovimientosController.Buscar(const ID_ALMACEN: Integer): IBizHistoricoMovimientos;
|
|
begin
|
|
Result := (FDataModule as IDataModuleHistoricoMovimientos).GetItems(ID_ALMACEN);
|
|
FiltrarEmpresa(Result);
|
|
end;
|
|
|
|
function THistoricoMovimientosController.BuscarTodos: IBizHistoricoMovimientos;
|
|
begin
|
|
Result := FDataModule.GetItems;
|
|
FiltrarEmpresa(Result);
|
|
end;
|
|
|
|
constructor THistoricoMovimientosController.Create;
|
|
begin
|
|
AsignarDataModule;
|
|
FAlmacenesController := TAlmacenesController.Create;
|
|
end;
|
|
|
|
function THistoricoMovimientosController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
|
begin
|
|
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
|
|
end;
|
|
|
|
destructor THistoricoMovimientosController.Destroy;
|
|
begin
|
|
FDataModule := Nil;
|
|
FAlmacenesController := Nil;
|
|
inherited;
|
|
end;
|
|
|
|
procedure THistoricoMovimientosController.VerTodos(AHistoricoMovimientos: IBizHistoricoMovimientos);
|
|
var
|
|
AEditor : IEditorHistoricoMovimientos;
|
|
begin
|
|
AEditor := NIL;
|
|
ShowHourglassCursor;
|
|
try
|
|
CreateEditor('EditorHistoricoMovimientos', IEditorHistoricoMovimientos, AEditor);
|
|
with AEditor do
|
|
begin
|
|
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
|
HistoricoMovimientos := AHistoricoMovimientos;
|
|
MultiSelect := False;
|
|
end;
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
|
|
if Assigned(AEditor) then
|
|
AEditor.ShowEmbedded;
|
|
end;
|
|
|
|
function THistoricoMovimientosController._Vacio: IBizHistoricoMovimientos;
|
|
begin
|
|
Result := Buscar(ID_NULO);
|
|
end;
|
|
|
|
procedure THistoricoMovimientosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
|
|
begin
|
|
inherited;
|
|
//
|
|
end;
|
|
|
|
procedure THistoricoMovimientosController.SetAlmacenesController(const Value: IAlmacenesController);
|
|
begin
|
|
FAlmacenesController := Value;
|
|
end;
|
|
|
|
procedure THistoricoMovimientosController.FiltrarEmpresa(AHistoricoMovimientos: IBizHistoricoMovimientos);
|
|
begin
|
|
if AHistoricoMovimientos.DataTable.Active then
|
|
AHistoricoMovimientos.DataTable.Active := False;
|
|
|
|
// Filtrar los HistoricoMovimientos actuales por empresa
|
|
with AHistoricoMovimientos.DataTable.Where do
|
|
begin
|
|
if NotEmpty then
|
|
AddOperator(opAND);
|
|
|
|
OpenBraket;
|
|
AddText(fld_Historico_MovimientosID_EMPRESA + ' = ' + IntToStr(dmUsuarios.IDEmpresaActual));
|
|
CloseBraket;
|
|
end;
|
|
end;
|
|
|
|
|
|
function THistoricoMovimientosController.GetAlmacenesController: IAlmacenesController;
|
|
begin
|
|
Result := FAlmacenesController;
|
|
end;
|
|
|
|
end.
|