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

lxbfYeaa
Tiago Simão 15 years ago
parent 4c0033cffc
commit f7c8854d6d

@ -1,6 +1,6 @@
#siprpsoft versioning file
#Thu Jul 29 14:15:41 WEST 2010
#Tue Aug 03 15:51:18 WEST 2010
major=12
name=siprpsoft
minor=1
build=9
build=10

@ -36,9 +36,11 @@ import com.evolute.entity.evo.EvoDataProvider;
import com.evolute.entity.evo.EvoJoinObject;
import com.evolute.utils.Singleton;
import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.db.DBException;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.error.ErrorLogger;
import com.evolute.utils.sql.Delete;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select2;
@ -447,11 +449,11 @@ public class PlanoActuacaoDataProvider
return result;
}
public HsRelatorioRiscoData loadRelatorioRiscoByRiscoID( Integer hsRiscoID )
public HsRelatorioRiscoData loadRelatorioRiscoByRiscoID( Integer relatorioID, Integer hsRiscoID )
throws Exception
{
return ((EvoDataProvider)ENTITY_PROVIDER).load( HsRelatorioRiscoData.class,
new Object[] { null, hsRiscoID }, new String[] { HsRelatorioRiscoData.DELETED_DATE, HsRelatorioRiscoData.HS_RISCO_ID },
return (relatorioID == null || hsRiscoID == null) ? null : ((EvoDataProvider)ENTITY_PROVIDER).load( HsRelatorioRiscoData.class,
new Object[] { null, hsRiscoID, relatorioID }, new String[] { HsRelatorioRiscoData.DELETED_DATE, HsRelatorioRiscoData.HS_RISCO_ID, HsRelatorioRiscoData.RELATORIO_ID },
null );
}
@ -478,5 +480,48 @@ public class PlanoActuacaoDataProvider
new Object[] { postoID, medidaID }, new String[] { HsRelatorioPostoMedidaData.POSTO_ID, HsRelatorioPostoMedidaData.MEDIDA_ID },
null );
}
public void deleteRelatorioContents( Integer relatorioID ) throws DBException
{
if( relatorioID != null )
{
Delete delete = new Delete(
"delete from hs_relatorio_posto_medida where posto_id in(" +
"select distinct hs_relatorio_posto.id from hs_relatorio_posto " +
"inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " +
"inner join hs_relatorio_area on hs_relatorio_posto.area_id = hs_relatorio_area.id " +
"where hs_relatorio_area.relatorio_id = " + relatorioID + "); "
);
executer.executeQuery( delete );
delete = new Delete(
"delete from hs_relatorio_posto_risco where posto_id in(" +
"select distinct hs_relatorio_posto.id from hs_relatorio_posto " +
"inner join hs_relatorio_posto_risco on hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id " +
"inner join hs_relatorio_area on hs_relatorio_posto.area_id = hs_relatorio_area.id " +
"where hs_relatorio_area.relatorio_id = " + relatorioID + "); "
);
executer.executeQuery( delete );
delete = new Delete(
"delete from hs_relatorio_posto where id in(" +
"select distinct hs_relatorio_posto.id from hs_relatorio_posto " +
"inner join hs_relatorio_area on hs_relatorio_posto.area_id = hs_relatorio_area.id " +
"where hs_relatorio_area.relatorio_id = " + relatorioID + "); "
);
executer.executeQuery( delete );
delete = new Delete(
"delete from hs_relatorio_area where relatorio_id = " + relatorioID
);
executer.executeQuery( delete );
delete = new Delete(
"delete from hs_relatorio_legislacao where hs_relatorio_id = " + relatorioID
);
executer.executeQuery( delete );
delete = new Delete(
"delete from hs_relatorio_normalizacao where hs_relatorio_id = " + relatorioID
);
executer.executeQuery( delete );
}
}
}

