git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
236 lines
6.1 KiB
ObjectPascal
236 lines
6.1 KiB
ObjectPascal
unit TablaCitas;
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils, Classes;
|
|
|
|
type
|
|
TPartidasObra = (poCocina, poEncimeras, poElectro, poVarios);
|
|
TTipoCitas = (tcPersonal, tcMedicion, tcEntrega, tcMontaje, tcRemate,
|
|
tcPedido, tcConfirmacion, tcRecepcion, tcAviso, tcEntregaCliente);
|
|
|
|
TdmTablaCitas = class(TDataModule)
|
|
private
|
|
procedure IniciarSQL;
|
|
public
|
|
sqlInsertar : TStrings;
|
|
sqlModificar : TStrings;
|
|
sqlConsultar : TStrings;
|
|
sqlConsultarRecepciones : TStrings;
|
|
sqlEliminar : TStrings;
|
|
sqlRefrescar : TStrings;
|
|
|
|
function DarNuevoCodigo : Integer;
|
|
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
|
|
//procedure InicializarTablaVisitas(Tabla: TPTabla);
|
|
end;
|
|
|
|
function DarTipoCita (Texto : String) : TTipoCitas;
|
|
function esCitaFase (Texto : String) : Boolean;
|
|
|
|
const
|
|
TextoTipoCita: array[0..9] of String = ('PERSONAL', 'MEDICION', 'ENTREGA',
|
|
'MONTAJE', 'REMATE', 'PEDIDO', 'CONFIRMACION',
|
|
'RECEPCION', 'AVISO', 'ENTREGACLIENTE');
|
|
|
|
LiteralTipoCita: array[0..9] of String = ('Personal', 'Medición',
|
|
'Entrega a instalador', 'Montaje', 'Remate', 'Pedido',
|
|
'Confirmación de pedido', 'Recepción de pedido', 'Aviso transportista',
|
|
'Entrega al cliente');
|
|
|
|
TextoPartidasObra: array[0..3] of String = ('COCINA', 'ENCIMERAS',
|
|
'ELECTRO', 'VARIOS');
|
|
|
|
LiteralPartidasObra: array[0..3] of String = ('Cocina', 'Encimeras',
|
|
'Electrodomésticos', 'Varios');
|
|
|
|
var
|
|
dmTablaCitas: TdmTablaCitas;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
Mensajes, Literales, BaseDatos, IBSQL;
|
|
|
|
function DarTipoCita (Texto : String) : TTipoCitas;
|
|
var
|
|
i : Integer;
|
|
begin
|
|
Result := tcPersonal;
|
|
for I := Low(TextoTipoCita) to High(TextoTipoCita) do
|
|
begin
|
|
if UpperCase(TextoTipoCita[i]) = UpperCase(Texto) then
|
|
Result := TTipoCitas(I);
|
|
end;
|
|
|
|
if Result = tcPersonal then
|
|
for I := Low(LiteralTipoCita) to High(LiteralTipoCita) do
|
|
begin
|
|
if UpperCase(LiteralTipoCita[i]) = UpperCase(Texto) then
|
|
Result := TTipoCitas(I);
|
|
end;
|
|
|
|
|
|
{
|
|
end;
|
|
if Texto = 'Llegada' then
|
|
Result := tcLlegada
|
|
else if Texto = 'Medición' then
|
|
Result := tcMedicion
|
|
else if Texto = 'Entrega' then
|
|
Result := tcEntrega
|
|
else if Texto = 'Montaje' then
|
|
Result := tcMontaje
|
|
else if Texto = 'Remate' then
|
|
Result := tcRemate
|
|
else Result := tcPersonal;}
|
|
end;
|
|
|
|
function esCitaFase (Texto : String) : Boolean;
|
|
var
|
|
I: TTipoCitas;
|
|
begin
|
|
Result := False;
|
|
for I:=tcPedido to tcEntregaCliente do
|
|
if (TextoTipoCita[Ord(I)] = Texto) then
|
|
Result := True;
|
|
end;
|
|
|
|
|
|
{ TdmTablaCitas }
|
|
|
|
constructor TdmTablaCitas.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
sqlInsertar := TStringList.Create;
|
|
sqlModificar := TStringList.Create;
|
|
sqlConsultar := TStringList.Create;
|
|
sqlConsultarRecepciones := TStringList.Create;
|
|
sqlEliminar := TStringList.Create;
|
|
sqlRefrescar := TStringList.Create;
|
|
IniciarSQL;
|
|
end;
|
|
|
|
function TdmTablaCitas.DarNuevoCodigo: Integer;
|
|
var
|
|
oSQL : TIBSQL;
|
|
begin
|
|
Result := -1;
|
|
|
|
oSQL := TIBSQL.Create(Self);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select max(ID)+1 ');
|
|
SQL.Add('from CITAS ');
|
|
try
|
|
Prepare;
|
|
ExecQuery;
|
|
Result := Fields[0].AsInteger;
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
destructor TdmTablaCitas.Destroy;
|
|
begin
|
|
sqlInsertar.Free;
|
|
sqlModificar.Free;
|
|
sqlConsultar.Free;
|
|
sqlConsultarRecepciones.Free;
|
|
sqlEliminar.Free;
|
|
sqlRefrescar.Free;
|
|
inherited;
|
|
end;
|
|
|
|
{procedure TdmTablaCitas.InicializarTablaVisitas(Tabla: TPTabla);
|
|
begin
|
|
//
|
|
end;}
|
|
|
|
procedure TdmTablaCitas.IniciarSQL;
|
|
begin
|
|
with sqlInsertar do
|
|
begin
|
|
Add('INSERT INTO CITAS ( ');
|
|
Add('ID, PARENTID, "TYPE", START, ');
|
|
Add('FINISH, OPTIONS, CAPTION, ');
|
|
Add('RECURRENCEINDEX, RESOURCEID, LOCATION, ');
|
|
Add('"MESSAGE", REMINDER, STATE, LABELCOLOR, ');
|
|
Add('CODIGOCONTRATO, TIPOTAREA, NOMBRECLIENTE, ');
|
|
Add('PARTIDA, COMPLETADA, NOMBREPROVEEDOR) ');
|
|
Add('VALUES (:ID, :PARENTID, :"TYPE", ');
|
|
Add(':START, :FINISH, :OPTIONS, ');
|
|
Add(':CAPTION, :RECURRENCEINDEX, ');
|
|
Add(':RESOURCEID, :LOCATION, :"MESSAGE", ');
|
|
Add(':REMINDER, :STATE, :LABELCOLOR,');
|
|
Add(':CODIGOCONTRATO, :TIPOTAREA, :NOMBRECLIENTE, ');
|
|
Add(':PARTIDA, :COMPLETADA, :NOMBREPROVEEDOR) ');
|
|
end;
|
|
|
|
with sqlModificar do
|
|
begin
|
|
Add('UPDATE CITAS');
|
|
Add('SET PARENTID = :PARENTID,');
|
|
Add('"TYPE" = :"TYPE",');
|
|
Add('START = :START,');
|
|
Add('FINISH = :FINISH,');
|
|
Add('OPTIONS = :OPTIONS,');
|
|
Add('CAPTION = :CAPTION,');
|
|
Add('RECURRENCEINDEX = :RECURRENCEINDEX,');
|
|
Add('RESOURCEID = :RESOURCEID,');
|
|
Add('LOCATION = :LOCATION,');
|
|
Add('"MESSAGE" = :"MESSAGE",');
|
|
Add('REMINDER = :REMINDER,');
|
|
Add('STATE = :STATE,');
|
|
Add('LABELCOLOR = :LABELCOLOR,');
|
|
Add('CODIGOCONTRATO = :CODIGOCONTRATO,');
|
|
Add('TIPOTAREA = :TIPOTAREA, ');
|
|
Add('NOMBRECLIENTE = :NOMBRECLIENTE, ');
|
|
Add('PARTIDA = :PARTIDA, ');
|
|
Add('COMPLETADA = :COMPLETADA, ');
|
|
Add('NOMBREPROVEEDOR = :NOMBREPROVEEDOR ');
|
|
Add('WHERE (ID = :ID)');
|
|
end;
|
|
|
|
with sqlEliminar do
|
|
begin
|
|
Add('delete from CITAS ');
|
|
Add('WHERE (ID = :ID)');
|
|
end;
|
|
|
|
with sqlRefrescar do
|
|
begin
|
|
Add('select * from CITAS ');
|
|
Add('WHERE (ID = :ID)');
|
|
end;
|
|
|
|
with sqlConsultar do
|
|
begin
|
|
Add('SELECT * FROM CITAS');
|
|
end;
|
|
|
|
with sqlConsultarRecepciones do
|
|
begin
|
|
Add('SELECT CITAS.ID, CITAS.PARENTID, CITAS."TYPE", CITAS.START, ');
|
|
Add('CITAS.FINISH, CITAS.OPTIONS, CITAS.CAPTION, CITAS.RECURRENCEINDEX, ');
|
|
Add('CITAS.RESOURCEID, CITAS.LOCATION, CITAS."MESSAGE", CITAS.REMINDER, ');
|
|
Add('CITAS.STATE, CITAS.LABELCOLOR, CITAS.CODIGOCONTRATO, CITAS.TIPOTAREA, ');
|
|
Add('CITAS.NOMBRECLIENTE, CITAS.PARTIDA, CITAS.COMPLETADA, ');
|
|
Add('CITAS.NOMBREPROVEEDOR, OBRAS.CODIGODOCUMENTO ');
|
|
Add('FROM CITAS LEFT JOIN OBRAS ON (OBRAS.CODIGOCONTRATO = CITAS.CODIGOCONTRATO) ');
|
|
end;
|
|
end;
|
|
|
|
end.
|