Examples of DirectoryVisitingPurpose


Examples of clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurpose

    @Override
    public void updateImpl() throws ClipsException {
        super.updateImpl();

        DirectoryVisitingPurpose dirPurpose = DirectoryLocator.getDirectory(DirectoryVisitingPurpose.class);
        DirectoryDiseaseResult dirResult = DirectoryLocator.getDirectory(DirectoryDiseaseResult.class);
        DirectoryService dirService = DirectoryLocator.getDirectory(DirectoryService.class);
        HashMap<String, DirectoryServiceItem> serviceMap = new HashMap<String, DirectoryServiceItem>();
        DirectoryServicingPlace dirPlace = DirectoryLocator.getDirectory(DirectoryServicingPlace.class);
        DirectoryMKB10 dirMkb = DirectoryLocator.getDirectory(DirectoryMKB10.class);
        DirectoryDiagnosisEncounter dirEncounter = DirectoryLocator.getDirectory(DirectoryDiagnosisEncounter.class);
        DirectoryTraumaType dirTraumaType = DirectoryLocator.getDirectory(DirectoryTraumaType.class);


        SelectorEditableExceptional<DirectoryServiceItem> servItems = dirService.getItems();
        for (int i = 0; i < servItems.size(); i++) {
            DirectoryServiceItem item = servItems.get(i);
            if (item.getID() != 0 && !item.getCode().trim().isEmpty()
                    && item.getGroup().getID() == ServiceGroup.SERVICE_GROUP_VISIT) {
                serviceMap.put(item.getCode().trim(), item);
            }
        }


        System.out.println("Запись в базу");
        out.println("Запись в базу");
        updaterStattalonBean.get().setFollowMap(followMap);
        GregorianCalendar gc1 = new GregorianCalendar();
        Queue queue = new Queue();
        //убрать после отладки
        //Writer w = new Writer(queue, "Единственный поток", 0);
        try {
            //разкоментить
            createThreads(queue);
            Set<Entry<Integer, SstData>> sstSet = sstMap.entrySet();
            float size = sstSet.size();
            int counter = 0;
      int countChunk = 0;
            for (Iterator<Entry<Integer, SstData>> it = sstSet.iterator(); it.hasNext();) {
                //через каждые 5000 статталонов напоминаем серваку, что юзер здесь, ато 1 раз отвалился
                if (counter % 100 == 0) {
                    System.out.println("Запись посещений - " + (counter + 1)/size*100 + "%");
                    GregorianCalendar gc2 = new GregorianCalendar();
                    long mc = gc2.getTimeInMillis() - gc1.getTimeInMillis();
                    System.out.println("Work time: " + mc + " ms");
                }
                if ((counter%5000) == 0) {
                    try {
                        UserInfo.get().disturbServer();
                    } catch (Throwable ex) {
                        //пофиг
                    }
                }
                Entry<Integer, SstData> entry = it.next();
                it.remove();
                int nSyst = entry.getKey();
                SstData sstData = entry.getValue();
                ArrayList<EmcIdAndDateBorn> emcList = clientMap.get(sstData.lnumber);
                if (emcList == null) {
                    System.out.println("Не найден пациент № " + sstData.lnumber + " stat_ds.dbf " " (N_SYST = " + sstData.nSyst + ")");
                    out.println("Не найден пациент № " + sstData.lnumber + " stat_ds.dbf " " (N_SYST = " + sstData.nSyst + ")");
                    counter++;
                    continue;
                }
                int emcID = sstData.getTrueEmc(emcList);
                if (emcID == 0) {
                    System.out.println("Не найден пациент № " + sstData.lnumber + " дата рождения " + Converter.dateToString(sstData.bithdate)
                            + " stat_ds.dbf " " (N_SYST = " + sstData.nSyst + ")");
                    out.println("Не найден пациент № " + sstData.lnumber + " дата рождения " + Converter.dateToString(sstData.bithdate)
                            + " stat_ds.dbf " " (N_SYST = " + sstData.nSyst + ")");
                    counter++;
                    continue;
                }

                if (sstData.dniList.size() < 1) {
                    System.out.println("Ошибка : В статталоне NSYST = " + nSyst + " нет посещений из STAT_DNI.DBF ");
                    out.println("Ошибка : В статталоне NSYST = " + nSyst + " нет посещений из STAT_DNI.DBF ");
                    continue;
                }


                /*if (sstData.nSyst != 523391
                        //&& sstData.nSyst != 493583
                        //&& sstData.nSyst != 61058
                        ) {
                    counter++;
                    continue;
                }*/


                if (sstData.getFinalDsCount() < 1) {
                    System.out.println("Ошибка : В статталоне NSYST = " + nSyst + " отсутствует заключительный диагноз ");
                    out.println("Ошибка : В статталоне NSYST = " + nSyst + " отсутствует заключительный диагноз ");
                    continue;
                }
                sstData.fixDiagnosys();

                if (sstData.getFinalDsCount() > 1) {
                    System.out.println("Ошибка : В статталоне NSYST = " + nSyst + " более одного заключительного диагноза ");
                    out.println("Ошибка : В статталоне NSYST = " + nSyst + " более одного заключительного диагноза ");
                    continue;
                }

                for (int i = 0; i < sstData.dniList.size(); i++) {
                    DniData dni = sstData.dniList.get(i);

                    //Заполнение чанка для быстрого ввода
                    QuickInputChunk c = new QuickInputChunk();
                    c.isUpdate = true;
                    try {
                        //Заболевание
                        c.nSyst = sstData.nSyst;
                        c.emcID = emcID;
                        c.diseaseID = 0;
                        c.purposeID = dirPurpose.getItemFromExtKey(sstData.purpose).getID();
                        c.resultID = dirResult.getItemFromExtKey(sstData.result).getID();
                        c.dataSt = sstData.dataSt;
                        c.dateEnd = sstData.data;
                        //Посещение
                        c.date = dni.date;
View Full Code Here

Examples of clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurpose

    public PanelDiseaseStatus(PageContainer container, final DiseaseLocal diseaseLocal) throws ClipsException {
        super(container);
        initComponents();
        this.diseaseLocal = diseaseLocal;

        DirectoryVisitingPurpose purpose = DirectoryLocator.getDirectory(DirectoryVisitingPurpose.class);
        directoryCollaborator = DirectoryLocator.getDirectory(DirectoryCollaborator.class);
        setScreenFields();
        StateSaver.attachTo(this);
    }
View Full Code Here

Examples of clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurpose

            protected void setDateImp(Date date) throws ClipsException {
                getDelegate().setClosed(date);
            }
        };

        DirectoryVisitingPurpose purpose = DirectoryLocator.getDirectory(DirectoryVisitingPurpose.class);
        new DirectoryComboBoxModel<DiseaseLocal,DirectoryVisitingPurposeItem>(cbPurpose, purpose, diseaseLocal) {

            @Override
            public DirectoryVisitingPurposeItem getSelectedDirectoryItem() throws ClipsException {
                return getObject().getVisitingPurpose();
View Full Code Here

Examples of clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurpose

            DirectoryKladrType dirKladrType = DirectoryLocator.getDirectory(DirectoryKladrType.class);
            DirectoryDiseaseResult dirDisResult = DirectoryLocator.getDirectory(DirectoryDiseaseResult.class);
            DirectoryDvr dirDvr = DirectoryLocator.getDirectory(DirectoryDvr.class);
            DirectoryDiagnosisEncounter dirDiagEnc = DirectoryLocator.getDirectory(DirectoryDiagnosisEncounter.class);
            DirectoryMedicalAidType dirVmu = DirectoryLocator.getDirectory(DirectoryMedicalAidType.class);
            DirectoryVisitingPurpose dirVisPurp = DirectoryLocator.getDirectory(DirectoryVisitingPurpose.class);

            ErrorList target = new ErrorList();
            count = 0;
            for (RegisterData data : list) {
                if (!needWrite(data)) {
                    continue;
                }
                int id = data.id;

                //ID
                lf.id.put(id, target, data.uuid);
                //System.out.println("Запись посещения id = " + id);

                //HISTORY
                if (data.history.trim().isEmpty()) {
                    target.add(id, "Номер мед. карты не указан", ErrorList.CLIENT_ERROR);
                }
                lf.history.put(id, target, data.history);

                //FAM
                if (data.fam == 0) {
                    target.add(id, "Фамилия не указана", ErrorList.CLIENT_ERROR);
                    lf.fam.put(id, target, "");
                } else {
                    String surname = dirSurname.getItemFromID(data.fam).getTitle();
                    if (surname.trim().isEmpty()) {
                        target.add(id, "Фамилия пустая", ErrorList.CLIENT_ERROR);
                    }
                    lf.fam.put(id, target, surname);
                }

                //NAM
                if (data.nam == 0) {
                    target.add(id, "Имя не указано", ErrorList.CLIENT_ERROR);
                    lf.nam.put(id, target, "");
                } else {
                    String name = dirName.getItemFromID(data.nam).getTitle();
                    if (name.trim().isEmpty()) {
                        target.add(id, "Имя пустое", ErrorList.CLIENT_ERROR);
                    }
                    lf.nam.put(id, target, name);
                }

                //FNAM
                if (data.fnam == 0) {
                    target.add(id, "Отчество не указано", ErrorList.CLIENT_ERROR);
                    lf.fnam.put(id, target, "-");
                } else {
                    String patron = dirPatron.getItemFromID(data.fnam).getTitle();
                    if (patron.trim().isEmpty()) {
                        target.add(id, "Отчество пустое", ErrorList.CLIENT_ERROR);
                        patron = "-";
                    }
                    lf.fnam.put(id, target, patron);
                }

                //POL_SER
                lf.pol_ser.put(id, target, data.pol_ser);

                //POL_NUM
                if (data.pol_num.equals("0000000000000000")) {
                    target.add(id, "Полис фиктивный", ErrorList.CLIENT_ERROR);
                }
                lf.pol_num.put(id, target, data.pol_num);

                //BDAY
                if (data.bday == null) {
                    target.add(id, "Дата рождения не указана", ErrorList.CLIENT_ERROR);
                    lf.bday.put("");
                } else {
                    Calendar cal = Calendar.getInstance();
                    cal.setTime(data.bday);
                    lf.bday.put(cal);
                }

                //SEX
                if (data.sex == 0) {
                    target.add(id, "Пол не указан", ErrorList.CLIENT_ERROR);
                }
                lf.sex.put(data.sex);

                //STATUS
                if (data.status == 0) {
                    target.add(id, "Социальный статус не указан", ErrorList.CLIENT_ERROR);
                    lf.status.put(0);
                } else {
                    try {
                        String extKey = dirStatus.getItemFromID(data.status).getExtKey();
                        lf.status.put(Integer.parseInt(extKey));
                    } catch (NumberFormatException ex) {
                        target.add(id, "Код социального статуса должен быть числом", ErrorList.CLIENT_ERROR);
                        lf.status.put(0);
                    }

                }

                //PRED
                lf.pred.put(data.pred);

                //P_STATUS
                if (data.p_status == 0) {
                    lf.p_status.put("");
                } else {
                    lf.p_status.put(data.p_status);
                }

                //P_FAM
                if (data.p_fam == 0) {
                    lf.p_fam.put(id, target, "");
                } else {
                    lf.p_fam.put(id, target, dirSurname.getItemFromID(data.p_fam).getTitle());
                }

                //P_NAM
                if (data.p_nam == 0) {
                    lf.p_nam.put(id, target, "");
                } else {
                    lf.p_nam.put(id, target, dirName.getItemFromID(data.p_nam).getTitle());
                }

                //P_FNAM
                if (data.p_fnam == 0) {
                    lf.p_fnam.put(id, target, "");
                } else {
                    lf.p_fnam.put(id, target, dirPatron.getItemFromID(data.p_fnam).getTitle());
                }

                //C_OKSM
                if (data.c_oksm.trim().isEmpty()) {
                    target.add(id, "Гражданство не указано", ErrorList.CLIENT_ERROR);
                }
                lf.oksm.put(id, target, data.c_oksm);

                //DOC_TYPE
                if (data.type_doc == 0) {
                    lf.doc_type.put(0);
                } else {
                    try {
                        String extKey = dirDocType.getItemFromID(data.type_doc).getExtKey();
                        lf.doc_type.put(Integer.parseInt(extKey));
                    } catch (NumberFormatException ex) {
                        target.add(id, "Код социального статуса должен быть числом", ErrorList.CLIENT_ERROR);
                        lf.doc_type.put(0);
                    }
                }

                //DOC_SER
                lf.doc_ser.put(id, target, data.doc_ser);

                //DOC_NUM
                lf.doc_num.put(id, target, data.doc_num);

                //INS_ID_AR
                if (data.ins_id_ar == 0) {
                    lf.ins_id_ar.put("0");
                } else {
                    try {
                        String extKey = dirRegCode.getItemFromID(data.ins_id_ar).getExtKey();
                        lf.ins_id_ar.put(Integer.parseInt(extKey));
                    } catch (NumberFormatException ex) {
                        target.add(id, "ИД территории страховой организации должен быть числом", ErrorList.CLIENT_ERROR);
                        lf.ins_id_ar.put("");
                    }
                }

                //INS_ORG
                String arExtKey = dirRegCode.getItemFromID(data.ins_id_ar).getExtKey();
                DirectoryInsurerItem insurer = dirInsurer.getItemFromID(data.id_ins_org);
                if (!arExtKey.equals(RegisterBean.REGION_CODE) && !insurer.getExtKey().isEmpty()) {
                    lf.ins_org.put(id, target, "");
                } else if (data.pol_num.isEmpty() && insurer.getExtKey() != null && !insurer.getExtKey().isEmpty()) {
                    lf.ins_org.put(id, target, "");
                } else {
                    lf.ins_org.put(id, target, insurer.getTitle());
                }

                if (!arExtKey.equals(RegisterBean.REGION_CODE)
                        && lf.ins_org.get().trim().isEmpty()) {
                    target.add(id, "Для инотерриториального больного не указан филиал ФОМС", ErrorList.CLIENT_ERROR);
                }

                //INS_ID
                try {
                    String extKey = insurer.getExtKey();
                    if (!arExtKey.equals(RegisterBean.REGION_CODE) && !insurer.getExtKey().isEmpty()) {
                        lf.ins_id.put("");
                    } else if (data.pol_num.isEmpty() && extKey != null && !extKey.isEmpty()) {
                        lf.ins_id.put("0");
                    } else if (extKey == null || extKey.isEmpty()) {
                        lf.ins_id.put("");
                    } else {
                        lf.ins_id.put(Integer.parseInt(extKey));
                    }
                } catch (NumberFormatException ex) {
                    target.add(id, "ИД страховой организации должен быть числом", ErrorList.CLIENT_ERROR);
                    lf.ins_id.put("");
                }

                //KLADR
                lf.kladr.put(id, target, data.kladr);

                //AREA
                DirectoryKladrItem area = dirKladr.getItemFromID(data.area);
                if (area != null) {
                    lf.area.put(id, target, area.getTitle());
                } else {
                    lf.area.put(id, target, "");
                }

                //REGION
                lf.region.put(id, target, data.region);

                //REG_CITY
                if (data.region.trim().toUpperCase().equals("УФА") && data.reg_city.isEmpty()) {
                    target.add(id, "Неполный адрес: отсутствует район г. Уфа", ErrorList.CLIENT_ERROR);
                }
                lf.reg_city.put(id, target, data.reg_city);

                //ITEM
                lf.item.put(id, target, data.item);

                //TYPE_ITEM
                DirectoryKladrTypeItem typeItem = dirKladrType.getItemFromID(data.type_item);
                if (typeItem == null) {
                    lf.type_item.put("");
                } else {
                    try {
                        String extKey = typeItem.getExtKey();
                        if (extKey == null || extKey.isEmpty()) {
                            lf.type_item.put("");
                        } else {
                            lf.type_item.put(Integer.parseInt(extKey));
                        }
                    } catch (NumberFormatException ex) {
                        target.add(id, "Код типа населенного пункта должен быть числом", ErrorList.CLIENT_ERROR);
                        lf.type_item.put("");
                    }
                }

                //TYPE_UL
                if (data.type_ul == 0) {
                    lf.type_ul.put("");
                } else {
                    lf.type_ul.put(data.type_ul);
                }

                //STREET
                lf.street.put(id, target, data.street);

                //HOUSE
                try {
                    if (data.house.isEmpty()) {
                        lf.house.put("");
                    } else {
                        lf.house.put(Integer.parseInt(data.house));
                    }
                } catch (NumberFormatException ex) {
                    target.add(id, "Номер дома должен быть числом", ErrorList.CLIENT_ERROR);
                    lf.house.put("");
                }

                //LITER
                if (data.liter.length() > 1) {
                    try {
                        Integer.parseInt(data.liter);
                    } catch (NumberFormatException ex) {
                        target.add(id, "Буква дома имеет неправильный формат : " + data.liter, ErrorList.CLIENT_ERROR);
                    }
                }
                lf.liter.put(id, target, data.liter);

                //FLAT
                if (data.flat.equals("0")) {
                    lf.flat.put(id, target, "");
                } else {
                    lf.flat.put(id, target, data.flat);
                }

                //WORK
                if (data.is_ext != 0) {
                    lf.work.put(id, target, data.work);
                } else {
                    lf.work.put(id, target, "");
                }

                //DATE_BEGIN
                Calendar cal = Calendar.getInstance();
                cal.setTime(data.date_begin);
                lf.date_begin.put(cal);
                //DATE_END
                lf.date_end.put("");
                //MES
                if (!Pattern.matches("[0-9]{6}",data.mes)) {
                    target.add(id, "Неправильный код посещения");
                }
                lf.mes.put(id, target, data.mes);

                //UKL
                //Для поликлиник не заполняется
                lf.ukl.put("");

                //OUT
                if (data.out == 0) {
                    target.add(id, "Не указан исход лечения");
                    lf.out.put("");
                } else {
                    try {
                        DirectoryDiseaseResultItem item = dirDisResult.getItemFromID(data.out);
                        lf.out.put(Integer.parseInt(item.getExtKey()));
                    } catch (NumberFormatException ex) {
                        target.add(id, "Исход лечения должен быть числом");
                        lf.out.put("");
                    }
                }

                //FLAG
                lf.flag.put(id, target, "");

                //MKB
                if (data.mkb.isEmpty()) {
                    target.add(id, "Отсутствует диагноз");
                }
                lf.mkb.put(id, target, data.mkb);

                //MKB_S
                lf.mkb_s.put(id, target, data.mkb_s);

                //INN
                lf.inn.put(id, target, data.inn);

                //MU
                lf.mu.put(data.c_mu);

                //KMU
                lf.kmu.put(data.k_mu / 100.0);

                //SS
                lf.ss.put(id, target, data.ss);

                //SSD
                lf.ssd.put(id, target, data.ssd);

                //VR_SPEC
                if (data.vr_spec == 0) {
                    target.add(id, "Не указан код специальности врача");
                    lf.vr_spec.put("");
                } else {
                    try {
                        DirectoryReceptionTypeItem item = dirRecType.getItemFromID(data.vr_spec);
                        lf.vr_spec.put(Integer.parseInt(item.getExtKey()));
                    } catch (NumberFormatException ex) {
                        target.add(id, "Код специальности врача должен быть числом");
                        lf.vr_spec.put("");
                    }
                }

                //VR_DOL
                if (data.vr_dol == 0) {
                    //target.add(id, "Не указан код должности врача");
                    lf.vr_dol.put(0);
                } else {
                    try {
                        DirectoryDvrItem item = dirDvr.getItemFromID(data.vr_dol);
                        lf.vr_dol.put(Integer.parseInt(item.getExtKey()));
                    } catch (NumberFormatException ex) {
                        target.add(id, "Код должности врача должен быть числом");
                        lf.vr_dol.put("");
                    }
                }

                //QZ
                if (data.qz == 0) {
                    target.add(id, "Не указан код характера заболевания");
                    lf.qz.put("0");
                } else {
                    try {
                        DirectoryDiagnosisEncounterItem item = dirDiagEnc.getItemFromID(data.qz);
                        int qz = Integer.parseInt(item.getExtKey());
                        /* Не знаю почему, но у них в отчетах характер заболевания
                         * на 1 меньше чем в базе.
                         * К примеру код 1 - здоров в отчет идет как 0
                         * (у них это в ТАЛ2008. У АММовской проги вообще не заполняется)
                         */
                        lf.qz.put(qz - 1);
                    } catch (NumberFormatException ex) {
                        target.add(id, "Код характера заболевания должен быть числом");
                        lf.qz.put("");
                    }
                }

                //VMU
                if (data.vmu == 0) {
                    target.add(id, "Не указан вид первичной медико-санитарной помощи");
                    lf.vmu.put("");
                } else {
                    try {
                        DirectoryMedicalAidTypeItem item = dirVmu.getItemFromID(data.vmu);
                        lf.vmu.put(Integer.parseInt(item.getExtKey()));
                    } catch (NumberFormatException ex) {
                        target.add(id, "Вид первичной медико-санитарной помощи должен быть числом");
                        lf.vmu.put("");
                    }
                }

                //D_LISTIN
                if (data.d_listin == null) {
                    lf.d_listin.put("");
                } else {
                    cal.setTime(data.d_listin);
                    lf.d_listin.put(cal);
                }

                //D_LISTOUT
                if (data.d_listout == null) {
                    lf.d_listout.put("");
                } else {
                    cal.setTime(data.d_listout);
                    lf.d_listout.put(cal);
                }

                //DF_CODES
                //только для диспансеризации
                lf.df_codes.put(id, target, data.df_codes);

                //KOD_IF
                lf.code_if.put(data.cod_if);

                //RESD
                //только для диспансеризации
                if (data.resd == 0) {
                    lf.resd.put("");
                } else {
                    lf.resd.put(data.resd);
                }

                //CODE_GOAL
                if (data.code_goal == 0) {
                    //target.add(id, "Не указан вид первичной медико-санитарной помощи");
                    lf.code_goal.put(id, target, "");
                } else {
                    DirectoryVisitingPurposeItem item = dirVisPurp.getItemFromID(data.code_goal);
                    lf.code_goal.put(id, target, item.getExtKey());
                }

                //OKVED
                //только для диспансеризации
View Full Code Here

Examples of clips.delegate.directory.simple.visitingPurpose.DirectoryVisitingPurpose

        getDetails().closerID = closer == null ? 0 : closer.getID();
        fireContentStateEvent();
    }

    public DirectoryVisitingPurposeItem getVisitingPurpose() throws ClipsException{
        DirectoryVisitingPurpose purpose = DirectoryLocator.getDirectory(DirectoryVisitingPurpose.class);
        return purpose.getItemFromID(getDetails().visitingPurposeID);
    }
View Full Code Here
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.