Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Inscrit en
    octobre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : octobre 2010
    Messages : 17
    Points : 27
    Points
    27

    Par défaut demande de congé bonita BPM7

    bonjour , je suis débutant Bonita BPM 7,
    j'ai fait un processus de demande de congé , j'ai fait deux modèle de données métier DemandesConges(idDemandeur,dateDebut,dateFin,dateRetours,NombreJours,TypeConge,solde,MotifConge)et DossierAdministratif(firstName,lastName,Email..) , maintenant je veut savoir comment je peut calculer solde de congé de tel sorte que chaque fois qu'un employé fait une demande de congé , le solde de congé soustrait le nombre de jours après que la demande est approuvee par le RH .
    j'ai fait un script groovy du variable de pool mais plein d'erreur
    import com.company.model.DemandesConges
    import com.company.model.DemandesCongesDAO
    import org.bonitasoft.engine.api.*
    import org.bonitasoft.engine.api.IdentityAPI
    import org.bonitasoft.engine.bdm.BusinessObjectDAOFactory
    import org.bonitasoft.engine.business.data.SimpleBusinessDataReference
    import org.bonitasoft.engine.identity.User
    import org.bonitasoft.engine.identity.UserCriterion
    import org.bonitasoft.engine.session.APISession
    def demandesCongesVar = new com.company.model.DemandesConges()
    demandesCongesVar.dateDebut = demandeInput.dateDebut
    demandesCongesVar.nombreJours = demandeInput.nombreJours
    demandesCongesVar.typeConge = demandeInput.typeConge
    demandesCongesVar.motifConge = demandeInput.motifConge
    demandesCongesVar.dateFin = demandeInput.dateFin
    demandesCongesVar.dateRetours = demandeInput.dateRetours
    if(demandesCongesVar.getTypeConge()=="payé")
    {
    demandesCongesVar.solde = 22}
    else if(demandesCongesVar.getTypeConge()=="maternité"){
    demandesCongesVar.solde = 60
    }
    else if(demandesCongesVar.getTypeConge()=="impayé"){
    demandesCongesVar.solde = 20
    }else if(demandesCongesVar.getTypeConge()=="paternité"){
    demandesCongesVar.solde = 3
    }
    else if(demandesCongesVar.getTypeConge()=="maladie"){
    demandesCongesVar.solde = 25
    }
    else{
    demandesCongesVar.solde = 15
    }
    double solde = demandesCongesVar.getSolde()
    solde = solde - demandesCongesVar.getNombreJours()
    demandesCongesVar.setSolde(solde)
    demandesCongesVar.getPersistenceId()
    def apiSession = PageContext.getApiSession();
    BusinessDataAPI businessDataAPI = BusinessDataAPI.getBusinessDataAPI(apiSession);
    // Use BusinessDataAPI to retrieve the process instance business variable
    // We need to cast it to the appropriate class (SimpleBusinessDataReference or MultipleBusinessDataReference)
    SimpleBusinessDataReference businessDataReference = (SimpleBusinessDataReference)businessDataAPI.getProcessBusinessDataReference("vacationAvailable", 2);
    // Get storage id (i.e. persistence id) of the business variable
    Long storageId = businessDataReference.getStorageId();
    // Create DAO factory for the business data
    BusinessObjectDAOFactory daoFactory = new BusinessObjectDAOFactory();
    DemandesCongesDAO demandesCongesDAO = daoFactory.createDAO(apiSession, DemandesCongesDAO.class);
    // Use DAO to find the business variable using the storage id (i.e. persistence id)
    DemandesConges demandesConges = demandesCongesDAO.findByPersistenceId(storageId);

    //Use the factory to obtain a DAO object

    IdentityAPI identityAPI = apiAccessor.identityAPI

    List<User> users
    // For each user
    for(DemandesConges demande: demandesConges){
    double soldeEncours=demandesConges.getSolde()
    return soldeEncours
    demandesCongesVar.setSolde(soldeEncours)
    }

    def processInstance = apiAccessor.processAPI.getProcessInstance(processInstanceId)
    // Ajouter l'identifiant du demandeur à la nouvelle demande
    demandesCongesVar.idDemandeur = processInstance.startedBy
    return demandesCongesVar

  2. #2
    Membre habitué Avatar de Nadinette
    Femme Profil pro
    Développeur Web
    Inscrit en
    octobre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 245
    Points : 136
    Points
    136

    Par défaut Récupération d'une valeur d'un web service wcf (SOAP / XML)

    Salut,

    Je découvre bonita avec émerveillement malheureusement, je ne comprends pas grand chose... Je suis plutôt de culture Microsoft et je ne connais pas trop Java (pour ne pas dire pas du tout).

    Comme je n'ai pas les €€€ pour me payer une version souscription, j'essaye de m'auto former sur la version community et je me suis installé la version 7.6.3...

    J'ai quand même réussi à créer un connecteur à SQL Server et un autre à mon web service XML.

    Mon premier objectif est très simple :


    +----------------- Si réponse = true ------------- Enreg true à la date de la réponse dans une table historique
    Appel WS--+
    +----------------- Si réponse = false ------------- Enreg false à la date de la réponse dans une table historique

    J'ai créé un objet métier historique
    J'ai créé un connecteur d'entrée pour appeler le web service (je vois qu'il est appelé dans mon visual studio en mode pas à pas)
    Dans le script groovy, je n'arrive pas à mettre un point d'arrêt pour voir ce qui se passe.
    Je récupère l'enveloppe de sortie mais je n'arrive pas à la parser.

    Vous pourriez m'aider ?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [wss3.0] Demande de congé sans infopath
    Par heid dans le forum SharePoint
    Réponses: 6
    Dernier message: 07/10/2010, 10h55
  2. Infopath Demande de congé
    Par Parkman dans le forum InfoPath
    Réponses: 5
    Dernier message: 11/05/2010, 17h03
  3. demande de conge rtt
    Par sallemel dans le forum Congés
    Réponses: 3
    Dernier message: 26/03/2009, 11h36
  4. demande de congés sans soldes
    Par gilraen dans le forum Congés
    Réponses: 13
    Dernier message: 24/05/2008, 19h32
  5. Délai légal entre 2 demandes de congés ?
    Par celyn03 dans le forum Congés
    Réponses: 0
    Dernier message: 01/01/2008, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo