2010-08-11 10:53:06 +00:00
|
|
|
unit uDataModuleAgentes;
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
|
|
Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider,
|
|
|
|
|
uDACDSDataTable, uDABINAdapter, uRORemoteService,
|
|
|
|
|
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposEmpleado, uROTypes,
|
|
|
|
|
uIDataModuleAgentes, uBizContactos, uDADesigntimeCall,
|
|
|
|
|
uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer,
|
2012-01-30 17:46:05 +00:00
|
|
|
uDARemoteDataAdapter, uIntegerListUtils, uBizAgentesComisiones, uBizAgentesObjetivosAlbaranes,
|
|
|
|
|
uBizAgentesObjetivosFacturas;
|
2010-08-11 10:53:06 +00:00
|
|
|
|
|
|
|
|
type
|
|
|
|
|
TDataModuleAgentes = class(TDataModuleContactos, IDataModuleAgentes)
|
|
|
|
|
tbl_Agentes: TDAMemDataTable;
|
|
|
|
|
ds_Agentes: TDADataSource;
|
|
|
|
|
tbl_Agentes_Comisiones: TDAMemDataTable;
|
|
|
|
|
ds_Agentes_Comisiones: TDADataSource;
|
2012-01-30 17:46:05 +00:00
|
|
|
tbl_Agentes_Objetivos_albaranes: TDAMemDataTable;
|
|
|
|
|
ds_Agentes_Objetivos_albaranes: TDADataSource;
|
|
|
|
|
tbl_Agentes_Objetivos_facturas: TDAMemDataTable;
|
|
|
|
|
ds_Agentes_Objetivos_facturas: TDADataSource;
|
|
|
|
|
tbl_ListaAnosObjetivosFac: TDAMemDataTable;
|
|
|
|
|
ds_ListaAnosObjetivosFac: TDADataSource;
|
2010-08-11 10:53:06 +00:00
|
|
|
protected
|
|
|
|
|
function _GetComisiones: IBizAgentesComisiones;
|
2012-01-30 17:46:05 +00:00
|
|
|
function _GetObjetivosAlbaranes: IBizAgentesObjetivosAlbaranes;
|
|
|
|
|
function _GetObjetivosFacturas: IBizAgentesObjetivosFacturas;
|
2010-08-11 10:53:06 +00:00
|
|
|
public
|
|
|
|
|
function GetItem(const ID : Integer) : IBizAgente;
|
|
|
|
|
function NewItem : IBizAgente;
|
|
|
|
|
function GetItems : IBizAgente;
|
2012-01-30 17:46:05 +00:00
|
|
|
function GetAnosObjetivosAlbaranesItems(ID_AGENTE:Integer) : TStringList;
|
|
|
|
|
function GetAnosObjetivosFacturasItems(ID_AGENTE:Integer) : TStringList;
|
2010-08-11 10:53:06 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils,
|
|
|
|
|
uStringsUtils;
|
|
|
|
|
|
|
|
|
|
{ TDataModuleVendedores }
|
|
|
|
|
|
2012-01-30 17:46:05 +00:00
|
|
|
function TDataModuleAgentes.GetAnosObjetivosAlbaranesItems(ID_AGENTE: Integer): TStringList;
|
|
|
|
|
var
|
|
|
|
|
AListaAnos: TStringList;
|
|
|
|
|
begin
|
|
|
|
|
AListaAnos := TStringList.Create;
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
with tbl_ListaAnosObjetivosAlb do
|
|
|
|
|
begin
|
|
|
|
|
ParamByName(fld_Agentes_Objetivos_albaranesID_AGENTE).AsInteger := ID_AGENTE;
|
|
|
|
|
Open;
|
|
|
|
|
First;
|
|
|
|
|
while not eof do
|
|
|
|
|
begin
|
|
|
|
|
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
|
|
|
|
|
Next;
|
|
|
|
|
end;
|
|
|
|
|
Close;
|
|
|
|
|
end;
|
|
|
|
|
Result := AListaAnos;
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleAgentes.GetAnosObjetivosFacturasItems(ID_AGENTE: Integer): TStringList;
|
|
|
|
|
var
|
|
|
|
|
AListaAnos: TStringList;
|
|
|
|
|
begin
|
|
|
|
|
AListaAnos := TStringList.Create;
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
with tbl_ListaAnosObjetivosFac do
|
|
|
|
|
begin
|
|
|
|
|
ParamByName(fld_Agentes_Objetivos_facturasID_AGENTE).AsInteger := ID_AGENTE;
|
|
|
|
|
Open;
|
|
|
|
|
First;
|
|
|
|
|
while not eof do
|
|
|
|
|
begin
|
|
|
|
|
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
|
|
|
|
|
Next;
|
|
|
|
|
end;
|
|
|
|
|
Close;
|
|
|
|
|
end;
|
|
|
|
|
Result := AListaAnos;
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
2010-08-11 10:53:06 +00:00
|
|
|
function TDataModuleAgentes.GetItem(const ID: Integer): IBizAgente;
|
|
|
|
|
var
|
|
|
|
|
Condicion: TDAWhereExpression;
|
|
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
Result := Self.GetItems;
|
|
|
|
|
|
|
|
|
|
with Result.DataTable.DynamicWhere do
|
|
|
|
|
begin
|
|
|
|
|
// (ID = :ID)
|
|
|
|
|
Condicion := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual);
|
|
|
|
|
|
|
|
|
|
if IsEmpty then
|
|
|
|
|
Expression := Condicion
|
|
|
|
|
else
|
|
|
|
|
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleAgentes.GetItems: IBizAgente;
|
|
|
|
|
var
|
|
|
|
|
AContacto : TDAMemDataTable;
|
|
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
AContacto := CloneDataTable(tbl_Agentes);
|
|
|
|
|
AContacto.BusinessRulesID := BIZ_CLIENT_AGENTE;
|
|
|
|
|
|
|
|
|
|
with TBizAgente(AContacto.BusinessEventsObj) do
|
|
|
|
|
begin
|
|
|
|
|
DatosBancarios := _GetDatosBancarios;
|
2012-01-30 17:46:05 +00:00
|
|
|
Comisiones := _GetComisiones;
|
|
|
|
|
ObjetivosAlbaranes := _GetObjetivosAlbaranes;
|
|
|
|
|
ObjetivosFacturas := _GetObjetivosFacturas;
|
2010-08-11 10:53:06 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
Result := (AContacto as IBizAgente);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleAgentes.NewItem: IBizAgente;
|
|
|
|
|
begin
|
|
|
|
|
Result := GetItem(ID_NULO)
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleAgentes._GetComisiones: IBizAgentesComisiones;
|
|
|
|
|
var
|
|
|
|
|
AComisiones : TDAMemDataTable;
|
|
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
AComisiones := CloneDataTable(tbl_Agentes_Comisiones);
|
|
|
|
|
with AComisiones do
|
|
|
|
|
begin
|
|
|
|
|
BusinessRulesID := BIZ_CLIENT_AGENTE_COMISIONES;
|
|
|
|
|
DetailOptions := DetailOptions -
|
|
|
|
|
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
|
|
|
|
|
end;
|
|
|
|
|
Result := (AComisiones as IBizAgentesComisiones);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
2012-01-30 17:46:05 +00:00
|
|
|
function TDataModuleAgentes._GetObjetivosAlbaranes: IBizAgentesObjetivosAlbaranes;
|
|
|
|
|
var
|
|
|
|
|
AObjetivosAlbaranes : TDAMemDataTable;
|
|
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
AObjetivosAlbaranes := CloneDataTable(tbl_Agentes_Objetivos_albaranes);
|
|
|
|
|
with AObjetivosAlbaranes do
|
|
|
|
|
begin
|
|
|
|
|
BusinessRulesID := BIZ_CLIENT_AGENTE_OBJETIVOS_ALB;
|
|
|
|
|
DetailOptions := DetailOptions -
|
|
|
|
|
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
|
|
|
|
|
end;
|
|
|
|
|
Result := (AObjetivosAlbaranes as IBizAgentesObjetivosAlbaranes);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleAgentes._GetObjetivosFacturas: IBizAgentesObjetivosFacturas;
|
|
|
|
|
var
|
|
|
|
|
AObjetivosFacturas : TDAMemDataTable;
|
|
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
AObjetivosFacturas := CloneDataTable(tbl_Agentes_Objetivos_facturas);
|
|
|
|
|
with AObjetivosFacturas do
|
|
|
|
|
begin
|
|
|
|
|
BusinessRulesID := BIZ_CLIENT_AGENTE_OBJETIVOS_FAC;
|
|
|
|
|
DetailOptions := DetailOptions -
|
|
|
|
|
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
|
|
|
|
|
end;
|
|
|
|
|
Result := (AObjetivosFacturas as IBizAgentesObjetivosFacturas);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
2010-08-11 10:53:06 +00:00
|
|
|
end.
|