diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java index e72e474d..6a2fb4a7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java @@ -364,8 +364,25 @@ public class SoggettoLocalServiceImpl extends SoggettoLocalServiceBaseImpl { docPraticaLocalService.deleteDocPratica(soggetto.getFileVariazioneId()); } } catch (PortalException e) { + } - return super.deleteSoggetto(soggetto); + + Soggetto ret = super.deleteSoggetto(soggetto); + + long intPraticaId = soggetto.getIntPraticaId(); + long idSoggetto = soggetto.getSoggettoId(); + List soggettiIntPratica = soggettoLocalService.findByIntPratica(intPraticaId); + for (Soggetto sgt : soggettiIntPratica) { + long sostituitoDa = sgt.getSostituitoDa(); + if(Validator.isNotNull(sostituitoDa) && sostituitoDa > 0 && idSoggetto == sostituitoDa){ + sgt.setSostituitoDa(0); + sgt.setDettPraticaIdRimozione(0); + soggettoPersistence.update(sgt); + } + } + + return ret; + } @Override