Advertisement
Guest User

Untitled

a guest
May 16th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 10.26 KB | None | 0 0
  1.     With QPastor do
  2.     begin
  3.         //* Pega os Pastores primeiro *//
  4.         SQL.Clear ;
  5.         SQL.Text := ' SELECT C.ID_PASTOR, P.NOME ' +
  6.                     ' FROM SICI_CELULA C ' +
  7.                     ' LEFT JOIN SICI_PASTOR P on C.ID_PASTOR = P.ID ' +
  8.                     ' GROUP BY 1,2 ';
  9.  
  10.         try
  11.             Open;
  12.             QPastor.First;
  13.             while not QPastor.Eof do
  14.             begin
  15.                 AddNode(False, clGreen).Text := 'Pastor: ' + FieldByName('NOME').AsString;
  16.  
  17.                 //* Pega os coordenadores que pertence a esse Pastor *//
  18.                 With QCoordenador do
  19.                 begin
  20.                     SQL.Clear ;
  21.                     SQL.Text := ' SELECT C.ID_PASTOR, C.ID_COORDENADOR, CD.NOME, CD.FOTO ' +
  22.                                 ' FROM SICI_CELULA C ' +
  23.                                 ' LEFT JOIN SICI_COORDENADOR CD on C.ID_COORDENADOR = CD.ID ' +
  24.                                 ' WHERE C.ID_PASTOR = :ID_PASTOR ' +
  25.                                 ' GROUP BY 1,2,3,4 ';
  26.  
  27.                     ParamByName('ID_PASTOR').AsInteger := QPastor.FieldByName('ID_PASTOR').AsInteger;
  28.                     Open;
  29.                     QCoordenador.First;
  30.                     while not QCoordenador.Eof do
  31.                     begin
  32.                         AddNode(True, clWhite).Text := 'Coordenador: ' + QCoordenador.FieldByName('NOME').AsString;
  33.  
  34.  
  35.                         //* Pega os supervisores que pertence a esse Coordenador *//
  36.                         With QSupervisor do
  37.                         begin
  38.                             SQL.Clear ;
  39.                             SQL.Text := ' SELECT C.ID_COORDENADOR, C.ID_SUPERVISOR, CD.NOME, CD.FOTO ' +
  40.                                         ' FROM SICI_CELULA C ' +
  41.                                         ' LEFT JOIN SICI_SUPERVISOR CD on C.ID_SUPERVISOR = CD.ID ' +
  42.                                         ' WHERE C.ID_COORDENADOR = :ID_COORDENADOR ' +
  43.                                         ' GROUP BY 1,2,3,4 ';
  44.  
  45.                             ParamByName('ID_COORDENADOR').AsInteger := QCoordenador.FieldByName('ID_COORDENADOR').AsInteger;
  46.                             Open;
  47.                             QSupervisor.First;
  48.                             while not QSupervisor.Eof do
  49.                             begin
  50.                                 AddNode(True, clYellow).Text := 'Supervisor: ' + QSupervisor.FieldByName('NOME').AsString;
  51.  
  52.  
  53.                                 //* Pega os Líderes que pertence a esse Supervisor *//
  54.                                 With QLider do
  55.                                 begin
  56.                                     SQL.Clear ;
  57.                                     SQL.Text := ' SELECT C.ID_SUPERVISOR, C.ID_LIDER, CD.NOME, CD.FOTO ' +
  58.                                                 ' FROM SICI_CELULA C ' +
  59.                                                 ' LEFT JOIN SICI_MEMBRO_CELULA CD on C.ID_LIDER = CD.ID ' +
  60.                                                 ' WHERE C.ID_SUPERVISOR = :ID_SUPERVISOR ' +
  61.                                                 ' GROUP BY 1,2,3,4 ';
  62.  
  63.                                     ParamByName('ID_SUPERVISOR').AsInteger := QSupervisor.FieldByName('ID_SUPERVISOR').AsInteger;
  64.                                     Open;
  65.                                     QLider.First;
  66.                                     while not QLider.Eof do
  67.                                     begin
  68.                                         AddNode(True, clBlue).Text := 'Líder: ' + QLider.FieldByName('NOME').AsString;
  69.  
  70.  
  71.                                         //* Pega os Co-Líderes1 que pertence a esse Supervisor *//
  72.                                         With QCoLider1 do
  73.                                         begin
  74.                                             SQL.Clear ;
  75.                                             SQL.Text := ' SELECT C.ID_LIDER, C.ID_COLIDER01, CD.NOME, CD.FOTO ' +
  76.                                                         ' FROM SICI_CELULA C ' +
  77.                                                         ' LEFT JOIN SICI_MEMBRO_CELULA CD on C.ID_COLIDER01 = CD.ID ' +
  78.                                                         ' WHERE C.ID_LIDER = :ID_LIDER ' +
  79.                                                         ' GROUP BY 1,2,3,4 ';
  80.  
  81.                                             ParamByName('ID_LIDER').AsInteger := QLider.FieldByName('ID_LIDER').AsInteger;
  82.                                             Open;
  83.                                             QCoLider1.First;
  84.                                             while not QCoLider1.Eof do
  85.                                             begin
  86.                                                 AddNode(True, clBlue).Text := 'Co-Lider 1: ' + QCoLider1.FieldByName('NOME').AsString;
  87.  
  88.  
  89.                                                 //* Pega os Co-Líderes2 que pertence a esse Supervisor *//
  90.                                                 With QCoLider2 do
  91.                                                 begin
  92.                                                     SQL.Clear ;
  93.                                                     SQL.Text := ' SELECT C.ID_LIDER, C.ID_COLIDER02, CD.NOME, CD.FOTO ' +
  94.                                                                 ' FROM SICI_CELULA C ' +
  95.                                                                 ' LEFT JOIN SICI_MEMBRO_CELULA CD on C.ID_COLIDER02 = CD.ID ' +
  96.                                                                 ' WHERE C.ID_LIDER = :ID_LIDER ' +
  97.                                                                 ' GROUP BY 1,2,3,4 ';
  98.  
  99.                                                     ParamByName('ID_LIDER').AsInteger := QLider.FieldByName('ID_LIDER').AsInteger;
  100.                                                     Open;
  101.                                                     QCoLider2.First;
  102.                                                     while not QCoLider2.Eof do
  103.                                                     begin
  104.                                                         if (QCoLider2.FieldByName('ID_COLIDER02').IsNull = False) then
  105.                                                             AddNode(False, clBlue).Text := 'Co-Lider 2: ' + QCoLider2.FieldByName('NOME').AsString;
  106.  
  107.  
  108.                                                         //* Pega os Co-Líderes3 que pertence a esse Supervisor *//
  109.                                                         With QCoLider3 do
  110.                                                         begin
  111.                                                             SQL.Clear ;
  112.                                                             SQL.Text := ' SELECT C.ID_LIDER, C.ID_COLIDER03, CD.NOME, CD.FOTO ' +
  113.                                                                         ' FROM SICI_CELULA C ' +
  114.                                                                         ' LEFT JOIN SICI_MEMBRO_CELULA CD on C.ID_COLIDER03 = CD.ID ' +
  115.                                                                         ' WHERE C.ID_LIDER = :ID_LIDER ' +
  116.                                                                         ' GROUP BY 1,2,3,4 ';
  117.  
  118.                                                             ParamByName('ID_LIDER').AsInteger := QLider.FieldByName('ID_LIDER').AsInteger;
  119.                                                             Open;
  120.                                                             QCoLider3.First;
  121.                                                             while not QCoLider3.Eof do
  122.                                                             begin
  123.                                                                 if (QCoLider3.FieldByName('ID_COLIDER03').IsNull = False) then
  124.                                                                     AddNode(False, clBlue).Text := 'Co-Lider 3: ' + QCoLider3.FieldByName('NOME').AsString;
  125.  
  126.                                                             QCoLider3.Next;
  127.                                                             end;
  128.                                                         end;
  129.  
  130.  
  131.                                                     QCoLider2.Next;
  132.                                                     end;
  133.                                                 end;
  134.  
  135.                                                 //* Pega o Anfitrião que pertence a essa Célula *//
  136.                                                 With QAnfitriao do
  137.                                                 begin
  138.                                                     SQL.Clear ;
  139.                                                     SQL.Text := ' SELECT C.ID_LIDER, C.ID_ANFITRIAO, CD.NOME, CD.FOTO ' +
  140.                                                                 ' FROM SICI_CELULA C ' +
  141.                                                                 ' LEFT JOIN SICI_MEMBRO_CELULA CD on C.ID_ANFITRIAO = CD.ID ' +
  142.                                                                 ' WHERE C.ID_LIDER = :ID_LIDER ' +
  143.                                                                 ' GROUP BY 1,2,3,4 ';
  144.  
  145.                                                     ParamByName('ID_LIDER').AsInteger := QLider.FieldByName('ID_LIDER').AsInteger;
  146.                                                     Open;
  147.                                                     QAnfitriao.First;
  148.                                                     while not QAnfitriao.Eof do
  149.                                                     begin
  150.                                                         AddNode(True, clBlue).Text := 'Anfitrião: ' + QAnfitriao.FieldByName('NOME').AsString;
  151.  
  152.                                                     QAnfitriao.Next;
  153.                                                     end;
  154.                                                 end;
  155.  
  156.  
  157.  
  158.                                             QCoLider1.Next;
  159.                                             end;
  160.                                         end;
  161.  
  162.  
  163.                                     QLider.Next;
  164.                                     end;
  165.                                 end;
  166.  
  167.                             QSupervisor.Next;
  168.                             end;
  169.                         end;
  170.  
  171.                     QCoordenador.Next;
  172.                     end;
  173.                 end;
  174.  
  175.             QPastor.Next;
  176.             end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement