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.data.IDObject;
import com.evolute.utils.data.MappableObject;
import com.evolute.utils.db.DBException;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.sql.Assignment;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select;
import com.evolute.utils.sql.Select2;
import com.evolute.utils.sql.Update;
import com.evolute.utils.strings.StringPlainer;
import com.evolute.utils.ui.search.SearchDialog;
@ -715,4 +718,30 @@ public class FichaDataProvider
}
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
implements ControllableComponent, ListSelectionListener
{
private static final String STRING_TRABALHADORES_ACTIVOS = "Trabalhadores activos";
private JDOProvider JDO;
private FichaDataProvider provider;
@ -75,6 +78,7 @@ public class EmpresaPanel extends JPanel
private MarcacaoEmpresaPanel marcacaoPanel;
private CardLayout marcacoesCardLayout;
private ProtocoloPanel protocoloPanel;
private JLabel labelTrabalhadoresActivos = new JLabel( getTextForTrabalhadoresActivos(0) );
// private UserPanel userPanel;
private BaseTable estabelecimentosTable;
@ -96,6 +100,11 @@ public class EmpresaPanel extends JPanel
setupComponentsHashtable();
}
private String getTextForTrabalhadoresActivos( long numTrabalhadoresActivos )
{
return STRING_TRABALHADORES_ACTIVOS + " (" + numTrabalhadoresActivos + ")";
}
private void setupComponents()
throws Exception
{
@ -459,9 +468,8 @@ public class EmpresaPanel extends JPanel
constraints.weightx = 0.4;
constraints.gridwidth = GridBagConstraints.REMAINDER;
pad = new JPanel();
gridbag.setConstraints( pad, constraints );
formalidadesPanel.add( pad );
gridbag.setConstraints( labelTrabalhadoresActivos, constraints );
formalidadesPanel.add( labelTrabalhadoresActivos );
// constraints.weightx = 0.5;
// constraints.gridwidth = GridBagConstraints.REMAINDER;
@ -809,6 +817,12 @@ public class EmpresaPanel extends JPanel
dadosProtocolo[ 1 ].add( analisesExamesB );
dadosProtocolo[ 1 ].add( elementosProtocolo[ 1 ] );
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 )
// {
// userPanel.setEmpresaID( (Integer) empresa.get( EmpresaData.ID ) );

Loading…
Cancel
Save