Package beans.doctor.medexam.search

Source Code of beans.doctor.medexam.search.MedexamSearchBean

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

package beans.doctor.medexam.search;

import beans.UserRightsSet;
import beans.service.medexam.Medexam;
import beans.service.medexam.MedexamClientChunk;
import beans.user.client.entity.Client;
import framework.beans.SecuredBean;
import framework.beans.security.BeanRights;
import framework.generic.ClipsServerException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.ejb.Stateful;

/**
* Бин поиска бильничных по заданным критериям
* @author petr
*/
@Stateful(mappedName="clips-beans/MedexamSearchBean")
public class MedexamSearchBean extends SecuredBean
    implements MedexamSearchBeanRemote {
    public static int COMMAND_READ = 0;

    @Override
    protected void initBeanRights() {
        int[] r = new int[1];
        r[COMMAND_READ] = RightPresence(UserRightsSet.READ_MEDICAL_DATA.id);
        rights = new BeanRights(r);
    }

    @Override
    public List<MedexamClientChunk> getFilteredDetailed(MedexamFilter filter) throws ClipsServerException {
        checkCommandAccessibility(COMMAND_READ);
        ArrayList<Field> fs = new ArrayList<Field>();
        if (filter.dateOpenFrom != null){
            fs.add(new Field("disease.created", filter.dateOpenFrom, Field.OPERATOR_EQUAL_OR_MORE));
        }
        if (filter.dateOpenTill != null){
            fs.add(new Field("disease.created", filter.dateOpenTill, Field.OPERATOR_LESS));
        }
        if (filter.clientId > 0){
            fs.add(new Field("disease.emc.client.id", filter.clientId));
        }
        if (filter.onlyOpened){
            fs.add(new Field("result","", Field.OPERATOR_IS_NULL));
        }
       
        Iterator<Field> it = fs.iterator();
        Field fields[] = new Field[fs.size()];
        int i = 0;
        while (it.hasNext()){
            fields[i] = it.next();
            i++;
        }
        List<Medexam> ml = findEntityList(Medexam.class, fields);
       
        ArrayList<MedexamClientChunk> res = new ArrayList<MedexamClientChunk>();
        for (int j = 0; j < ml.size(); j++) {
            Medexam medexam = ml.get(j);
            Client client = medexam.getDisease().getEmc().getClient();
            res.add(new MedexamClientChunk(medexam.getDetails(this), client.getDetails(this)));
        }
        return res;         
    }

}
TOP

Related Classes of beans.doctor.medexam.search.MedexamSearchBean

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.