Package clips.delegate.doctor

Source Code of clips.delegate.doctor.RecommendationLocal

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

package clips.delegate.doctor;

import beans.doctor.recommendation.RecommendationBean;
import beans.doctor.recommendation.RecommendationBeanRemote;
import clips.delegate.DEC.DECServiceRender;
import cli_fmw.delegate.DelegateLine2;
import beans.doctor.recommendation.RecommendationDetails;
import cli_fmw.delegate.AuditListener;
import clips.delegate.service.SerRenLocal;
import cli_fmw.delegate.utils.TimeLocal;
import cli_fmw.main.ClipsException;
import cli_fmw.main.DelegatePrintable;
import cli_fmw.report.CombinedReportCreator;
import cli_fmw.report.FormReportCreator;
import clips.doctor.newEMC.init.generic.DelegateNodeLeaf;
import clips.delegate.directory.ro.DirectoryCollaboratorItem;
import java.util.Date;
import java.util.HashMap;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import framework.utils.Converter;

/**
* Делегат - рекомендация врача.
* @author ViP
*/
public class RecommendationLocal extends
    DelegateNodeLeaf<RecommendationBeanRemote, RecommendationDetails>
        implements Iconable, DelegatePrintable, HasSerrenLocal, Signable {

    private DECServiceRender serviceRender = new DECServiceRender(this, "информацию об услуге, в рамках которой выписана рекомендация", getAuditListener());
    public static ImageIcon icon = null;
   
    /**
     * Создает новую рекомендацию в рамках указанной услуги
     * @param serRen услуга, в рамках которой будет действовать данная рекоммендация
     * @throws ClipsException
     */
    public RecommendationLocal(SerRenLocal serRen) throws ClipsException {
        super(serRen.getAuditListener());
        serviceRender.initBy(serRen);
        getDetails().date = TimeLocal.getCurrentTime().getTime();
    }

    /**
     * Создает рекомендацию в рамках указанной услуги, с заданным идентифкатором
     * @param serRen услуга, в рамках которой будет действовать данная рекоммендация
     * @param id идентифкатор рекомендации
     * @throws ClipsException
     */   
    public RecommendationLocal(int id, SerRenLocal serRen, AuditListener al) throws ClipsException {
        super(id, al);
        serviceRender.initBy(serRen);
    }

    /**
     * Конструктор пакетной загрузки
     * @param serRen услуга, в рамках которой будет действовать данная рекоммендация (для кеша)
     * @param details предварительно загруженные данные рекоммендации
     * @throws ClipsException
     */   
    public RecommendationLocal(RecommendationDetails details, SerRenLocal serRen, AuditListener al) throws ClipsException {
        super(details, al);
        serviceRender.initBy(serRen);
    }

    @Override
    protected RecommendationDetails getNewDetails() {
        return new RecommendationDetails();
    }
   
    @Override
    public SerRenLocal getSerrenLocal() throws ClipsException {
        return serviceRender.get();
    }
   
    public Date getDate() throws ClipsException {
        return getDetails().date;
    }
   
    //never use client date
    @Deprecated
    public void setDate(Date date) throws ClipsException {
        getDetails().date = date;
        fireContentStateEvent();
    }

   
   
    //блок сеттеров и геттеров полей рекомендации
    public String getRegimen() throws ClipsException {
        return getDetails().regimen;
    }
   
    public void setRegimen(String regimen) throws ClipsException {
        getDetails().regimen = regimen;
        fireContentStateEvent();
    }
   
    public String getFood() throws ClipsException {
        return getDetails().food;
    }
   
    public void setFood(String food) throws ClipsException {
        getDetails().food = food;
        fireContentStateEvent();
    }
   
    public String getPhysical() throws ClipsException {
        return getDetails().physical;
    }
   
    public void setPhysical(String physical) throws ClipsException {
        getDetails().physical = physical;
        fireContentStateEvent();
    }
   
    public String getImmune() throws ClipsException {
        return getDetails().immune;
    }
   
    public void setImmune(String immune) throws ClipsException {
        getDetails().immune = immune;
        fireContentStateEvent();
    }
   
    public String getDispensary() throws ClipsException {
        return getDetails().dispensary;
    }
   
    public void setDispensary(String dispensary) throws ClipsException {
        getDetails().dispensary = dispensary;
        fireContentStateEvent();
    }
   
    public String getExtracheckup() throws ClipsException {
        return getDetails().extracheckup;
    }
   
    public void setExtracheckup(String extracheckup) throws ClipsException {
        getDetails().extracheckup = extracheckup;
        fireContentStateEvent();
    }
    //конец блока геттеров и сеттеров полей рекомендации
   
    public String getAllValue() throws ClipsException {
        String value = new String();
        String str = getRegimen();
        if (str != null && !str.isEmpty()) {
            value += str + "\n";
        }
        str = getFood();
        if (str != null && !str.isEmpty()) {
            value += str + "\n";
        }
        str = getPhysical();
        if (str != null && !str.isEmpty()) {
            value += str + "\n";
        }
        str = getImmune();
        if (str != null && !str.isEmpty()) {
            value += str + "\n";
        }
        str = getDispensary();
        if (str != null && !str.isEmpty()) {
            value += str + "\n";
        }
        str = getExtracheckup();
        if (str != null && !str.isEmpty()) {
            value += str + "\n";
        }
        if (!value.isEmpty()) {
            value = value.substring(0, value.length() - 1);
        }
        return value;
    }
   
    @Override
    public void print(CombinedReportCreator cCreator) throws ClipsException {
        String value = getAllValue();       
        DirectoryCollaboratorItem serDirector = getSerrenLocal().getSerRenDirector();
       
        FormReportCreator creater = cCreator.createFormReporter(getClass(), 1);
       
        HashMap<String, Object> data = new HashMap<String, Object>();
        data.put("recDate", Converter.dateToString(getDate()));
        data.put("recClient", getSerrenLocal().getPolisData().getClient(getAuditListener()).toString());
        data.put("recValue", value);
        data.put("recCollab", " " + serDirector.getTitle());
       
        creater.createReport(null, null, data.entrySet(), null);
        creater.finish();
    }
   
    @Override
    public Icon getIcon() {
        return icon;
    }

    @Override
    public String toString() {
        return "Рекомендации";
    }

    @Override
    protected String getBeanName() {
        return RecommendationBean.class.getSimpleName();
    }

    @Override
    public boolean isSignCorrect() throws ClipsException{
        //STUB
        return (getID() != -1 );
        //END STUB
    }

    @Override
    public String getSignMessage() throws ClipsException {
        if (getID() == 0) {
            return "Подпись отсутствует";
        }
        //STUB
        String coll;
        if (getSerrenLocal().getCollaboratorFunctions() != null) {
            coll = getSerrenLocal().getCollaboratorFunctions().getTitle();
        } else {
            coll = getSerrenLocal().getSerRenDirector().getTitle();
        }

        String s = "Подписано " + Converter.dateToString(getDate())
                + " - " + coll;
        if (isSignCorrect() ) {
            return s;
        } else {
            return "Подпись не соответствует данным!";
        }
        //END STUB
    }


}
TOP

Related Classes of clips.delegate.doctor.RecommendationLocal

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.