Package clips.delegate.doctor.certificate.tag.certTags

Source Code of clips.delegate.doctor.certificate.tag.certTags.CertTagFullDiagnosys

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

package clips.delegate.doctor.certificate.tag.certTags;

import cli_fmw.main.ClipsException;
import clips.delegate.doctor.DiseaseLocal;
import clips.delegate.doctor.certificate.CertificateLocal;
import clips.delegate.doctor.diagnosis.DiagnosisLocal;
import clips.delegate.doctor.certificate.tag.TagToClass;
import clips.delegate.doctor.certificate.tag.interfaces.TypeMultiSelectable;
import cli_fmw.delegate.report.ReportParam;
import java.util.List;
import framework.utils.PairIntStr;

/**
*
* @author vip
*/
@TagToClass(tagName="full_diagnosys", title="Полный диагноз (основной + сопутствующие)")
public class CertTagFullDiagnosys extends TypeMultiSelectable {

    public CertTagFullDiagnosys() throws ClipsException {
    }

    public CertTagFullDiagnosys(CertificateLocal certificateLocal, ReportParam reportParam, DiseaseLocal diseaseLocal) throws ClipsException {
        super(certificateLocal, reportParam, diseaseLocal);
    }
   
    @Override
    public void fillItems() throws ClipsException {
        if (certificateLocal == null) throw new ClipsException();
        List<DiagnosisLocal> fullDiagnosisList = certificateLocal.getClientLocal()
                .getFullDiagnosisList(diseaseLocal == null ? 0 : diseaseLocal.getID());
        //Поиск основного диагноза из заболевания
        //*Если конечно есть заболевание и в нем есть диагнозы
        int mainID;
        if (diseaseLocal != null && diseaseLocal.getSpecificDiagnosis()!= null) {
            DiagnosisLocal specificDiagnosis = diseaseLocal.getSpecificDiagnosis();
            if (specificDiagnosis == null) {
                throw new ClipsException("В заболевании отсутствует диагноз");
            }
            mainID = specificDiagnosis.getID();
        } else {
            mainID = 0;
        }

        //Добавление основного диагноза
        for (int i = 0; i < fullDiagnosisList.size(); i++) {
            DiagnosisLocal dl = fullDiagnosisList.get(i);
            if (dl.getID() == mainID) {
                PairIntStr pair = new PairIntStr(dl.getID(), "(Основной) " + dl.getMkbAndStage());
                allItems.add(pair);
            }
        }
        //Добавление остальных диагнозов (исключая сопутствующие)
        for (int i = 0; i < fullDiagnosisList.size(); i++) {
            DiagnosisLocal dl = fullDiagnosisList.get(i);
            if (dl.getID() != mainID && !dl.hasReferencedDiagnosis()) {
                PairIntStr pair = new PairIntStr(dl.getID(), "(" + dl.getType().getTitle() + ") " + dl.getMkbAndStage());
                allItems.add(pair);
            }
        }
        //Добавление сопутствующих диагнозов
        for (int i = 0; i < fullDiagnosisList.size(); i++) {
            DiagnosisLocal dl = fullDiagnosisList.get(i);
            if (dl.hasReferencedDiagnosis()) {
                PairIntStr pair = new PairIntStr(dl.getID(), "(Сопутствующий) " + dl.getMkbAndStage());
                allItems.add(pair);
            }
        }
    }

    @Override
    public boolean isEditable() {
        return true;
    }

    @Override
    public String getValue() throws ClipsException {
        return getText();
    }

}
TOP

Related Classes of clips.delegate.doctor.certificate.tag.certTags.CertTagFullDiagnosys

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.