git-svn-id: https://svn.coded.pt/svn/SIPRP@741 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 18 years ago
parent af3eb82c02
commit 5cf33e5a02

@ -17,11 +17,14 @@ import com.evolute.utils.Singleton;
import com.evolute.utils.arrays.Virtual2DArray; import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.data.IDObject; import com.evolute.utils.data.IDObject;
import com.evolute.utils.data.MappableObject; import com.evolute.utils.data.MappableObject;
import com.evolute.utils.db.DBException;
import com.evolute.utils.db.DBManager; import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer; import com.evolute.utils.db.Executer;
import com.evolute.utils.sql.Assignment; import com.evolute.utils.sql.Assignment;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field; import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select; import com.evolute.utils.sql.Select;
import com.evolute.utils.sql.Select2;
import com.evolute.utils.sql.Update; import com.evolute.utils.sql.Update;
import com.evolute.utils.strings.StringPlainer; import com.evolute.utils.strings.StringPlainer;
import com.evolute.utils.ui.search.SearchDialog; import com.evolute.utils.ui.search.SearchDialog;
@ -715,4 +718,30 @@ public class FichaDataProvider
} }
return ( Integer ) medicosEstabelecimentosHash.get( estabelecimentoID ); return ( Integer ) medicosEstabelecimentosHash.get( estabelecimentoID );
} }
public Long countTrabalhadoresActivosForEmpresa( Integer empresaID )
{
Long result = 0L;
try
{
Select2 query = new Select2( new String[]{"trabalhadores", "estabelecimentos", "empresas" },
new Integer[]{ Select2.JOIN_INNER, Select2.JOIN_INNER },
new Expression[]{
new Field("estabelecimentos.id").isEqual(new Field("trabalhadores.estabelecimento_id")),
new Field("empresas.id").isEqual( new Field("estabelecimentos.empresa_id") ) },
new String[]{"count(trabalhadores.id)" },
new Field("empresas.id").isEqual( empresaID ).
and( new Field("trabalhadores.inactivo").isEqual( "n" ) ),
null, null, null, null);
Virtual2DArray returned = executer.executeQuery( query );
if( returned.columnLength() > 0 )
{
result = (Long) returned.get( 0, 0 );
}
}
catch (DBException e) {
e.printStackTrace();
}
return result;
}
} }

@ -31,6 +31,9 @@ import siprp.data.*;
public class EmpresaPanel extends JPanel public class EmpresaPanel extends JPanel
implements ControllableComponent, ListSelectionListener implements ControllableComponent, ListSelectionListener
{ {
private static final String STRING_TRABALHADORES_ACTIVOS = "Trabalhadores activos";
private JDOProvider JDO; private JDOProvider JDO;
private FichaDataProvider provider; private FichaDataProvider provider;
@ -75,6 +78,7 @@ public class EmpresaPanel extends JPanel
private MarcacaoEmpresaPanel marcacaoPanel; private MarcacaoEmpresaPanel marcacaoPanel;
private CardLayout marcacoesCardLayout; private CardLayout marcacoesCardLayout;
private ProtocoloPanel protocoloPanel; private ProtocoloPanel protocoloPanel;
private JLabel labelTrabalhadoresActivos = new JLabel( getTextForTrabalhadoresActivos(0) );
// private UserPanel userPanel; // private UserPanel userPanel;
private BaseTable estabelecimentosTable; private BaseTable estabelecimentosTable;
@ -96,6 +100,11 @@ public class EmpresaPanel extends JPanel
setupComponentsHashtable(); setupComponentsHashtable();
} }
private String getTextForTrabalhadoresActivos( long numTrabalhadoresActivos )
{
return STRING_TRABALHADORES_ACTIVOS + " (" + numTrabalhadoresActivos + ")";
}
private void setupComponents() private void setupComponents()
throws Exception throws Exception
{ {
@ -459,9 +468,8 @@ public class EmpresaPanel extends JPanel
constraints.weightx = 0.4; constraints.weightx = 0.4;
constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.gridwidth = GridBagConstraints.REMAINDER;
pad = new JPanel(); gridbag.setConstraints( labelTrabalhadoresActivos, constraints );
gridbag.setConstraints( pad, constraints ); formalidadesPanel.add( labelTrabalhadoresActivos );
formalidadesPanel.add( pad );
// constraints.weightx = 0.5; // constraints.weightx = 0.5;
// constraints.gridwidth = GridBagConstraints.REMAINDER; // constraints.gridwidth = GridBagConstraints.REMAINDER;
@ -809,6 +817,12 @@ public class EmpresaPanel extends JPanel
dadosProtocolo[ 1 ].add( analisesExamesB ); dadosProtocolo[ 1 ].add( analisesExamesB );
dadosProtocolo[ 1 ].add( elementosProtocolo[ 1 ] ); dadosProtocolo[ 1 ].add( elementosProtocolo[ 1 ] );
protocoloPanel.fill( dadosProtocolo ); protocoloPanel.fill( dadosProtocolo );
Integer empresaID = empresa == null ? null : (Integer) empresa.get( EmpresaData.ID );
if( empresaID != null )
{
Long numTrabalhadoresActivos = provider.countTrabalhadoresActivosForEmpresa( empresaID );
labelTrabalhadoresActivos.setText( getTextForTrabalhadoresActivos( numTrabalhadoresActivos ) );
}
// if( webAware ) // if( webAware )
// { // {
// userPanel.setEmpresaID( (Integer) empresa.get( EmpresaData.ID ) ); // userPanel.setEmpresaID( (Integer) empresa.get( EmpresaData.ID ) );

Loading…
Cancel
Save