Tecsitel_FactuGES2/Source/Modulos/Contactos/Data/uDataModuleEmpleados.pas
david b343cdea63 - Ticket #32. Añadir la columna contrato al vendedor.
- En proveedores, la descripción (tipo de material que sirve) se ha cambiado a un combobox para que sea más fácil.

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@240 0c75b7a4-871f-7646-8a2f-f78d34cc349f
2008-02-05 10:08:44 +00:00

119 lines
3.1 KiB
ObjectPascal

unit uDataModuleEmpleados;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uRORemoteService,
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposEmpleado, uROTypes,
uIDataModuleEmpleados, uBizContactos, uDADesigntimeCall, uIDataModuleFichasEmpleadoReport,
uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer,
uDARemoteDataAdapter;
type
TDataModuleEmpleados = class(TDataModuleContactos, IDataModuleEmpleados, IDataModuleFichasEmpleadoReport)
tbl_Empleados: TDAMemDataTable;
ds_Empleados: TDADataSource;
tbl_GruposEmpleado: TDAMemDataTable;
ds_GruposEmpleado: TDADataSource;
protected
public
function GetItem(const ID : Integer) : IBizEmpleado;
function NewItem : IBizEmpleado;
function GetItems : IBizEmpleado;
function GetGruposEmpleado : IBizGrupoEmpleado;
function DarListaContratosEmpleado : TStringList;
// Report
function GetReport(const AFichaID: String): Binary;
end;
implementation
{$R *.dfm}
uses
FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils,
uStringsUtils;
{ TDataModuleVendedores }
function TDataModuleEmpleados.DarListaContratosEmpleado: TStringList;
begin
Result := TStringList.Create;
StringToStrings((RORemoteService as IsrvContactos).DarListaContratosEmpleados, '|', Result);
end;
function TDataModuleEmpleados.GetGruposEmpleado: IBizGrupoEmpleado;
var
AGrupoEmpleado : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AGrupoEmpleado := CloneDataTable(tbl_GruposEmpleado);
AGrupoEmpleado.BusinessRulesID := BIZ_CLIENT_GRUPOSEMPLEADO;
Result := (AGrupoEmpleado as IBizGrupoEmpleado);
finally
HideHourglassCursor;
end;
end;
function TDataModuleEmpleados.GetItem(const ID: Integer): IBizEmpleado;
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 TDataModuleEmpleados.GetItems: IBizEmpleado;
var
AContacto : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AContacto := CloneDataTable(tbl_Empleados);
AContacto.BusinessRulesID := BIZ_CLIENT_EMPLEADO;
with TBizEmpleado(AContacto.BusinessEventsObj) do
begin
DatosBancarios := _GetDatosBancarios;
end;
Result := (AContacto as IBizEmpleado);
finally
HideHourglassCursor;
end;
end;
function TDataModuleEmpleados.GetReport(const AFichaID: String): Binary;
begin
Result := (RORemoteService as IsrvContactos).GenerateFichaEmpleadoReport(AFichaID);
end;
function TDataModuleEmpleados.NewItem: IBizEmpleado;
begin
Result := GetItem(ID_NULO)
end;
end.