5 Berechnungen erstellen

Ausgehend von der Meldungs ID

### Assignment
        
    --assignment
    select assj.assignment from DispatchAssignmentJoin assj WHERE assj.dispatch.id=9627830 AND assj.dispatchAssignmentJoinType = 'SOURCE'
        
    
        
    import de.geomagic.nam.mod.opr.entity.Assignment;

    def findAssignment = (Long dispatchId) -> {

    // Step 1: Execute HQL query
    String hql = "select assj.assignment from DispatchAssignmentJoin assj WHERE assj.dispatch.id=:dispatchId AND assj.dispatchAssignmentJoinType = 'SOURCE'";

    def query = entityManager.createQuery(hql, Assignment.class);

    query.setParameter("dispatchId", dispatchId);

    println("Querying assignment: " + dispatchId);
    def assignment = query.getSingleResult();
    println("assignment"+assignment.getId());

    return assignment;
    }


    findAssignment(9627830).getName()
        
    
### Planning
        
    --planning
    select assj.assignment.planning ...
        
    
        
    import de.geomagic.nam.mod.opr.entity.Planning;
    //... Rest of Code ...
    // Step 1: Execute HQL query
    String hql = "select assj.assignment.planning from

    def query = entityManager.createQuery(hql, Planning.class);
    //... Rest of Code ...
        
    
### Order
        
    --order
    select assj.assignment.planning.order ...
        
    
### Block
        
    --block
    select dispj.formElement from FormElementDispatchJoin dispj where dispj.dispatch.id = dispj.dispatch.id
        
    
        
    import javax.persistence.TypedQuery;

    import de.geomagic.nam.main.entity.FormElement;
    import de.geomagic.nam.main.entity.FormElementBlock;
    import de.geomagic.nam.main.entity.FormElementDispatchJoin;


    public FormElementBlock findFormElementBlock(Long dispatchId) {

    // Step 1: Execute HQL query
    String hql = "select dispj.formElement from FormElementDispatchJoin dispj where dispj.dispatch.id = :dispatchId";

    TypedQuery query = entityManager.createQuery(hql, FormElement.class);

    query.setParameter("dispatchId", dispatchId);

    println("Querying formElement: " + dispatchId);
    FormElement formElement = query.getSingleResult();
    println("formElement"+formElement.getId());

    // Step 2: Check if instance of FormElementBlock and traverse parents
    return findFormElementBlockInHierarchy(formElement);
    }

    private FormElementBlock findFormElementBlockInHierarchy(FormElement currentElement) {

    while (currentElement != null) {

    if (currentElement instanceof FormElementBlock) {
    return (FormElementBlock) currentElement;
    }

    currentElement = currentElement.getParent();
    }
    return null;
    }

    findFormElementBlock(9677856)
        
    
### Seite
        
    --page
    select dispj.formElement.form from FormElementDispatchJoin dispj where dispj.dispatch.id = dispj.dispatch.id
        
    
        
    import javax.persistence.TypedQuery;

    import de.geomagic.nam.main.entity.Form;
    import de.geomagic.nam.main.entity.FormElementBlock;
    import de.geomagic.nam.main.entity.FormElementDispatchJoin;


    def findForm = (Long dispatchId) -> {

        // Step 1: Execute HQL query
        String hql = "select dispj.formElement.form from FormElementDispatchJoin dispj where dispj.dispatch.id = :dispatchId";

        TypedQuery<Form> query = entityManager.createQuery(hql, Form.class);

        query.setParameter("dispatchId", dispatchId);

        println("Querying formElement: " + dispatchId);
        Form form = query.getSingleResult();
        println("formElement"+formElement.getId());

        // Step 2: Check if instance of FormElementBlock and traverse parents
        return form
    }

    findForm(9677856).getName()