Package beans.directory.packet.template

Source Code of beans.directory.packet.template.DirectoryPacketTemplateBean

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

package beans.directory.packet.template;

import beans.directory.lpu.entity.Lpu;
import beans.directory.packet.entity.PacketTemplateDetails;
import framework.beans.directory.DirectoryBean;
import beans.doctor.PacketService;
import beans.contract.entity.ContractPacket;
import beans.directory.packet.entity.PacketTemplate;
import beans.directory.packet.entity.PacketTemplateItem;
import framework.generic.ClipsServerException;
import framework.generic.EMoveToTrash;
import javax.ejb.Stateful;
import beans.UserRightsSet;
import beans.directory.simple.entities.MedexamType;
import beans.user.collaborator.entities.Collaborator;
import framework.security.UserRight;

/**
* @security - Ok.
* @author axe
*/
@Stateful(mappedName="clips-beans/DirectoryPacketTemplateBean")
public class DirectoryPacketTemplateBean extends DirectoryBean<PacketTemplate, PacketTemplateDetails>
        implements DirectoryPacketTemplateBeanRemote {
   
    public DirectoryPacketTemplateBean() {
        super(PacketTemplate.class, "шаблон пакета услуг");
    }

    @Override
    protected UserRight getRightForCreateDirectoryItem() {
        return UserRightsSet.WRITE_CLINIC_ADMIN_DIRECTORY;
    }

    @Override
    protected UserRight getRightForWriteToDirectory() {
        return UserRightsSet.WRITE_CLINIC_ADMIN_DIRECTORY;
    }

//    @Override
//    public List<PacketTemplateDetails> getDirectory() {
//        try {
//            Collaborator collaborator = findEntity(Collaborator.class, getCollaboratorId());
//            List list = findEntityWhat("a", PacketTemplate.class, new Field[]{new Field("lpu", collaborator.getLpu())}, " ORDER BY a.id");
//            List<PacketTemplateDetails> detailses = new ArrayList<PacketTemplateDetails>();
//            for (Object object : list) {
//                detailses.add(((PacketTemplate)object).getDetails(this));
//            }
//            return detailses;
//        } catch (ClipsServerException ex) {
//            return new ArrayList<PacketTemplateDetails>();
//        }
//    }


   
    @Override
    protected void set(PacketTemplate packetTemplate, PacketTemplateDetails d) throws ClipsServerException {
        Lpu lpu = findEntity(Collaborator.class, getCollaboratorId()).getLpu();
        packetTemplate.setTitle(d.title);
        packetTemplate.setmedexamType(d.medexamTypeID == 0 ? null : findEntity(MedexamType.class, d.medexamTypeID));
        //packetTemplate.setDirty(details.dirty);
        packetTemplate.setTrash(d.hidden);
        if (lpu.getId() == d.lpuID){
            packetTemplate.setLpu(lpu);
        }else{
            throw new ClipsServerException("Пакет можно сохранить только для текущего ЛПУ");
        }
    }

    @Override
    protected void onRemove(PacketTemplate entity) throws ClipsServerException {

        Field f1[] = { new Field("packetTemplate", entity) };

        if(getEntityCount(PacketService.class, f1) > 0) {
            throw new EMoveToTrash("По данному пакету уже оказаны услуги, удаление невозможно");
        }
       
        Field f2[] = { new Field("packetServiceTemplate", entity) };
       
        if(getEntityCount(ContractPacket.class, f2, "") > 0) {
            throw new EMoveToTrash("Существуют договора, к которым привязан данный пакет, удаление невозможно");
        }

        deleteEntityList(PacketTemplateItem.class, f2);
    }
   
   
}
TOP

Related Classes of beans.directory.packet.template.DirectoryPacketTemplateBean

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.