Ver Mensaje Individual
  #2  
Antiguo 09-09-2014
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Reputación: 12
martini002 Va por buen camino
Código Delphi [-]
procedure TFormPrincipal.BAceptarClick(Sender: TObject);
var
  //VectorDatosTemporales : Array [1..10] Of String;
  Fecha:TDate;
  Hora:TTime;
  Año,Mes,Dia:Word;
  NombreTablaRC, NombreTablaRU:String;
  SumarTurno:String;
  NombreConductor,aux:String;
  NotaFlag:String;
  I:Integer;
  //variables de prueba mientras no funcione la suma correcta de decimales
  //sumaremos turnos y cesta tickets
  TurnosActuales,TurnosCTActuales,TurnosNuevos,TurnosCTNuevos:Real;
begin
  BarraProgreso.StepIt;
  //Bloqueamos interfaz
  DesactivarBotones(False);

  BarraProgreso.StepIt;

  DecodeDate(Date, Año, Mes, Dia);

  NombreTablaRC:='RC'+AgregarCeroAlMes(IntToStr(Mes))+IntToStr(Año)+VectorInformacionSalidaChoferPorID[6];
  NombreTablaRU:='RU'+AgregarCeroAlMes(IntToStr(Mes))+IntToStr(Año)+VectorInformacionSalidaChoferPorID[6];

  //Tuplas: 1 Nombre Unidad, 2 Nombre Ruta, 3 Turno
  //Tuplas: 1 Numero Unidad, 2 Numero Ruta, 3 Hora Turno expresado en Horas, 4 Numero Subruta, 5 Pago por el turno, 6 ID Cliente
  //Comprobamos que no se halla registrado en la RU
  ZQuery1.Close;
  ZQuery1.SQL.Text:= 'Select `'+IntToStr(Dia)+'` From Relaciones.'+NombreTablaRU+' Where IdentificadorRuta = '+VectorInformacionSalidaChoferPorID[2]+' And TurnoRuta = '+VectorInformacionSalidaChoferPorID[3];
  ZQuery1.Open;

  BarraProgreso.StepIt;

  if (ZQuery1.Fields[0].AsString='0') Or (ZQuery1.Fields[0].AsString='') then
    begin

      //Actualizamos Relacion Unidades
      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Relaciones.'+NombreTablaRU+' Set `'+IntToStr(Dia)+'` = "'+VectorInformacionSalidaChofer[1]+'" Where IdentificadorRuta = '+VectorInformacionSalidaChoferPorID[2]+' And TurnoRuta = '+VectorInformacionSalidaChoferPorID[3];

      ZQuery1.ExecSQL;

      BarraProgreso.StepIt;

      //Actualizamos Relacion Conductores

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Relaciones.'+NombreTablaRC+' Set `'+IntToStr(Dia)+'` = "'+VectorInformacionSalidaChoferPorID[7]+'" Where IdentificadorRuta = '+VectorInformacionSalidaChoferPorID[2]+' And TurnoRuta = '+VectorInformacionSalidaChoferPorID[3];
      ZQuery1.ExecSQL;

      BarraProgreso.StepIt;

      //actualizamos turnos conductores

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Select TurnosConductor From Relaciones.TurnosConductores Where NumeroConductor = "'+VectorInformacionSalidaChoferPorID[7]+'"';
      ZQuery1.Open;

      //TurnosActuales,TurnosCTActuales,TurnosNuevos,TurnosCTNuevos,PrecioTurno,PrecioCT:Real;
      TurnosActuales:=ZQuery1.Fields[0].AsFloat;
      TurnosNuevos:=StrToFloat(VectorInformacionSalidaChoferPorID[5])+TurnosActuales;

      //SumarTurno:=FloatToStr(StrToFloat(ZQuery1.Fields[0].AsString)+StrToFloat(VectorInformacionSalidaChoferPorID[5]));
      SumarTurno:=FloatToStr(TurnosNuevos);

      BarraProgreso.StepIt;

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Relaciones.TurnosConductores Set TurnosConductor = "'+SumarTurno+'" Where NumeroConductor = "'+VectorInformacionSalidaChoferPorID[7]+'"';
      ZQuery1.ExecSQL;

      //actualizamos turnos unidades

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Select TurnosUnidad From Relaciones.TurnosUnidades Where NumeroUnidad = "'+VectorInformacionSalidaChoferPorID[1]+'"';
      ZQuery1.Open;

      SumarTurno:=FloatToStr(StrToFloat(ZQuery1.Fields[0].AsString)+1);

      BarraProgreso.StepIt;

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Relaciones.TurnosUnidades Set TurnosUnidad = "'+SumarTurno+'" Where NumeroUnidad = "'+VectorInformacionSalidaChoferPorID[1]+'"';
      ZQuery1.ExecSQL;

      //actualizamos turnos rutas

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Select TurnosActuales From Relaciones.TurnosRutas Where IdentificadorRuta = "'+VectorInformacionSalidaChoferPorID[2]+'" And HoraTurno = "'+VectorInformacionSalidaChoferPorID[3]+'"';
      ZQuery1.Open;

      SumarTurno:=FloatToStr(StrToFloat(ZQuery1.Fields[0].AsString)+1);

      BarraProgreso.StepIt;

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Relaciones.TurnosRutas Set TurnosActuales = "'+SumarTurno+'" Where IdentificadorRuta = "'+VectorInformacionSalidaChoferPorID[2]+'" And HoraTurno = "'+VectorInformacionSalidaChoferPorID[3]+'"';
      ZQuery1.ExecSQL;

      //actualizamos cesta tickets

      SumarTurno:='';

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Select CestaTickets From Relaciones.TurnosConductores Where NumeroConductor = "'+VectorInformacionSalidaChoferPorID[7]+'"';
      ZQuery1.Open;

      //TurnosActuales,TurnosCTActuales,TurnosNuevos,TurnosCTNuevos,PrecioTurno,PrecioCT:Real;

      TurnosCTActuales:=ZQuery1.Fields[0].AsFloat;
      TurnosCTNuevos:=StrToFloat(VectorInformacionSalidaChoferPorID[8])+TurnosCTActuales;

      //SumarTurno:=FloatToStr(StrToFloat(ZQuery1.Fields[0].AsString)+StrToFloat(VectorInformacionSalidaChoferPorID[8]));
      SumarTurno:=FloatToStr(TurnosCTNuevos);

      BarraProgreso.StepIt;

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Relaciones.TurnosConductores Set CestaTickets = "'+SumarTurno+'" Where NumeroConductor = "'+VectorInformacionSalidaChoferPorID[7]+'"';
      ZQuery1.ExecSQL;

      //Bloqueamos la unidad por hora
      Hora:=Time;

      BarraProgreso.StepIt;

      ZConnection1.Disconnect;
      //Cambiamos la BD a transportes
      ZConnection1.Database:='Transportes';
      ZConnection1.Connect;

      BarraProgreso.StepIt;

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Update Transportes.EstadoUnidades Set Activa = "DES", QuienDesactivo = "SYS", HoraDesactivacion = "'+TimeToStr(Hora)+'" Where NumeroUnidad = "'+VectorInformacionSalidaChoferPorID[1]+'"';
      ZQuery1.ExecSQL;

      //Seleccionamos el nombre y apellido del conductor

      ZQuery1.Close;
      ZQuery1.SQL.Text:='Select Nombre1,Apellido1 From Conductores Where NumeroConductor = "'+VectorInformacionSalidaChoferPorID[7]+'"';
      ZQuery1.Open;

      NombreConductor:=ZQuery1.Fields[0].AsString+' '+ZQuery1.Fields[1].AsString;

      BarraProgreso.StepIt;

      //Agregamos el nuevo registro
      //Tuplas: 1 Numero Unidad, 2 Numero Ruta, 3 Hora Turno expresado en Horas, 4 Numero Subruta, 5 Pago por el turno, 6 ID Cliente, 7 id conductor, 8 pago por ct, 9 tipo ruta



      ZQuery1.Close;
      ZQuery1.SQL.Clear;
      ZQuery1.SQL.Add('Insert Into EstadisticasConductores.RegistrosConductoresRutas(NumeroConductor,EstadoReporte,QuienRegistro,FechaR  egistro,HoraRegistro,FechaValidacion,HoraValidacion,Ruta,IdentificadorRuta,Turno,TipoRuta,Unidad,Nom  breConductor) Values(');
      ZQuery1.SQL.Add('"'+VectorInformacionSalidaChoferPorID[7]+'",');
      ZQuery1.SQL.Add('"PENDIENTE",');
      ZQuery1.SQL.Add('"SYS",');
      ZQuery1.SQL.Add('"'+FormatDateTime('yyyy/mm/dd', Date)+'",');
      ZQuery1.SQL.Add('"'+TimeToStr(Time)+'",');
      ZQuery1.SQL.Add('"'+FormatDateTime('yyyy/mm/dd', Date)+'",');
      ZQuery1.SQL.Add('"'+TimeToStr(Time)+'",');
      ZQuery1.SQL.Add('"'+VectorInformacionSalidaChofer[2]+'",');
      ZQuery1.SQL.Add('"'+VectorInformacionSalidaChoferPorID[2]+'",');
      ZQuery1.SQL.Add('"'+VectorInformacionSalidaChoferPorID[3]+'",');
      ZQuery1.SQL.Add('"'+VectorInformacionSalidaChoferPorID[9]+'",');
      ZQuery1.SQL.Add('"'+VectorInformacionSalidaChofer[1]+'",');
      ZQuery1.SQL.Add('"'+NombreConductor+'")');
      ZQuery1.ExecSQL;

      //Creamos un nuevo evento de que acaba de ser registrada la ruta
      //esto lo enviaremos por correo a la planta

      //Tuplas: 1 Numero Unidad, 2 Numero Ruta, 3 Hora Turno expresado en Horas, 4 Numero Subruta, 5 Pago por el turno, 6 ID Cliente, 7 id conductor, 8 pago por ct, 9 tipo ruta
      //VectorInformacionSalidaChoferPorID: Array [1..9] Of String;

      NotaFlag:=VectorInformacionSalidaChoferPorID[9]+' | '+VectorInformacionSalidaChofer[2]+' | '+VectorInformacionSalidaChoferPorID[3]+' | '+NombreConductor+' | '+FormatDateTime('yyyy/mm/dd', Date)+' | '+TimeToStr(Time);

      ZQuery1.Close;
      ZQuery1.SQL.Clear;
      ZQuery1.SQL.Add('Insert Into Transportes.FlagsPendientes(FechaCreacion,HoraCreacion,Estado,TipoFlag,Nota) Values(');
      ZQuery1.SQL.Add('"'+FormatDateTime('yyyy/mm/dd', Date)+'",');
      ZQuery1.SQL.Add('"'+TimeToStr(Time)+'",');
      ZQuery1.SQL.Add('"S",');
      ZQuery1.SQL.Add('"3",');
      ZQuery1.SQL.Add('"'+NotaFlag+'")');
      ZQuery1.ExecSQL;

      for I := 1 to 9 do
        VectorInformacionSalidaChoferPorID[i]:='';

      for I := 1 to 3 do
        VectorInformacionSalidaChofer[i]:='';


      BarraProgreso.StepIt;

      Label1.Caption:='Ok! Bon Voyage!';
      BarraProgreso.StepIt;

      while BarraProgreso.Position<100 do
        BarraProgreso.StepIt;

      ZConnection1.Disconnect;
      //Cambiamos la BD a transportes
      ZConnection1.Database:='Transportes';
      ZConnection1.Connect;

      OkMeVoy.Enabled:=True;
    end//fin condicion de ruta registrada
  else
    begin
      DesactivarBotones(True);
      ShowMessage('ERROR! Esta ruta ya fue registrada!');
      BAceptar.Enabled:=False;
    end;
  //CargarDatosConexion;
end;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita