Package beans.doctor.recommendation

Source Code of beans.doctor.recommendation.RecommendationBean

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

package beans.doctor.recommendation;

import framework.beans.EntityDetails;
import beans.doctor.MedicalDataBean;
import beans.service.ServiceRender;
import framework.audit.AuditDoc;
import framework.generic.ClipsServerException;
import framework.generic.ESecurity;
import java.util.Date;
import java.util.List;
import javax.ejb.EJBException;
import javax.ejb.Stateful;

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

    public RecommendationBean() {
        super(Recommendation.class);
    }
   
    /**
     * Обновляет данные сущности.
     * @param details новые детали сущности
     * @throws EJBException в случае если обновление отвергнуто системой
     *          безопастности либо произошла ошибка
     * @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(Recommendation entity, EntityDetails details,
            AuditDoc auditDoc, List<AuditDoc> auditDocList)
            throws ClipsServerException {
        super.onUpdate(entity, details, auditDoc, auditDocList);
        RecommendationDetails d = (RecommendationDetails) details;

        if(entity.getId() != 0) {
            if(entity.getServiceRender().getId() != d.serviceRenderID) {
                throw new ESecurity("Cмена услуги недопустима");
            }
        } else {
            //never use client date +
            entity.setDate(new Date());

            entity.setServiceRender(findEntity(ServiceRender.class, d.serviceRenderID));
        }
       
        entity.setRegimen(d.regimen);
        entity.setFood(d.food);
        entity.setPhysical(d.physical);
        entity.setImmune(d.immune);
        entity.setDispensary(d.dispensary);
        entity.setExtracheckup(d.extracheckup);
    }

}
TOP

Related Classes of beans.doctor.recommendation.RecommendationBean

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.