git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
281 lines
8.1 KiB
ObjectPascal
281 lines
8.1 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2005. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 08-06-2005
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 08-06-2005
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit TablaObrasInstaladores;
|
|
|
|
interface
|
|
|
|
uses
|
|
//Generales
|
|
SysUtils, Classes, Controls, IBSQL, cxGridDBTableView, cxCustomData, DB,
|
|
//Particulares
|
|
Contnrs, cxCurrencyEdit,
|
|
|
|
//Aplicacion
|
|
Framework, StrFunc, Entidades, Constantes, BaseDatos,
|
|
|
|
//Contador
|
|
Contadores, RdxGestorContadores;
|
|
|
|
type
|
|
TDatosObraInstalador = class(TObjeto)
|
|
public
|
|
CodigoContrato : String;
|
|
CodigoInstalador : String;
|
|
FechaAlta : String;
|
|
Usuario : String;
|
|
Nombre : String;
|
|
Descripcion : String;
|
|
Precio : Double;
|
|
|
|
constructor Create; overload;
|
|
constructor Create(CodigoObra, CodigoInstalador : String); overload;
|
|
procedure ObtenerDatos; override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
type
|
|
TdmTablaObrasInstaladores = class(TDataModule)
|
|
private
|
|
procedure IniciarSQL;
|
|
public
|
|
sqlInsertar : TStrings;
|
|
sqlModificar : TStrings;
|
|
sqlConsultar : TStrings;
|
|
sqlEliminar : TStrings;
|
|
sqlGrid : TStrings;
|
|
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
procedure InicializarGrid(var vGrid: TcxGridDBTableView);
|
|
end;
|
|
|
|
var
|
|
dmTablaObrasInstaladores: TdmTablaObrasInstaladores;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
IBErrorCodes, IB, Literales, Mensajes, Excepciones;
|
|
|
|
constructor TdmTablaObrasInstaladores.Create (AOwner : TComponent);
|
|
begin
|
|
inherited;
|
|
sqlInsertar := TStringList.Create;
|
|
sqlModificar := TStringList.Create;
|
|
sqlConsultar := TStringList.Create;
|
|
sqlEliminar := TStringList.Create;
|
|
sqlGrid := TStringList.Create;
|
|
IniciarSQL;
|
|
end;
|
|
|
|
destructor TdmTablaObrasInstaladores.Destroy;
|
|
begin
|
|
sqlInsertar.Free;
|
|
sqlModificar.Free;
|
|
sqlConsultar.Free;
|
|
sqlEliminar.Free;
|
|
sqlGrid.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TdmTablaObrasInstaladores.InicializarGrid(var vGrid: TcxGridDBTableView);
|
|
var
|
|
Columna : TcxGridDBColumn;
|
|
begin
|
|
with vGrid do begin
|
|
OptionsView.Footer := True;
|
|
|
|
{Columna CODIGOCONTRATO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGOCONTRATO';
|
|
Columna.Caption := 'Código contrato';
|
|
Columna.Width := tamColCodigo;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Visible := False;
|
|
|
|
{Columna CODIGOINSTALADOR}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGOINSTALADOR';
|
|
Columna.Caption := 'Código';
|
|
Columna.Width := tamColCodigo;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Visible := False;
|
|
{Columna NOMBRE}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'NOMBRE';
|
|
Columna.Caption := 'Nombre';
|
|
Columna.Width := tamColCorreo;
|
|
Columna.Options.Filtering := False;
|
|
Columna.SortOrder := soAscending;
|
|
{Columna DESCRIPCION}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'DESCRIPCION';
|
|
Columna.Caption := 'Trabajo';
|
|
Columna.Width := tamColNombre;
|
|
Columna.Options.Filtering := False;
|
|
{Columna PRECIO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'PRECIO';
|
|
Columna.Caption := 'Precio';
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
Columna.PropertiesClassName := 'TcxCurrencyEditProperties';
|
|
with TcxCurrencyEditProperties(Columna.Properties) do
|
|
begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := 'Total: #,0.00# €';
|
|
Kind := skSum;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaObrasInstaladores.IniciarSQL;
|
|
begin
|
|
with sqlInsertar do
|
|
begin
|
|
Add('INSERT INTO OBRASINSTALADORES (');
|
|
Add('CODIGOCONTRATO, CODIGOINSTALADOR, FECHAALTA, ');
|
|
Add('USUARIO, NOMBRE, DESCRIPCION, PRECIO)');
|
|
Add('VALUES (:CODIGOCONTRATO, :CODIGOINSTALADOR,');
|
|
Add(':FECHAALTA, :USUARIO, :NOMBRE, :DESCRIPCION,');
|
|
Add(':PRECIO)');
|
|
end;
|
|
|
|
with sqlModificar do
|
|
begin
|
|
Add('UPDATE OBRASINSTALADORES SET');
|
|
Add('NOMBRE = :NOMBRE,');
|
|
Add('DESCRIPCION = :DESCRIPCION,');
|
|
Add('PRECIO = :PRECIO');
|
|
Add('WHERE (CODIGOCONTRATO = :CODIGOCONTRATO) AND ');
|
|
Add('(CODIGOINSTALADOR = :CODIGOINSTALADOR)');
|
|
end;
|
|
|
|
with sqlEliminar do
|
|
begin
|
|
Add('delete from OBRASINSTALADORES ');
|
|
Add('WHERE (CODIGOCONTRATO = :CODIGOCONTRATO) AND ');
|
|
Add('(CODIGOINSTALADOR = :CODIGOINSTALADOR)');
|
|
end;
|
|
|
|
with sqlConsultar do
|
|
begin
|
|
Add('select CODIGOCONTRATO, CODIGOINSTALADOR, FECHAALTA, USUARIO,');
|
|
Add('NOMBRE, DESCRIPCION, PRECIO');
|
|
Add('from OBRASINSTALADORES');
|
|
Add('WHERE (CODIGOCONTRATO = :CODIGOCONTRATO) AND ');
|
|
Add('(CODIGOINSTALADOR = :CODIGOINSTALADOR)');
|
|
end;
|
|
|
|
with sqlGrid do
|
|
begin
|
|
Add('select CODIGOCONTRATO, CODIGOINSTALADOR, FECHAALTA, USUARIO,');
|
|
Add('NOMBRE, DESCRIPCION, PRECIO');
|
|
Add('from OBRASINSTALADORES');
|
|
Add('WHERE (CODIGOCONTRATO = :CODIGOCONTRATO)');
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TDatosObraInstalador }
|
|
|
|
constructor TDatosObraInstalador.Create(CodigoObra, CodigoInstalador: String);
|
|
begin
|
|
inherited Create;
|
|
CodigoContrato := CodigoObra;
|
|
CodigoInstalador := CodigoInstalador;
|
|
// Recuperar los datos
|
|
ObtenerDatos;
|
|
end;
|
|
|
|
constructor TDatosObraInstalador.Create;
|
|
begin
|
|
inherited Create;
|
|
end;
|
|
|
|
destructor TDatosObraInstalador.Destroy;
|
|
begin
|
|
inherited;
|
|
end;
|
|
|
|
procedure TDatosObraInstalador.ObtenerDatos;
|
|
var
|
|
oSQL : TIBSQL;
|
|
begin
|
|
if EsCadenaVacia(CodigoContrato) and EsCadenaVacia(CodigoInstalador) then
|
|
raise Exception.Create(msgObrFaltaObr);
|
|
|
|
oSQL := TIBSQL.Create(NIL);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select CODIGOCONTRATO, CODIGOINSTALADOR, FECHAALTA, USUARIO,');
|
|
SQL.Add('NOMBRE, DESCRIPCION, PRECIO');
|
|
SQL.Add('from OBRASINSTALADORES');
|
|
SQL.Add('where CODIGOCONTRATO = :CODIGOCONTRATO');
|
|
SQL.Add('where CODIGOINSTALADOR = :CODIGOINSTALADOR');
|
|
ParamByName('CODIGOCONTRATO').AsString := CodigoContrato;
|
|
ParamByName('CODIGOINSTALADOR').AsString := CodigoInstalador;
|
|
|
|
try
|
|
Prepare;
|
|
ExecQuery;
|
|
|
|
// Compruebo si se han recuperado datos
|
|
if (RecordCount > 0) then
|
|
begin
|
|
CodigoContrato := FieldByName('CODIGOCONTRATO').AsString;
|
|
CodigoInstalador := FieldByName('CODIGOINSTALADOR').AsString;
|
|
FechaAlta := FieldByName('FECHAALTA').AsString;
|
|
Usuario := FieldByName('USUARIO').AsString;
|
|
Nombre := FieldByName('NOMBRE').AsString;
|
|
Descripcion := FieldByName('DESCRIPCION').AsString;
|
|
Precio := FieldByName('PRECIO').AsFloat;
|
|
end;
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
end.
|