Package beans.doctor.direction.search

Source Code of beans.doctor.direction.search.DirectionFactoryBean

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package beans.doctor.direction.search;

import framework.beans.FindEntity.Field;
import framework.beans.SecuredBean;
import framework.beans.security.BeanRights;
import beans.directory.simple.entities.CommitteeReason;
import beans.doctor.direction.Direction;
import beans.doctor.direction.DirectionDetails;
import beans.user.client.entity.Client;
import framework.generic.ClipsServerException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.ejb.Stateful;
import beans.UserRightsSet; import framework.security.RightChecker;

/**
* @security - Ok.
* @author lacoste
*/

@Stateful(mappedName="clips-beans/DirectionFactoryBean")
public class DirectionFactoryBean extends SecuredBean
        implements DirectionFactoryBeanRemote{
   
    public static int COMMAND_WRITE = 0;
    @Override
    protected void initBeanRights() {
        int [] r = new int[1];
        r[COMMAND_WRITE] = RightPresence(UserRightsSet.WRITE_CEC.id);
        rights = new BeanRights(r);
    }
   
    @Override
    public List<DirectionDetails> getDirectionListToComm(int comReasonID, int clientID, Date from, Date till) throws ClipsServerException{               
        checkCommandAccessibility(COMMAND_WRITE);
        int pos = 2;
        Field f[];
        if (comReasonID != 0) {pos++;}
        if (clientID != 0) {pos++;}
        if (from != null) {pos++;}
        if (till != null) {pos++;}
        f = new Field[pos];
        Field field;
        pos = 0;
        field = new Field("committeeReason", "", Field.OPERATOR_NOT_NULL);
        f[pos++] = field;
        if (comReasonID != 0) {
            CommitteeReason commReason = findEntity(CommitteeReason.class, comReasonID);
            field = new Field("committeeReason", commReason);
            f[pos++] = field;
        }
        if (clientID != 0) {
            Client client = findEntity(Client.class, clientID);
            field = new Field("serviceRender.disease.emc.client", client);
            f[pos++] = field;
        }
        if (from != null) {           
            field = new Field("date", from, Field.OPERATOR_EQUAL_OR_MORE);
            f[pos++] = field;
        }
        if (till != null) {           
            field = new Field("date", till, Field.OPERATOR_EQUAL_OR_LESS);
            f[pos++] = field;
        }       
       
        field = new Field("ordered", false);
        f[pos] = field;
       
        List list = findEntityList(Direction.class, f, "AND a.id not in (select b.direction.id from CommitteeDirection b )");
        List<DirectionDetails> res = new ArrayList<DirectionDetails>();
        Iterator i = list.iterator();
        while(i.hasNext()) {
            Direction j = (Direction) i.next();
            res.add(j.getDetails((RightChecker) this));
        }
        return res;
    }
}
TOP

Related Classes of beans.doctor.direction.search.DirectionFactoryBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.