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

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

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

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

import beans.doctor.diagnosis.DiagCodeTitle;
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 cli_fmw.delegate.report.ReportParam;
import cli_fmw.utils.MessageBox;
import clips.delegate.doctor.certificate.tag.interfaces.TypeSelectable;
import java.util.List;
import framework.utils.PairIntStr;
import java.util.ArrayList;

/**
*
* @author vip
*/
@TagToClass(tagName="free_diagnosys", title="Свободный диагноз (любой из назначенных человеку)")
public class CertTagFreeDiagnosys extends TypeSelectable {

    public CertTagFreeDiagnosys() throws ClipsException {
    }

    public CertTagFreeDiagnosys(CertificateLocal certificateLocal, ReportParam reportParam, DiseaseLocal diseaseLocal) throws ClipsException {
        super(certificateLocal, reportParam, diseaseLocal);
        if (certificateLocal.isNewlyCreated()) {
            setItem(0);
        }
    }
   
    @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;
        }

        //Добавление пустой строки
        allItems.add(new PairIntStr(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.getMkb().getTitle());
                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.getMkb().getTitle());
                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.getMkb().getTitle());
                allItems.add(pair);
            }
        }
    }

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

    @Override
    public DiagCodeTitle getValue() throws ClipsException {
       Integer id = getItem();
        ArrayList<String> codes = new ArrayList<String>(1);
        String diseaseCode = "";
    if (id != null){
      try {
        DiagnosisLocal dl = new DiagnosisLocal(id, null);
        diseaseCode = dl.getMkb().getDiseaseCode();
      }
      catch (ClipsException ex) {
        MessageBox.printStackTrace(ex);
      }
    }
        codes.add(diseaseCode);
        return new DiagCodeTitle(getText(), codes);
    }

}
TOP

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

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.