<%@ page import="org.apache.commons.lang.StringUtils" %> <%@ page import="java.util.Date"%> <%/****************************************************************************** * Copyright (c) 2000-2005 e-Deal * * e-Deal S.A. * 55 rue Brillat Savarin * 75013 Paris * France * * T: +33 (0)1 53 80 80 30 * F: +33 (0)1 73 01 69 77 * http://www.e-deal.com * * La diffusion de ce code source sous quelque forme que ce soit sans * l'autorisation de E-DEAL est interdite. * * Vous êtes autorisés à modifier ce code source uniquement pour votre usage * propre et sous réserve que les mentions de copyright demeurent intactes. * * Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou * implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour * responsable des dommages pouvant résulter de l'utilisation de ce code * source. ******************************************************************************/ %> <%@page session="true"%> <%@ page import="com.edeal.frontline.navigation.FlRequest" %> <%@ page import="com.edeal.frontline.FlContext" %> <%@ page import="com.edeal.frontline.DataDictionary" %> <%@ page import="com.edeal.frontline.FieldNotInitializedException" %> <%@ page import="com.edeal.frontline.FrontlineException" %> <%@ page import="com.edeal.frontline.custom.Contrat_Bean"%> <%@ page import="com.edeal.frontline.ActorBean"%> <%@page import="com.edeal.frontline.helper.Contrat_BaseHelper"%> <%@ page import="java.util.Vector" %> <%@ page import="com.edeal.frontline.Utils" %> <%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %> <% final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory.getLog(getClass()); FlRequest flRequest = new FlRequest(request); FlContext context = flRequest.getContext(); DataDictionary dico = context.getDataDictionary(); String id = null; boolean visibleRec = false; boolean isPrestation = false; boolean createCtrPrincipal = true; boolean afficherChampCtrPrincipal = true; boolean afficherChampsContratsAffilies = false; boolean contrathonore = true; try { id = Contrat_.getID(); } catch (FieldNotInitializedException fnie) {} try { visibleRec = Contrat_.isCt_TaciteRecond(); } catch (FieldNotInitializedException fnie) { } String tempSg = ""; try { tempSg = Contrat_.getCt_TempSg(); } catch (FieldNotInitializedException fnie) { } Integer NbMois =0; try { NbMois = (Integer)Contrat_.getCustomProperty("Ct_NbMois"); } catch (FieldNotInitializedException fnie) { } String MoisDebut =""; try { MoisDebut = (String)Contrat_.getCustomProperty("Ct_MoisDebut"); } catch (FieldNotInitializedException fnie) { } String ct_TypeContrat = null; try { ct_TypeContrat = Contrat_.getCt_TypeContrat(); } catch (FieldNotInitializedException e){ } // Type de contrat LOGIS String typeContratLogisID = null; try { typeContratLogisID = (String) dico.getRefIdByCode("Ct_TypeContrat", "L"); } catch (Exception e) { typeContratLogisID =""; } // Type de contrat PRESTATION String typeContratPrestationID = null; String typeContratFournID = null; String typeContratPartID = null; try { typeContratPrestationID = (String) dico.getRefIdByCode("Ct_TypeContrat", "PR"); typeContratFournID = (String) dico.getRefIdByCode("Ct_TypeContrat", "FA"); typeContratPartID = (String) dico.getRefIdByCode("Ct_TypeContrat", "PT"); } catch (Exception e) { } isPrestation = ((ct_TypeContrat != null && typeContratPrestationID.equals(ct_TypeContrat)) || (ct_TypeContrat != null && typeContratFournID.equals(ct_TypeContrat)) || (ct_TypeContrat != null && typeContratPartID.equals(ct_TypeContrat))); String encourspros = ""; try { encourspros = (String)Contrat_.getCt_Encourspros(); } catch (FieldNotInitializedException e){ } String encoursprosOUI = ""; try { encoursprosOUI = (String) dico.getRefIdByCode("Ct_Encourspros", "YES"); } catch (Exception e) { } String valRestr =""; String ctrPrincipal = null; Contrat_BaseHelper contratHelper = new Contrat_BaseHelper(Contrat_); try { ctrPrincipal = Contrat_.getCt_ContratPrincipal(); } catch (FieldNotInitializedException fnie) { } if(ctrPrincipal != null) { valRestr = contratHelper.getTypeContrats(context,"P"); }else{ valRestr = contratHelper.getTypeContrats(context,"S"); } boolean conthonore=false; if(id == null) { conthonore= true ; Contrat_.setCt_ContratHonore(conthonore); } else { try{ conthonore = Contrat_.isCt_ContratHonore(); } catch(FieldNotInitializedException fnie) { } } String valRestrSecondaires = contratHelper.getTypeContrats(context,"S"); String valRestrPrincipaux = contratHelper.getTypeContrats(context,"P"); String valTpesContratsAffilies = contratHelper.getTypeContratsAffilies(context,"1"); String query = ""; String codeContrat = null; if(ct_TypeContrat != null){ codeContrat = dico.getRefCode("Ct_TypeContrat", ct_TypeContrat); // Construction de la requête pour les conrats principaux String[] valPrincipaux = valRestrPrincipaux.split(";"); query = "["; for( int i=0 ; i< valPrincipaux.length ; i++ ){ if( i != (valPrincipaux.length -1)) { query = query + "[Ct_TypeContrat:RefVal = '" + valPrincipaux[i] + "'],"; } else { query = query + "[Ct_TypeContrat:RefVal = '" + valPrincipaux[i] + "']"; } } query = query + "]"; // modif de la query pour qu'elle prenne en compte l'afficheage //[[Ct_TypeContrat:RefVal = 'LE'], [Ct_TypeContrat:RefVal = 'L']] String[] tabvalRestrSecondaires = valRestrSecondaires.split(";"); String[] tabvalTpesContratsAffilies = valTpesContratsAffilies.split(";"); for(int i=0; i< tabvalRestrSecondaires.length; i++){ if(codeContrat.equals(tabvalRestrSecondaires[i])){ afficherChampCtrPrincipal = true; } } for(int i=0; i< tabvalTpesContratsAffilies.length; i++){ if(codeContrat.equals(tabvalTpesContratsAffilies[i])){ afficherChampsContratsAffilies = true; } } } String rompuState=null; try { rompuState = dico.getRefIdByCode("Cs_", "Te1", "RMP"); } catch (Exception e) { rompuState = ""; } boolean isRompu = false; String statutContrat = null; try { statutContrat = (String)Contrat_.getCt_Statut(); if(statutContrat.equals(rompuState)) { isRompu = true; } } catch (FieldNotInitializedException fnie) { } String contratVAL=null; try { contratVAL = dico.getRefIdByCode("Cs_", "Te1", "VAL"); } catch (Exception e) { contratVAL = ""; } String modeReglement=null; try { modeReglement = dico.getRefIdByCode("Mg_", "Te1", "MS"); } catch (Exception e) { modeReglement = ""; } // On récupère l'ID de l'acteur connecté String actID = null; if (session != null) { actID = (String)session.getAttribute("effectiveActorID"); if (actID == null) { actID = (String)session.getAttribute("actorID"); if (actID == null) { throw new FrontlineException("there is not an actor ID in session"); } } } try { ActorBean act = new ActorBean(actID, context); Vector actRolesIDs = new Vector(); actRolesIDs.addAll(act.getRoles()); String roleADMID = dico.getRefIdByCode("ActRoles", "ADMIN"); /* Role Administrateur*/ String roleTECHADMID = dico.getRefIdByCode("ActRoles", "S_ADM_TECH"); /* Role Administrateur Technique*/ // rappatrier les rôles concernés par le type actuel de l'entreprise String roles = ""; roles = context.getContextParameter("Hab_Contrat"); String rolesTab[] = roles.split("&"); for (int i = 0; i < actRolesIDs.size(); i++) { String actRoleIDactuel = actRolesIDs.get(i).toString(); System.out.println("actRoleIDactuel = "+actRoleIDactuel); if( (actRoleIDactuel.equalsIgnoreCase(roleADMID) ) ) { valRestr +=""; } else if (actRoleIDactuel.equalsIgnoreCase(roleTECHADMID)){ valRestr +=""; } for (int j=0; j roleNameType = Utils.explodeList(roletabActuel, "|"); String roleName = roleNameType.firstElement(); String roleType = roleNameType.lastElement(); if(roleName != null) { String refValueRole = (String) dico.getRefCode("ActRoles", actRoleIDactuel); if(refValueRole.equals(roleName)) { if(valRestr.equals("")){ valRestr += roleType; }else{ valRestr += ";"+roleType; } } else if("ALL".equals(roleName)) { if(valRestr.equals("")){ valRestr += roleType; }else{ valRestr += ";"+roleType; } } } } } } catch (Exception e) { } Date ct_DateEffet = null; try{ ct_DateEffet = (Date) Contrat_.getCt_DateEffet(); }catch(FrontlineException fle){ } boolean isModified = ct_DateEffet == null ? false : true; if (id != null){ String ctTypesOK = "S;DC;L;AUB;V;A;D;C;ORIGINE;SWADESHI"; try{ ctTypesOK = context.getContextParameter("Hab_Contrat_edit"); }catch(FrontlineException e){ logger.info("unable to retrieve Hab_Contrat_edit"); } String[] ctTypeOKTab = ctTypesOK.split(";"); Vector valRestrVect = Utils.explodeList(valRestr, ";"); Vector> typeContratsIdCode = (dico.getRefCodeList("Ct_TypeContrat")); Vector typeContrats = new Vector(); for (int i = 0; i < typeContratsIdCode.size(); i++){ typeContrats.add(typeContratsIdCode.get(i).get(1)); } for (String type : ctTypeOKTab){ if (!valRestrVect.contains(type)){ typeContrats.remove(type); } } if (codeContrat != null){ typeContrats.remove(codeContrat); } valRestr = StringUtils.join(typeContrats, ";"); } %> " ou="<%= \"edit_contrat_.fl\" + (id != null ? \"?id=\" + id : \"\")%>" >
<% if(id == null) { %> <%} else if (id != null) { %> "/> <%}%> <%if(statutContrat != null && "VAL".equals(dico.getRefCode("Ct_Statut", statutContrat)) && isModified) {%> <% } else { %> <% } %>
 
 
 
<%-- --%> <% if(!isPrestation) { %> <%} %> <% if(afficherChampsContratsAffilies) { %> <%} %> <%-- --%> <%if(ctrPrincipal == null) { %> <%} %>
 
<%-- <% if(!isPrestation){ %> --%> ">
<% if(afficherChampsContratsAffilies) {%> <%} %>
<% if(afficherChampsContratsAffilies) { %> <%} %> <%if(afficherChampsContratsAffilies) {%> <%} %> <%if(encourspros.equalsIgnoreCase(encoursprosOUI) ) {%> <% } %>
<%-- <%} %> --%> ">