@ -310,7 +310,7 @@ public class GerirMedidasRelatorioPanel extends SIPRPLazyLoadedPanel
if( root instanceof NodeRisco )
{
HsRiscoData risco = (HsRiscoData) ((NodeRisco)root).getUserObject();
addRisco( risco );
addRisco( posto == null ? null : posto.toArea_id().getRelatorio_id(), risco );
}
for( int i = 0; i < root.getChildCount(); ++i )
{
@ -319,7 +319,7 @@ public class GerirMedidasRelatorioPanel extends SIPRPLazyLoadedPanel
}
}
private void addRisco( HsRiscoData risco )
private void addRisco( Integer relatorioID, HsRiscoData risco )
{
if( posto != null )
{
@ -334,7 +334,7 @@ public class GerirMedidasRelatorioPanel extends SIPRPLazyLoadedPanel
}
try
{
HigieneSegurancaLogic.addRiscoToRelatorioPosto( risco, order+1, posto );
HigieneSegurancaLogic.addRiscoToRelatorioPosto( relatorioID, risco, order+1, posto );
}
catch ( Exception e )
{

@ -35,6 +35,7 @@ import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.event.ChangeEvent;
@ -58,6 +59,8 @@ import siprp.planoactuacao.print.PlanoActuacaoPDFCreator;
import siprp.ui.SIPRPFrame;
import com.evolute.adt.Validator;
import com.evolute.swing.frame.EvoFrame;
import com.evolute.utils.error.ErrorLogger;
import com.evolute.utils.ui.calendar.JCalendarPanel;
public class PanelRelatorio extends JPanel implements CaretListener, ChangeListener, ActionListener
@ -315,31 +318,45 @@ public class PanelRelatorio extends JPanel implements CaretListener, ChangeListe
{
if( relatorio != null )
{
try
{
setCursor( new Cursor( Cursor.WAIT_CURSOR ) );
// try
// {
// setCursor( new Cursor( Cursor.WAIT_CURSOR ) );
int ret = ask == false ? JOptionPane.YES_OPTION : JOptionPane.showConfirmDialog( this, "Todas as altera" + ccedil + otilde + "es ao plano de actua" + ccedil + atilde + "o ser" + atilde + "o perdidas\nTem a certeza?","Carregar dados do estabelecimento",JOptionPane.YES_NO_OPTION);
if( JOptionPane.YES_OPTION == ret )
{
HigieneSegurancaLogic.reverterRelatorio(relatorio);
if( relatorio != null )
{
try
EvoFrame.findParentEvoFrame( this ).runAsynchronously( new Runnable() {
@Override
public void run()
{
relatorio.save();
HigieneSegurancaLogic.reverterRelatorio(relatorio);
SwingUtilities.invokeLater( new Runnable() {
@Override
public void run()
{
if( relatorio != null )
{
try
{
relatorio.save();
}
catch( Exception e )
{
ErrorLogger.logException(e);
}
}
setRelatorio( relatorio, false );
}
});
}
catch( Exception e )
{
e.printStackTrace();
}
}
setRelatorio( relatorio, false );
});
}
}
finally
{
setCursor( new Cursor( Cursor.DEFAULT_CURSOR ) );
}
// }
// finally
// {
// setCursor( new Cursor( Cursor.DEFAULT_CURSOR ) );
// }
}
}

@ -49,6 +49,7 @@ import siprp.logic.node.PostoRelatorioNode;
import com.evolute.entity.evo.EvoJoinObject;
import com.evolute.utils.error.ErrorLogger;
import com.evolute.utils.sql.Delete;
import com.evolute.utils.ui.trees.TreeTools;
public class HigieneSegurancaLogic
@ -216,8 +217,13 @@ public class HigieneSegurancaLogic
EstabelecimentosData estabelecimento = relatorio.toMarcacao_id() == null ? null : relatorio.toMarcacao_id().toEstabelecimento_id();
if( estabelecimento != null )
{
System.out.println("delete");
deleteRelatorioContents( relatorio );
System.out.println("are");
reverterAreas( relatorio, estabelecimento );
reverterLegislacao( relatorio, estabelecimento );
System.out.println("leg");
reverterLegislacao( relatorio, estabelecimento );
System.out.println("norm");
reverterNormalizacao( relatorio, estabelecimento );
}
}
@ -228,37 +234,34 @@ public class HigieneSegurancaLogic
}
}
private static void deleteRelatorioContents( HsRelatorioData relatorio ) throws Exception
{
planoProvider.deleteRelatorioContents( relatorio == null ? null : relatorio.getId() );
}
private static void reverterAreas( HsRelatorioData relatorio, EstabelecimentosData estabelecimento ) throws Exception
{
// System.out.println( "\nreverterAreas( " + estabelecimento + " ) : " );
List< HsRelatorioAreaData > areas = relatorio.fromHsRelatorioArea_relatorio_id();
for ( HsRelatorioAreaData area : areas )
{
List< HsRelatorioPostoData > postos = area.fromHsRelatorioPosto_area_id();
for ( HsRelatorioPostoData posto : postos )
{
posto.delete();
}
area.delete();
}
// List<HsRelatorioAreaData> areas = relatorio.fromHsRelatorioArea_relatorio_id();
// areas = new LinkedList<HsRelatorioAreaData>(areas);
// int areasSize = areas == null ? 0 : areas.size();
// for( int i = 0; i < areasSize; ++i )
// List< HsRelatorioAreaData > areas = relatorio.fromHsRelatorioArea_relatorio_id();
// for ( HsRelatorioAreaData area : areas )
// {
// HsRelatorioAreaData area = areas.get( i );
// List<HsRelatorioPostoData> postos = area.fromHsRelatorioPosto_area_id();
// postos = new LinkedList<HsRelatorioPostoData>(postos);
// int postosSize = postos == null ? 0 : postos.size();
// for( int j = 0; j < postosSize; ++j )
// List< HsRelatorioPostoData > postos = area.fromHsRelatorioPosto_area_id();
// for ( HsRelatorioPostoData posto : postos )
// {
// postos.get(j).delete();
// for( HsRelatorioPostoRiscoData rRisco : posto.fromHsRelatorioPostoRisco_posto_id() )
// {
// rRisco.delete();
// rRisco.toRisco_id().delete();
// }
// for( HsRelatorioPostoMedidaData rMedida : posto.fromHsRelatorioPostoMedida_posto_id() )
// {
// rMedida.delete();
// rMedida.toMedida_id().delete();
// }
// posto.delete();
// }
// area.delete();
// }
relatorio.save();
// relatorio.save();
List< HsPostoEstabelecimentoData > postos = estabelecimento.fromHsPostoEstabelecimento_estabelecimento_id();
reverterPostos( relatorio, postos );
relatorio.save();
@ -273,26 +276,28 @@ public class HigieneSegurancaLogic
{
HsPostoData posto = rel.toPosto_id();
HsAreaData area = posto.toArea_id();
HsRelatorioPostoData newPosto = createRelatorioPostoFromHsPosto( relatorio, areasInserted.get( area ), posto );
areasInserted.put( area, newPosto.toArea_id() );
if( posto.getDeleted_date() == null && area.getDeleted_date() == null )
{
HsRelatorioPostoData newPosto = createRelatorioPostoFromHsPosto( relatorio, areasInserted.get( area ), posto );
areasInserted.put( area, newPosto.toArea_id() );
}
}
}
public static HsRelatorioPostoData createRelatorioPostoFromHsPosto( HsRelatorioData relatorio, HsRelatorioAreaData rArea, HsPostoData posto )
throws Exception
{
// System.out.println( "\ncreateRelatorioPostoFromHsPosto( " + rArea + ", " + posto + " ) : " );
HsRelatorioPostoData rPosto = new HsRelatorioPostoData();
HsAreaData area = posto.toArea_id();
relatorio.save();
if( rArea == null )
{
HsAreaData area = posto.toArea_id();
rArea = new HsRelatorioAreaData();
updateRelatorioAreaFromHsArea( relatorio, rArea, area );
}
HsRelatorioPostoData rPosto = new HsRelatorioPostoData();
updateRelatorioPostoFromHsPosto( rPosto, rArea, posto );
revertMedidasAndRiscos( posto, rPosto );
revertMedidasAndRiscos( relatorio.getId(), posto, rPosto );
rPosto.save();
return rPosto;
}
@ -319,86 +324,82 @@ public class HigieneSegurancaLogic
rPosto.save();
}
public static void addRiscoToRelatorioPosto( HsRiscoData risco, Integer order, HsRelatorioPostoData rPosto ) throws Exception
public static void addRiscoToRelatorioPosto( Integer relatorioID, HsRiscoData risco, Integer order, HsRelatorioPostoData rPosto ) throws Exception
{
HsRelatorioRiscoData relatorioRisco = planoProvider.loadRelatorioRiscoByRiscoID( risco.getId() );
if ( relatorioRisco == null )
{
relatorioRisco = new HsRelatorioRiscoData();
// HsRelatorioRiscoData relatorioRisco = planoProvider.loadRelatorioRiscoByRiscoID( relatorioID, risco.getId() );
// if ( relatorioRisco == null )
// {
HsRelatorioRiscoData relatorioRisco = new HsRelatorioRiscoData();
relatorioRisco.setToRelatorio_id( rPosto.toArea_id().toRelatorio_id() );
relatorioRisco.setDescription( risco.getDescription() );
relatorioRisco.setHs_risco_id( risco.getId() );
relatorioRisco.save();
}
// }
HsRelatorioPostoRiscoData rPostoRisco = planoProvider.loadRelatorioPostoRisco( rPosto.getId(), relatorioRisco.getId() );
if ( rPostoRisco == null )
{
rPostoRisco = new HsRelatorioPostoRiscoData();
// HsRelatorioPostoRiscoData rPostoRisco = planoProvider.loadRelatorioPostoRisco( rPosto.getId(), relatorioRisco.getId() );
// if ( rPostoRisco == null )
// {
HsRelatorioPostoRiscoData rPostoRisco = new HsRelatorioPostoRiscoData();
rPostoRisco.setToPosto_id( rPosto );
rPostoRisco.setToRisco_id( relatorioRisco );
rPostoRisco.setOrdem( order );
rPostoRisco.save();
}
// }
for( HsRiscoMedidaData riscoMedida : risco.fromHsRiscoMedida_risco_id() )
{
HsRelatorioMedidaData medidaData = planoProvider.loadRelatorioMedidaByMedidaID( riscoMedida.getMedida_id() );
if ( medidaData == null )
{
medidaData = new HsRelatorioMedidaData();
medidaData.setDescription( riscoMedida.toMedida_id().getDescription() );
medidaData.setRequesitos_legais( riscoMedida.toMedida_id().getRequesitos_legais());
medidaData.setToRisco_id( relatorioRisco );
medidaData.setHs_medida_id( riscoMedida.toMedida_id().getId() );
medidaData.save();
}
// HsRelatorioMedidaData rMedida = planoProvider.loadRelatorioMedidaByMedidaID( riscoMedida.getMedida_id() );
// if( rMedida != null )
// {
// if( rMedida.toRisco_id() != null )
// {
// if( !relatorioID.equals( rMedida.toRisco_id().getRelatorio_id() ) )
// {
// rMedida = null;
// }
// }
// }
// if ( rMedida == null )
// {
HsRelatorioMedidaData rMedida = new HsRelatorioMedidaData();
rMedida.setDescription( riscoMedida.toMedida_id().getDescription() );
rMedida.setRequesitos_legais( riscoMedida.toMedida_id().getRequesitos_legais());
rMedida.setToRisco_id( relatorioRisco );
rMedida.setHs_medida_id( riscoMedida.toMedida_id().getId() );
rMedida.save();
// }
HsRelatorioPostoMedidaData rPostoMedida = planoProvider.loadRelatorioPostoMedida( rPosto.getId(), medidaData.getId() );
if ( rPostoMedida == null )
{
rPostoMedida = new HsRelatorioPostoMedidaData();
// HsRelatorioPostoMedidaData rPostoMedida = planoProvider.loadRelatorioPostoMedida( rPosto.getId(), rMedida.getId() );
// if ( rPostoMedida == null )
// {
HsRelatorioPostoMedidaData rPostoMedida = new HsRelatorioPostoMedidaData();
rPostoMedida.setIs_plano_actuacao( false );
rPostoMedida.setToMedida_id( medidaData );
rPostoMedida.setToMedida_id( rMedida );
rPostoMedida.setToPosto_id( rPosto );
rPostoMedida.save();
}
// }
}
}
private static void revertMedidasAndRiscos( HsPostoRiscoData postoRisco, HsRelatorioPostoData rPosto ) throws Exception
private static void revertMedidasAndRiscos( Integer relatorioID, HsPostoData posto, HsRelatorioPostoData rPosto ) throws Exception
{
// System.out.println( "\nrevertMedidasAndRiscos( " + postoRisco + ", " + rPosto + " ) : " );
addRiscoToRelatorioPosto(postoRisco.toRisco_id(), postoRisco.getOrdem(), rPosto);
}
private static void revertMedidasAndRiscos( List<HsPostoRiscoData> postosRiscos, HsRelatorioPostoData rPosto ) throws Exception
{
// System.out.println( "\nrevertMedidasAndRiscos( " + postosRiscos + ", " + rPosto + " ) : " );
for( HsPostoRiscoData postoRisco : postosRiscos )
for( HsPostoRiscoData postoRisco : posto.fromHsPostoRisco_posto_id() )
{
revertMedidasAndRiscos( postoRisco, rPosto );
addRiscoToRelatorioPosto( relatorioID, postoRisco.toRisco_id(), postoRisco.getOrdem(), rPosto );
}
}
private static void revertMedidasAndRiscos( HsPostoData posto, HsRelatorioPostoData rPosto ) throws Exception
{
revertMedidasAndRiscos(posto.fromHsPostoRisco_posto_id(),rPosto);
}
public static void reverterLegislacao( HsRelatorioData relatorio, EstabelecimentosData estabelecimento ) throws Exception
{
// System.out.println( "\nreverterLegislacao( " + estabelecimento + " ) : " );
List< HsRelatorioLegislacaoData > listLegislacao = relatorio.fromHsRelatorioLegislacao_hs_relatorio_id();
for ( HsRelatorioLegislacaoData legislacao : listLegislacao )
{
legislacao.delete();
}
// List< HsRelatorioLegislacaoData > listLegislacao = relatorio.fromHsRelatorioLegislacao_hs_relatorio_id();
// for ( HsRelatorioLegislacaoData legislacao : listLegislacao )
// {
// legislacao.delete();
// }
// int legislacaoSize = relatorio.fromHsRelatorioLegislacao_hs_relatorio_id().size();
// for(int i = 0; i < legislacaoSize; ++i )
// {
@ -434,11 +435,11 @@ public class HigieneSegurancaLogic
{
// System.out.println( "\nreverterNormalizacao( " + estabelecimento + " ) : " );
List< HsRelatorioNormalizacaoData > normalizacoes = relatorio.fromHsRelatorioNormalizacao_hs_relatorio_id();
for ( HsRelatorioNormalizacaoData normalizacao : normalizacoes )
{
normalizacao.delete();
}
// List< HsRelatorioNormalizacaoData > normalizacoes = relatorio.fromHsRelatorioNormalizacao_hs_relatorio_id();
// for ( HsRelatorioNormalizacaoData normalizacao : normalizacoes )
// {
// normalizacao.delete();
// }
// int normalizacaoSize = relatorio.fromHsRelatorioNormalizacao_hs_relatorio_id().size();
// for(int i = 0; i < normalizacaoSize; ++i )
// {

Loading…
Cancel
Save