git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@380 0c75b7a4-871f-7646-8a2f-f78d34cc349f
207 lines
7.0 KiB
ObjectPascal
207 lines
7.0 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; override;
|
||
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, uFactuGES_App,
|
||
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
|
||
inherited;
|
||
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;
|
||
|
||
|
||
{function THistoricoMovimientosController.ExtraerSeleccionados(AArticulos: IBizHistoricoMovimientos): IBizHistoricoMovimientos;
|
||
var
|
||
ASeleccionados : IBizHistoricoMovimientos;
|
||
begin
|
||
ASeleccionados := (Self.Buscar(ID_NULO) as IBizHistoricoMovimientos);
|
||
CopyDataTableDA5(AArticulos.DataTable, ASeleccionados.DataTable, True);
|
||
Result := ASeleccionados;
|
||
end;}
|
||
|
||
|
||
{function THistoricoMovimientosController.Ver(AArticulos: IBizHistoricoMovimientos; AHistoricoMovimientos: IBizHistoricoMovimientos): Boolean;
|
||
var
|
||
AEditor : IEditorEntradaSalidaArticulos;
|
||
begin
|
||
Result := False;
|
||
AEditor := NIL;
|
||
ShowHourglassCursor;
|
||
try
|
||
CreateEditor('EditorEntradaSalidaArticulos', IEditorEntradaSalidaArticulos, AEditor);
|
||
if Assigned(AEditor) then
|
||
with AEditor do
|
||
begin
|
||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||
Articulos := AArticulos;
|
||
HistoricoMovimientos := AHistoricoMovimientos;
|
||
ShowModal;
|
||
Result := ResultadoModalOK;
|
||
Release;
|
||
end;
|
||
finally
|
||
AEditor := NIL;
|
||
HideHourglassCursor;
|
||
end;
|
||
end;}
|
||
|
||
procedure THistoricoMovimientosController.VerTodos(AHistoricoMovimientos: IBizHistoricoMovimientos);
|
||
var
|
||
AEditor : IEditorHistoricoMovimientos;
|
||
begin
|
||
AEditor := NIL;
|
||
ShowHourglassCursor;
|
||
try
|
||
CreateEditor('EditorHistoricoMovimientos', IEditorHistoricoMovimientos, AEditor);
|
||
if Assigned(AEditor) then
|
||
with AEditor do
|
||
begin
|
||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||
HistoricoMovimientos := AHistoricoMovimientos;
|
||
MultiSelect := False;
|
||
ShowEmbedded;
|
||
end;
|
||
finally
|
||
AEditor := Nil;
|
||
HideHourglassCursor;
|
||
end;
|
||
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);
|
||
var
|
||
Condicion: TDAWhereExpression;
|
||
begin
|
||
if AHistoricoMovimientos.DataTable.Active then
|
||
AHistoricoMovimientos.DataTable.Active := False;
|
||
|
||
// Filtrar los HistoricoMovimientos actuales por empresa
|
||
with AHistoricoMovimientos.DataTable.DynamicWhere do
|
||
begin
|
||
// (ID_EMPRESA >= ID)
|
||
Condicion := NewBinaryExpression(NewField('', fld_HistoricoMovimientosID_EMPRESA), NewConstant(AppFactuGES.EmpresaActiva.ID, datInteger), dboEqual);
|
||
|
||
if IsEmpty then
|
||
Expression := Condicion
|
||
else
|
||
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
||
end;
|
||
end;
|
||
|
||
|
||
function THistoricoMovimientosController.GetAlmacenesController: IAlmacenesController;
|
||
begin
|
||
Result := FAlmacenesController;
|
||
end;
|
||
|
||
end.
|
||
|