package com.simplicite.workflows.RenaultSites; import java.util.*; import com.simplicite.bpm.*; import com.simplicite.util.*; import com.simplicite.util.exceptions.*; import com.simplicite.util.tools.*; import com.simplicite.webapp.ObjectContextWeb; import com.simplicite.objects.RenaultSites.SitesTopologyElement; import com.simplicite.util.ObjectCore; /** * Process iStopManagement */ public class iStopManagement extends Processus { private static final long serialVersionUID = 1L; private String result; //private SitesTopologyElement topoElem; public String generateHomePage(Processus p, ActivityFile context, ObjectContextWeb ctx, Grant g){ StringBuilder messageBuilder = new StringBuilder(); messageBuilder.append("

Bienvenue ! Vous vous apprêtez à commencer le processus I-stop management.

"); messageBuilder.append("

"); messageBuilder.append("Voici quelques instructions supplémentaires :
"); messageBuilder.append("- Assurez-vous de garder les bons réflexes et de suivre toutes les étapes avec attention.
"); messageBuilder.append("- Si vous avez des questions, n'hésitez pas à contacter notre équipe de support.
"); messageBuilder.append("- Nous vous souhaitons une expérience agréable dans l'utilisation de ce nouveau parcours !
"); messageBuilder.append("

"); return messageBuilder.toString(); } public String generateConfirmPage(Processus p, ActivityFile context, ObjectContextWeb ctx, Grant g){ StringBuilder messageBuilder = new StringBuilder(); messageBuilder.append("

Vous vous apprêtez à terminer le processus I-stop management.

"); messageBuilder.append("

"); messageBuilder.append("
"); messageBuilder.append("- Assurez-vous que vous avez correctement selectionné en controlant le menu à gauche.
"); messageBuilder.append("- Si vous avez des questions, n'hésitez pas à contacter notre équipe de support."); messageBuilder.append("

"); return messageBuilder.toString(); } @Override public Message preLock(ActivityFile context) { Message mes = new Message(); String step = context.getActivity().getStep(); ObjectDB tpl = getGrant().getProcessObject("SitesTopologyElement"); ObjectDB tplcar = getGrant().getProcessObject("SitesTopologyCaracteristiques"); if ("ISTOP-SITE".equals(step)) { AppLog.info("step : "+step, getGrant()); ObjectDB sit = this.getGrant().getProcessObject("SitesRealEstateSite"); sit.getField("SitesRealEstateSiteRealEstateAsset_id").setVisibility(ObjectField.VIS_HIDDEN); sit.getField("sitesMergingSite").setVisibility(ObjectField.VIS_HIDDEN); sit.getField("sitesIrnIsAuthor").setVisibility(ObjectField.VIS_HIDDEN); sit.getField("sitesReaPhysicalState").setVisibility(ObjectField.VIS_HIDDEN); sit.getField("sitesSiaIsAuthor").setVisibility(ObjectField.VIS_HIDDEN); // Réinitialiser l'élément topologique et ses caractéristiques pour éviter de conserver les données d'une sélection précédente tpl.resetValues(); tpl.resetFilters(); tplcar.resetValues(); tplcar.resetFilters(); getGrant().removeParameter("tpl_row_id"); } if ("ISTOP-TPLELT".equals(step)) { // Forcer un select sur le row_id par défaut pour nettoyer complètement l'état interne de l'objet après un update try { tpl.select(ObjectField.DEFAULT_ROW_ID); } catch (Exception e) { /* ignore select on default */ } tpl.resetValues(); tpl.resetFilters(); getGrant().removeParameter("tpl_row_id"); AppLog.info("step : "+step, getGrant()); ObjectDB st = this.getGrant().getProcessObject("SitesRealEstateSite"); String siteIdentifier = st.getFieldValue("sitesReaIdentifier"); String siteRowId = st.getFieldValue("row_id"); AppLog.info("selected site identifier : "+siteIdentifier, getGrant()); tpl.setSearchSpec("t_sitesTplReaId.rea_identifier='" + siteIdentifier + "' and t.tpl_implantation='I01'"); AppLog.info("search spec : "+tpl.getSearchSpec(), getGrant()); tpl.setFieldValue("sitesTplReaId",siteRowId); } if("ISTOP-TPLCHAR".equals(step)){ String tplId = tpl.getFieldValue("sitesTplIdentifier"); AppLog.info("selected tpl before reset filters : "+tplId, getGrant()); tplcar.resetFilters(); tplcar.setSearchSpec("t_sitesTeiTplId.tpl_identifier='" + tplId + "'"); AppLog.info("selected tpl after reset filters : "+tplId, getGrant()); } if("ISTOP-TPLIDV".equals(step)){ ObjectDB tplidv = getGrant().getProcessObject("SitesTopologyElementIdentifierValue"); String tplId = tpl.getFieldValue("sitesTplIdentifier"); tplidv.resetFilters(); tplidv.setSearchSpec("t_sitesTeiTplId.tpl_identifier='" + tplId + "'"); } return mes; } @Override public void postValidate(ActivityFile context) { String step = context.getActivity().getStep(); if ("ISTOP-SITE".equals(step)) { String rowId = context.getDataValue("Field", "row_id"); // valorisation d'un paramètre custom getGrant().setParameter("site_row_id", rowId); } if ("ISTOP-TPLELT".equals(step)) { String rowId = context.getDataValue("Field", "row_id"); // valorisation d'un paramètre custom getGrant().setParameter("tpl_row_id", rowId); } } }