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);
}
}
}