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(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 .
j’ai fait un script du variable de pool mais plein d’erreur
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
int solde = demandeInput.solde
solde = solde - demandeInput.nombreJours
demandesCongesVar.setSolde(solde)
def processInstance = apiAccessor.processAPI.getProcessInstance(processInstanceId)
// Ajouter l’identifiant du demandeur à la nouvelle demande
demandesCongesVar.idDemandeur = processInstance.startedBy
import org.bonitasoft.engine.api.IdentityAPI
import org.bonitasoft.engine.identity.User
import org.bonitasoft.engine.identity.UserCriterion
import com.company.model.DemandesConges
// Default vacations days number
final int daysAvailableInitialValue = 60
// Offset and increment to use when using paginated API
int offset = 0
int increment = 10
// The list of Bonita BPM user id that already have an entry in VacationAvailable table
List alreadyKnownEmployeeId = new ArrayList()
// The list of already created VacationAvailaible
List currentlyExistingDemandesConges
// The newly created VacationAvailable
List newDemandesConges = new ArrayList()
// Search for already existing VacationAvailable counters
while ((currentlyExistingDemandesConges = DemandesCongesDAO.find(offset, increment)).size() > 0) {
for (DemandesConges va : currentlyExistingDemandesConges) {
// Update the list of user ids for user who already have an associated VacationAvailable object
alreadyKnownEmployeeId.add(va.bonitaBPMId)
// Reset the vacation available counter
va.solde=daysAvailableInitialValue
}