Package beans.doctor.contraindication

Source Code of beans.doctor.contraindication.ContraindicationBean

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

package beans.doctor.contraindication;

import framework.beans.EntityDetails;
import beans.doctor.MedicalDataBean;
import beans.directory.vidal.entities.matter.Matter;
import beans.service.ServiceRender;
import framework.audit.AuditDoc;
import framework.generic.ClipsServerException;
import framework.generic.ESecurity;
import framework.utils.DateTimeUtils;
import java.util.Date;
import java.util.List;
import javax.ejb.Stateful;

/**
* @security - Ok.
* Integrity - may be Ok.
* @author axe
*/
@Stateful(mappedName="clips-beans/ContraindicationBean")
public class ContraindicationBean  extends MedicalDataBean<Contraindication>
        implements ContraindicationBeanRemote {

    public ContraindicationBean() {
        super(Contraindication.class);
    }

    /**
     * Обновляет данные сущности.
     * @param details новые детали сущности
     * @throws ClipsServerException в случае если обновление отвергнуто системой
     *          безопастности либо произошла ошибка
     * @return идентификатор сущности
     * Безопасность.
     * Установка прав для мед. данных Рецептов, рекоммендаций, направлений, противопоказаний,
     * диагнозов и осмотров. Читать можно только по READ_MEDICAL_DATA.
     * Изменять и удалять по WRITE_MEDICAL_DATA_DURING_DAY и WRITE_MEDICAL_DATA_ANY_TIME.
     * Для осмотров ещё два, менее мощных права WRITE_CHECKUP_DURING_DAY и WRITE_CHECKUP_ANY_TIME.
     * XXX_DURING_DAY - позволяет писать данные, если услуга не выполнена или выполнена в течении
     * текущего дня, изменять данные может только сотрудник, создавший запись.
     * XXX_ANY_TIME - позволяет редактировать любую запись, без ограничений.
     */
    @Override
    protected void onUpdate(Contraindication entity, EntityDetails details,
            AuditDoc auditDoc, List<AuditDoc> auditDocList) throws ClipsServerException{
        super.onUpdate(entity, details, auditDoc, auditDocList);
        ContraindicationDetails d = (ContraindicationDetails) details;
       
        if(entity.getId() != 0) {
            if(entity.getServiceRender().getId() != d.serviceRenderID) {
                throw new ESecurity("Cмена услуги недопустима");
            }
        }
        if (!DateTimeUtils.belongsToCurrentDay(d.date)) {
            throwNeedAdminSecurityException("Попытка подмены даты");
        }
        entity.setDate(d.date);
        entity.setServiceRender(findEntity(ServiceRender.class, d.serviceRenderID));
       
        entity.setMatter(findEntity(Matter.class, d.matter));
    }

   
}
TOP

Related Classes of beans.doctor.contraindication.ContraindicationBean

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.