Package cli_fmw.main

Examples of cli_fmw.main.ClipsException


                entry.setAuthor(author);
                res.add(new EntryChunk(entry, false));
            }
            return res;
        } catch (FeedException ex) {
            throw new ClipsException("Не удалось загрузить новости", ex);
        } catch (IOException ex) {
            throw new ClipsException("Не удалось загрузить новости", ex);
        }

    }
View Full Code Here


        }
    }

    @Override
    public void fillItems() throws ClipsException {
        if (certificateLocal == null) throw new ClipsException();
        List<JobLocal> jobList = certificateLocal.getClientLocal().getJobList();
        for (int i = 0; i < jobList.size(); i++) {
            JobLocal jobLocal = jobList.get(i);
            if (!jobLocal.isFired()) {
                if (defaultid == 0) {
View Full Code Here

            for (int i = 0; i < ColDop.values().length; i++) {
                ColDop col = ColDop.values()[i];
                fieldsDop.put(col, dbfDop.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbfDop.getName(), ex);
        }
        int recordCount = dbfDop.getRecordCount();
        int counter = 0;
        for (int i = 0; i < recordCount; i++) {
            try {
                dbfDop.read();
                if (dbfDop.deleted()) {
                    continue;
                }
                Integer lnumber = Integer.parseInt(fieldsDop.get(ColDop.LNUMBER).get().trim());
                String insOrg = fieldsDop.get(ColDop.INSUR_ORG).get().trim();
                DirectoryInsurerItem item = dirInsurer.getItemFromTitle(insOrg);
                if (insOrg.isEmpty()) {
                    out.println("Предупреждение : Дополнительный полис не принят " + dbfDop.getName() +
                            " строка " + counter + " причина : insOrg.isEmpty");
                    counter ++;
                    continue;
                }
                if (item == null) {
                    DirectoryItemDetails d = new DirectoryItemDetails(insOrg);
                    d.dirty = true;
                    item = new DirectoryInsurerItem(d);
                    dirInsurer.getItems().append(item);
                }
                dopIns.put(lnumber, item);
            } catch (IOException ex) {
                closeDBF(dbfDop);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfDop.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbfDop);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfDop.getName() + " (строка " + i + ")", ex);
            }
            counter ++;
        }
        closeDBF(dbfDop);
        System.out.println("Прочитано " + dopIns.size() + " дополнительных полисов");
        out.println("Прочитано " + dopIns.size() + " дополнительных полисов");





        //Чтение мест работы
        File fileJob = new File(cfg.getLastDBFImportPath(), "S_WORK.DBF");
        DBF dbfJob = createDBF(fileJob);
        System.out.println("Чтение мест работы");
        out.println("Чтение мест работы");
        //хеш ID, NAME организации
        HashMap<String, String> jobMap = new HashMap<String, String>();
        HashMap<ColJob, Field> fieldsJob = new HashMap<ColJob, Field>();
        try {
            for (int i = 0; i < ColJob.values().length; i++) {
                ColJob col = ColJob.values()[i];
                fieldsJob.put(col, dbfJob.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbfJob.getName(), ex);
        }
        recordCount = dbfJob.getRecordCount();
        counter = 0;
        for (int i = 0; i < recordCount; i++) {
            try {
                dbfJob.read();
                if (dbfJob.deleted()) {
                    continue;
                }
                String id = fieldsJob.get(ColJob.ID).get().trim();
                String name = fieldsJob.get(ColJob.NAME).get().trim();
                if (name.isEmpty()) {
                    out.println("Предупреждение : место работы не принято " + dbfJob.getName() +
                            " ID " + id + " причина : NAME.isEmpty");
                    counter ++;
                    continue;
                }
                jobMap.put(id, name);
            } catch (IOException ex) {
                closeDBF(dbfJob);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfJob.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbfJob);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfJob.getName() + " (строка " + i + ")", ex);
            }
            counter ++;
        }
        closeDBF(dbfJob);
        System.out.println("Прочитано " + jobMap.size() + " мест работы");
        out.println("Прочитано " + jobMap.size() + " мест работы");


        //Чтение статталонов - составление белого списка
        System.out.println("Чтение статталонов - составление белого списка пациентов");
        out.println("Чтение статталонов - составление белого списка пациентов");
        File fileSST = new File(cfg.getLastDBFImportPath(), "stat_tal.dbf");
        DBF dbfSST = createDBF(fileSST);
        HashMap<ColSst, Field> fieldsSst = new HashMap<ColSst, Field>();
        try {
            for (int i = 0; i < ColSst.values().length; i++) {
                ColSst col = ColSst.values()[i];
                fieldsSst.put(col, dbfSST.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbfSST.getName(), ex);
        }
        int counterSst = 0;
        HashSet<Integer> whiteList = new HashSet<Integer>();
        recordCount = dbfSST.getRecordCount();
        for (int i = 0; i < recordCount; i++) {
            try {
                dbfSST.read();
                if (dbfSST.deleted()) {
                    continue;
                }
                if (fieldsSst.get(ColSst.LNUMBER).get().trim().isEmpty()) {
                    counterSst ++;
                    continue;
                }
                whiteList.add(Integer.parseInt(fieldsSst.get(ColSst.LNUMBER).get().trim()));
            } catch (IOException ex) {
                closeDBF(dbfSST);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfSST.getName() + " (строка " + counterSst + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbfSST);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfSST.getName() + " (строка " + counterSst + ")", ex);
            } catch (NumberFormatException ex) {
                closeDBF(dbfSST);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfSST.getName() + " (строка " + counterSst + ")", ex);
            }
        }
        System.out.println("Чтение статталонов - завершено");

        //Чтение основных данных
        File file = new File(cfg.getLastDBFImportPath(),getFilename());
        DBF dbf = createDBF(file);
        HashMap<Col, Field> fields = new HashMap<Col, Field>();
        try {
            for (int i = 0; i < Col.values().length; i++) {
                Col col = Col.values()[i];
                fields.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        recordCount = dbf.getRecordCount();

        System.out.println("Загрузка фамилий, имен, отчеств, профессий и терапевтических участков");
        out.println("Загрузка фамилий, имен, отчеств, профессий и терапевтических участков");
        HashSet<String> famList = new HashSet<String>(recordCount);
        HashSet<String> namList = new HashSet<String>(recordCount);
        HashSet<String> patronList = new HashSet<String>(recordCount);
        HashSet<String> profList = new HashSet<String>();
        HashSet<String> districtList = new HashSet<String>();
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                famList.add(Converter.firstUpper(fields.get(Col.FAMILY).get().trim(), true));
                namList.add(Converter.firstUpper(fields.get(Col.NAME).get().trim(), true));
                patronList.add(Converter.firstUpper(fields.get(Col.FATHER).get().trim(), true));
                profList.add(Converter.firstUpper(fields.get(Col.PROF).get().trim(), false));
                String uch = fields.get(Col.UCH).get().trim();
                if (!uch.isEmpty() && !uch.equals("0")) {
                    districtList.add(fields.get(Col.UCH).get().trim());
                }
            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            }
        }
        bean.get().updateSurnames(famList);
        dirSurname = DirectoryLocator.getDirectory(DirectorySurname.class, true);
        System.out.println("Фамилии загружены");
        out.println("Фамилии загружены");
        bean.get().updateNames(namList);
        dirName = DirectoryLocator.getDirectory(DirectoryName.class, true);
        System.out.println("Имена загружены");
        out.println("Имена загружены");
        bean.get().updatePatrons(patronList);
        dirPathron = DirectoryLocator.getDirectory(DirectoryPathron.class, true);
        System.out.println("Отчества загружены");
        out.println("Отчества загружены");
        bean.get().updateAppointments(profList);
        dirApp = DirectoryLocator.getDirectory(DirectoryAppointment.class, true);
        System.out.println("Профессии загружены");
        out.println("Профессии загружены");
        bean.get().updateDistricts(districtList);
        dirDistrict = DirectoryLocator.getDirectory(DirectoryDistrict.class, true);
        System.out.println("Терапевтические участки загружены");
        out.println("Терапевтические участки загружены");

        dirRegionIdCode = DirectoryLocator.getDirectory(DirectoryRegionIdCode.class, true);
        dirSocialStatus = DirectoryLocator.getDirectory(DirectorySocialStatus.class, true);
        dirDocumentType = DirectoryLocator.getDirectory(DirectoryDocumentType.class, true);
        dirKladr = DirectoryLocator.getDirectory(DirectoryKladr.class);
        dirKladrType= DirectoryLocator.getDirectory(DirectoryKladrType.class);
        STREET = dirKladrType.getItemFromTitle("Улица");
        PER = dirKladrType.getItemFromTitle("Переулок");

        GregorianCalendar gc1 = new GregorianCalendar();
        try {
            dbf.startTop();
        } catch (IOException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        HashSet<String> setNumAmbk = new HashSet<String>();
        bean.get().setUseStaticMap(true);
        counter = 0;
        ArrayList<ClientChunk> clientChunks = new ArrayList<ClientChunk>(recordCount);
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                if ((i%1000) == 0) {
                    System.out.println("Обновление пациентов : " +  i/((float)recordCount)*100 + "% (" + i + ") запись");
                    GregorianCalendar gc2 = new GregorianCalendar();
                    long mc = gc2.getTimeInMillis() - gc1.getTimeInMillis();
                    System.out.println("Work time: " + mc + " ms");
                }
                if (dbf.deleted()) {
                    continue;
                }
                ClientChunk c = new ClientChunk();
                c.lnumber = Integer.parseInt(fields.get(Col.LNUMBER).get().trim());
                c.numambk = fields.get(Col.NUM_AMB_K).get().trim();
                //Уникальность номеров карт
                if (!c.numambk.isEmpty() && setNumAmbk.contains(c.numambk)) {
                    char ch = 'А';
                    while (setNumAmbk.contains(c.numambk + ch)) {
                        ch++;
                    }
                    c.numambk = c.numambk + ch;
                }
                /*if (!dopIns.containsKey(c.lnumber)) { всосал только некоторых для тестирования
                    continue;
                }*/
                /*if (c.lnumber != 50421) {
                    continue;
                }*/

                c.errDat = fields.get(Col.ERR_DAT).get().trim();
                c.famID = dirSurname.getItemFromTitle(Converter.firstUpper(fields.get(Col.FAMILY).get().trim(), true)).getID();
                c.nameID = dirName.getItemFromTitle(Converter.firstUpper(fields.get(Col.NAME).get().trim(), true)).getID();
                c.patronID = dirPathron.getItemFromTitle(Converter.firstUpper(fields.get(Col.FATHER).get().trim(), true)).getID();
                String sex = fields.get(Col.SEX).get().trim();
                if (sex.toUpperCase().equals("М")) {
                    c.sexID = Sex.CLIENT_SEX_MALE;
                } else if (sex.toUpperCase().equals("Ж")) {
                    c.sexID = Sex.CLIENT_SEX_FEMALE;
                } else {
                    System.out.println("У пациента неопределен пол. " + dbf.getName() + " lnum=(" + c.lnumber + ")");
                    out.println("Предупреждение : У пациента неопределен пол. " + dbf.getName() + " lnum=(" + c.lnumber + ")");
                    c.sexID = Sex.CLIENT_SEX_MALE;
                    String fam = fields.get(Col.FAMILY).get().trim();
                    if (fam.endsWith("а")) {
                        c.sexID = Sex.CLIENT_SEX_FEMALE;
                    } else {
                        String nam = fields.get(Col.FAMILY).get().trim();
                        if (nam.endsWith("а") || nam.endsWith("я")) {
                            c.sexID = Sex.CLIENT_SEX_FEMALE;
                        }
                    }
                    out.println("Пол выставлен : " + (c.sexID == Sex.CLIENT_SEX_MALE ? "Муж." : "Жен."));
                }
                c.dateBorn = null;
                try {
                    Calendar bornDate = ((DateField)fields.get(Col.BITHDATE)).getCalendar();
                    bornDate.set(Calendar.HOUR_OF_DAY, 0);
                    bornDate.set(Calendar.MINUTE, 0);
                    bornDate.set(Calendar.SECOND, 0);
                    bornDate.set(Calendar.MILLISECOND, 0);
                    c.dateBorn = bornDate.getTime();
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата рождения пациента некорректна " + dbf.getName() + " lnum=(" + c.lnumber + ")");
                    out.println("Предупреждение : Дата рождения пациента некорректна " + dbf.getName() + " lnum=(" + c.lnumber + ")");
                }
                String insurAreaExtKey = fields.get(Col.INSUR_AREA).get().trim();
                DirectorySimpleItem area = dirRegionIdCode.getItemFromExtKey(insurAreaExtKey);
                c.insurAreaID = area == null ? 0 : area.getID();

                /* Если страховая компания местная то приоритетным полем
                 является INSUR_ORG, если не местная то приоритетной
                 является запись в KADR_DOP */
                DirectoryInsurerItem insPrior;
                DirectoryInsurerItem ins;
                if (insurAreaExtKey.equals("61")) {
                    insPrior = dirInsurer.getItemFromExtKey(fields.get(Col.INSUR_ORG).get().trim());
                    ins = dopIns.get(c.lnumber);
                } else {
                    ins = dirInsurer.getItemFromExtKey(fields.get(Col.INSUR_ORG).get().trim());
                    insPrior = dopIns.get(c.lnumber);
                }
                if (insPrior != null) {
                    c.insurOrgID = insPrior.getID();
                } else if (ins != null) {
                    c.insurOrgID = ins.getID();
                } else {
                    c.insurOrgID = 0;
                }
                String klRegion = fields.get(Col.KLREGION).get().trim();
                String klItem = fields.get(Col.KLITEM).get().trim();
                String klStreet = fields.get(Col.KLSTREET).get().trim();
                c.house = fields.get(Col.HOUSE).get().trim();
                c.letter = fields.get(Col.LETTER).get().trim().toUpperCase();
                c.room = fields.get(Col.ROOM).get().trim();
                DirectorySimpleItem status = dirSocialStatus.getItemFromExtKey(fields.get(Col.SOCSTATUS).get().trim());
                if (status != null && status.getID() == SocialStatus.STATUS_OFNA) {
                    status = dirSocialStatus.getItemFromID(SocialStatus.STATUS_NOT_WORKING);
                }
                if (status != null && status.getID() == SocialStatus.STATUS_PRESCHOOL_UNDISCIPLINED) {
                    status = dirSocialStatus.getItemFromID(SocialStatus.STATUS_PRESCHOOL_DISCIPLINED);
                }
                c.socStatusID = status == null ? 0 : status.getID();
                if (c.socStatusID == null) {
                    c.socStatusID = 0;
                }
                DirectoryDistrictItem district = dirDistrict.getItemFromTitle(fields.get(Col.UCH).get().trim());
                c.districtID = district == null ? 0 : district.getID();


                String work = fields.get(Col.IDWORK).get().trim();
                if (work.isEmpty() || work.equals("0")) {
                    c.job = "";
                } else {
                    c.job = jobMap.get(work);
                    if (c.job == null) {
                        c.job = "";
                    }
                }
                String prof = fields.get(Col.PROF).get().trim();
                if (prof.isEmpty()) {
                    c.appointmentID = 0;
                } else {
                    c.appointmentID = dirApp.getItemFromTitle(Converter.firstUpper(prof, false)).getID();
                }


                c.inn = fields.get(Col.INN).get().trim();
                c.polSeria = fields.get(Col.POLSERIA).get().trim();
                c.polNumber = fields.get(Col.POLNUMBER).get().trim();
                DirectorySimpleItem doctype = dirDocumentType.getItemFromExtKey(fields.get(Col.DOCUMENT).get().trim());
                c.docTypeID = doctype == null ? 0 : doctype.getID();
                if (c.docTypeID == null) {
                    c.docTypeID = ClientDocumentType.TYPE_PASSPORT_RF;
                }
                c.docSeria = fields.get(Col.DOCSERIA).get().trim();
                c.docNumber = fields.get(Col.DOCNUMBER).get().trim();
                c.snils = fields.get(Col.SNILS).get().trim();
                String namstreet = fields.get(Col.NAM_STREET).get().trim();

                //Для полисов с ошибками выставляем формальные параметры
                if (c.insurOrgID == 0) {
                    c.insurOrgID = dirInsurer.getItemFromExtKey("344").getID();
                    out.println("Предупреждение : Пациенту в полис формально выставлена страховая компания" + dbf.getName() + " lnum=(" + c.lnumber + ")");
                }
                if (c.insurAreaID ==0) {
                    c.insurAreaID = dirRegionIdCode.getItemFromExtKey("61").getID();
                    out.println("Предупреждение : Пациенту в полис формально выставлен регион" + dbf.getName() + " lnum=(" + c.lnumber + ")");
                }
                if (c.polNumber.isEmpty()) {
                    c.polNumber = Polis.FICTIVE_POLIS_NUMBER;
                    out.println("Предупреждение : Пациенту выставлен формальный номер полиса" + dbf.getName() + " lnum=(" + c.lnumber + ")");
                }

                /* Проверка кодов региона, населенного пункта и улицы
                 * Если указан KLITEM то руководствуемся им
                 * Далее проверяем соответствие улицы (либо KLREGION либо KLITEM)
                 * Если не соответствует ищем соответствие у детей по названию (название по KLSTREET, если нету то по NAM_STREET)
                 * Если нет соответствия то печатаемсообщение и выставляем адрес незавершенным (KLREGION либо KLITEM)
                 */
                String klRegionShort = null;
                try {
                    klRegionShort = klRegion.substring(0, 8);
                } catch (StringIndexOutOfBoundsException ex) {
                    //регион не указан
                }

                //item будет не нул только в том случае если KLSTREET не соответствует KLREGION либо KLITEM
                DirectoryKladrItem item = null;
                if (!klItem.isEmpty() && !klStreet.startsWith(klItem)) {
                    item = dirKladr.getItemByCode(klItem);
                } else if (klRegionShort != null && !klStreet.startsWith(klRegionShort)) {
                    item = dirKladr.getItemByCode(klRegionShort);
                }

                if (item != null) {
                    DirectoryKladrItem childByTitle = null;
                    String title = "";
                    //Попытка по названию KLSTREET
                    if (!klStreet.isEmpty()) {
                        DirectoryKladrItem itemByCode = dirKladr.getItemByCode(klStreet);
                        title = itemByCode.getTitle();
                        DirectoryKladrTypeItem type = itemByCode.getType();
                        childByTitle = item.getChildByTitle(title, type);
                    }
                    //попытка поиска по NAM_STREET
                    if (childByTitle == null && !namstreet.isEmpty()) {
                        //определяем  если это переулок
                        DirectoryKladrTypeItem type;
                        if (namstreet.toUpperCase().startsWith("ПЕР.") || namstreet.toUpperCase().startsWith("ПЕР ")) {
                            type = PER;
                        } else {
                            type = STREET;
                        }
                        //Если указан только бирский район и улица прописью то ищем улицу в бирске
                        if (item.getKladrCode().equals(BIRSKIY_RAYON)) {
                            item = dirKladr.getItemByCode(BIRSK);
                        }
                        String fixTitle = fixTitle(item.getKladrCode(), namstreet);
                        childByTitle = item.getChildByTitle(fixTitle, type);
                    }
                    if (childByTitle != null) {
                        klStreet = childByTitle.getKladrCode();
                    } else {
                        klStreet = "";
                        //Вывод только если была попытка поиска улицы
                        if (!klStreet.isEmpty() || !namstreet.isEmpty()) {
                            System.out.println("Неверное поле KLSTREET в файле" + dbf.getName() + " lnum=(" + c.lnumber + ")"
                                    + " title=[" + title + "] name=[" + namstreet + "]" + " punkt=[" + item.getTitle() + "]"
                                    + " kladr=[" + item.getKladrCode() + "]");
                            out.println("Предупреждение : Неверное поле KLSTREET в файле" + dbf.getName() + " lnum=(" + c.lnumber + ")"
                                    + " title=[" + title + "] name=[" + namstreet + "]" + " punkt=[" + item.getTitle() + "]"
                                    + " kladr=[" + item.getKladrCode() + "]");
                        }
                    }
                }

                c.kladrCode = "";
                if (!klStreet.isEmpty()) {
                    c.kladrCode = klStreet + "00";
                } else if (!klItem.isEmpty()) {
                    c.kladrCode = klItem + "00000000";
                } else if (!klRegion.isEmpty()) {
                    c.kladrCode = klRegion + "00000000";
                }

                //Корректировка и проверка СНИЛС
                String msg = FormatChecker.checkSNILS(c.snils);
                if (msg != null) {
                    String snils = "";

                    for (int j = 0; j < c.snils.length(); j++) {
                        char charAt = c.snils.charAt(j);
                        if ((charAt >= '0') && (charAt <= '9')) {
                            snils = snils + charAt;
                        }
                    }

                    if (snils.length() == 11) {
                        c.snils = snils.substring(0,3) + "-" + snils.substring(3, 6) + "-"
                                + snils.substring(6, 9) + " " + snils.substring(9, 11);
                        msg = FormatChecker.checkSNILS(c.snils);
                    }
                    if (msg != null) {
                        System.out.println("Неверное поле SNILS в файле" + dbf.getName() + " lnum=(" + c.lnumber + ")");
                        out.println("Предупреждение : Неверное поле SNILS в файле" + dbf.getName() + " lnum=(" + c.lnumber + ")");
                        c.snils = "";
                    }
                }

                String rw = fields.get(Col.REG_WRACH).get().trim();
                if (rw.isEmpty()) {
                    c.regWrach = 0;
                } else {
                    c.regWrach = Integer.parseInt(rw);
                }

                Calendar data = ((DateField)fields.get(Col.DATA)).getCalendar();
                data.set(Calendar.HOUR_OF_DAY, 0);
                data.set(Calendar.MINUTE, 0);
                data.set(Calendar.SECOND, 0);
                data.set(Calendar.MILLISECOND, 0);
                c.data = data.getTime();

                if (!c.isValid()) {
                    throw new ClipsException("Неполные данные пациента " + dbf.getName() + " lnum=(" + c.lnumber + ")");
                }
                clientChunks.add(c);

            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            } catch (NumberFormatException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            }
            counter ++;
        }
        closeDBF(dbf);
        clientChunks = compressChunks(clientChunks, whiteList);
View Full Code Here

            } else {
                if (whiteList.contains(chunk.lnumber)) {
                    if (!whiteList.contains(oldChunk.lnumber)) {
                        target.put(cu, chunk);
                    } else {
                        throw new ClipsException("Оба пациента участвуют в статталонах " +
                                " lnumber = " + oldChunk.lnumber +
                                ", lnumber = " + chunk.lnumber);
                    }
                }
            }
View Full Code Here

                System.out.print("Ошибка : Импорт пациента не удался KADR.DBF lnum=(" + c.lnumber + ") \n" + MessageBox.parseException(ex));
                System.out.println("lnumber = " + c.lnumber);
                out.print("Ошибка : Импорт пациента не удался KADR.DBF lnum=(" + c.lnumber + ") \n" + MessageBox.parseException(ex));
                out.println("lnumber = " + c.lnumber);
                if (errorCount >= i/2 && errorCount > 10) {
                    throw new ClipsException("Обновление не удалось");
                }
            }
        }

    }
View Full Code Here

        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());
        //Добавление сопутствующих диагнозов
        for (int i = 0; i < fullDiagnosisList.size(); i++) {
            DiagnosisLocal dl = fullDiagnosisList.get(i);
View Full Code Here

            for (int i = 0; i < Col.values().length; i++) {
                Col col = Col.values()[i];
                fields.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        int recordCount = dbf.getRecordCount();

        System.out.println("Загрузка фамилий, имен, отчеств и профессий");
        out.println("Загрузка фамилий, имен, отчеств и профессий");
        HashSet<String> famList = new HashSet<String>(recordCount);
        HashSet<String> namList = new HashSet<String>(recordCount);
        HashSet<String> patronList = new HashSet<String>(recordCount);
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                famList.add(Converter.firstUpper(fields.get(Col.FAM).get().trim(), true));
                namList.add(Converter.firstUpper(fields.get(Col.IM).get().trim(), true));
                patronList.add(Converter.firstUpper(fields.get(Col.OT).get().trim(), true));
            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            }
        }
        bean.get().updateSurnames(famList);
        dirSurname = DirectoryLocator.getDirectory(DirectorySurname.class, true);
        System.out.println("Фамилии загружены");
        out.println("Фамилии загружены");
        bean.get().updateNames(namList);
        dirName = DirectoryLocator.getDirectory(DirectoryName.class, true);
        System.out.println("Имена загружены");
        out.println("Имена загружены");
        bean.get().updatePatrons(patronList);
        dirPathron = DirectoryLocator.getDirectory(DirectoryPathron.class, true);
        System.out.println("Отчества загружены");
        out.println("Отчества загружены");

        dirDocumentType = DirectoryLocator.getDirectory(DirectoryDocumentType.class, true);
        dirExemption = DirectoryLocator.getDirectory(DirectoryExcemption.class, true);

        try {
            dbf.startTop();
        } catch (IOException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }

        int counter = 0;
        GregorianCalendar gc1 = new GregorianCalendar();
        ArrayList<FacilityClientDetails> clientList = new ArrayList<FacilityClientDetails>(recordCount);

        HashMap<String, Integer> snilsMap = new HashMap<String, Integer>();

        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                if ((counter%500) == 0) {
                    try {
                        UserInfo.get().disturbServer();
                    } catch (Throwable ex) {
                        //пофиг
                    }
                }
                if ((i%1000) == 0) {
                    System.out.println("Обновление льготников: " +  i/((float)recordCount)*100 + "% (" + i + ") запись");
                    GregorianCalendar gc2 = new GregorianCalendar();
                    long mc = gc2.getTimeInMillis() - gc1.getTimeInMillis();
                    System.out.println("Work time: " + mc + " ms");
                }
                if (dbf.deleted()) {
                    continue;
                }

                FacilityClientDetails c = new FacilityClientDetails();

                //код изменения
                int uType = 0;
                try {
                    uType = Integer.parseInt(fields.get(Col.U_TYPE).get().trim());
                    if (uType < 0 || uType > 3) {
                        throw new NumberFormatException();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : код изменения некорректен " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : код изменения некорректен " + dbf.getName() + " snils=(" + c.snils + ")");
                    uType = 0;
                }

                String snils = fields.get(Col.SS).get().trim();
                if (snilsMap.containsKey(snils)) {
                    throw new ClipsException("Повторяющийся СНИЛС " + dbf.getName() + " snils=(" + snils + ")" + " строка=" + i);
                }
                snilsMap.put(snils, uType);

                c.snils = snils;
                c.uType = uType;
                c.polisSN = fields.get(Col.SN_POL).get().trim();
                c.surnameId = dirSurname.getItemFromTitle(Converter.firstUpper(fields.get(Col.FAM).get().trim(), true)).getID();
                c.nameId = dirName.getItemFromTitle(Converter.firstUpper(fields.get(Col.IM).get().trim(), true)).getID();
                c.pathronId = dirPathron.getItemFromTitle(Converter.firstUpper(fields.get(Col.OT).get().trim(), true)).getID();

                //пол льготника
                String sex = fields.get(Col.W).get().trim();
                if (sex.toUpperCase().equals("М")) {
                    c.sexId = Sex.CLIENT_SEX_MALE;
                } else if (sex.toUpperCase().equals("Ж")) {
                    c.sexId = Sex.CLIENT_SEX_FEMALE;
                } else {
                    System.out.println("У пациента неопределен пол. " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : У пациента неопределен пол. " + dbf.getName() + " snils=(" + c.snils + ")");
                    c.sexId = Sex.CLIENT_SEX_MALE;
                    String fam = fields.get(Col.FAM).get().trim();
                    if (fam.endsWith("а")) {
                        c.sexId = Sex.CLIENT_SEX_FEMALE;
                    } else {
                        String nam = fields.get(Col.IM).get().trim();
                        if (nam.endsWith("а") || nam.endsWith("я")) {
                            c.sexId = Sex.CLIENT_SEX_FEMALE;
                        }
                    }
                    out.println("Пол выставлен : " + (c.sexId == Sex.CLIENT_SEX_MALE ? "Муж." : "Жен."));
                }

                //дата рождения
                c.bornDate = null;
                try {
                    Calendar bornDate = ((DateField)fields.get(Col.DR)).getCalendar();
                    if (Comparator.dataEqual(nullDate, bornDate.getTime())) {
                        c.bornDate = null;
                    }
                    else {
                        c.bornDate = bornDate.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата рождения пациента некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : Дата рождения пациента некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                }

                //документ, удостоверяющий личность
                DirectorySimpleItem doctype = dirDocumentType.getItemFromExtKey(fields.get(Col.C_DOC).get().trim());
                if (doctype == null) {
                    c.docTypeId = 0;
                    System.out.println("Предупреждение : не найден тип документа " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : не найден тип документа " + dbf.getName() + " snils=(" + c.snils + ")");
                }
                else {
                    c.docTypeId = doctype.getID();
                }
                c.docSN = fields.get(Col.SN_DOC).get().trim();

                //адрес, регистрация
                c.address = fields.get(Col.ADRES).get().trim();
                c.building = fields.get(Col.DOM).get().trim();
                c.corpus = fields.get(Col.KOR).get().trim();
                c.flat = fields.get(Col.KV).get().trim();
                c.okatoReg = fields.get(Col.OKATO_REG).get().trim();

                //льготность
                Integer flag = null;
                try {
                    flag = Integer.parseInt(fields.get(Col.S_EDV).get().trim());
                    if (flag < 0 || flag > 1) {
                        throw new NumberFormatException();
                    }
                } catch (NumberFormatException ex) {
                    flag = null;
                    System.out.println("Предупреждение : признак получения НСУ некорректен " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : признак получения НСУ некорректен " + dbf.getName() + " snils=(" + c.snils + ")");
                }
                c.flagNSU = flag;
                c.nsuBegin = null;
                try {
                    Calendar nsuBegin = ((DateField)fields.get(Col.DB_EDV)).getCalendar();
                    if (Comparator.dataEqual(nullDate, nsuBegin.getTime())) {
                        c.nsuBegin = null;
                    }
                    else {
                        c.nsuBegin = nsuBegin.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата начала действия права на получение НСУ некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : Дата начала действия права на получение НСУ некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                }
                c.nsuEnd = null;
                try {
                    Calendar nsuEnd = ((DateField)fields.get(Col.DE_EDV)).getCalendar();
                    if (Comparator.dataEqual(nullDate, nsuEnd.getTime())) {
                        c.nsuEnd = null;
                    }
                    else {
                        c.nsuEnd = nsuEnd.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата окончания действия права на получение НСУ некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : Дата окончания действия права на получение НСУ некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                }
                DirectorySimpleItem exemp1 = dirExemption.getItemFromExtKey(fields.get(Col.C_KAT1).get().trim());
                if (exemp1 == null) {
                    c.exemp1Id = 0;
                }
                else {
                    c.exemp1Id = exemp1.getID();
                }
                DirectorySimpleItem exemp2 = dirExemption.getItemFromExtKey(fields.get(Col.C_KAT2).get().trim());
                if (exemp2 == null) {
                    c.exemp2Id = 0;
                }
                else {
                    c.exemp2Id = exemp2.getID();
                }

                if (c.exemp1Id == 0 && c.exemp2Id == 0) {
                    System.out.println("Предупреждение : не найдена категория льготности " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : не найдена категория льготности " + dbf.getName() + " snils=(" + c.snils + ")");
                }
                else if (c.exemp1Id != 0 && c.exemp2Id != 0) {
                    System.out.println("Предупреждение : указаны две категории льготности " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : указаны две категории льготности " + dbf.getName() + " snils=(" + c.snils + ")");
                }

                //даты включения в регистр и исключения из регистра
                c.regBegin = null;
                try {
                    Calendar regBegin = ((DateField)fields.get(Col.DATE_RSB)).getCalendar();
                    if (Comparator.dataEqual(nullDate, regBegin.getTime())) {
                        c.regBegin = null;
                    }
                    else {
                        c.regBegin = regBegin.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата включения в региональный Регистр некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : Дата включения в региональный Регистр некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                }
                c.regEnd = null;
                try {
                    Calendar regEnd = ((DateField)fields.get(Col.DATE_RSE)).getCalendar();
                    if (Comparator.dataEqual(nullDate, regEnd.getTime())) {
                        c.regEnd = null;
                    }
                    else {
                        c.regEnd = regEnd.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата исключения из регионального Регистра некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                    out.println("Предупреждение : Дата исключения из регионального Регистра некорректна " + dbf.getName() + " snils=(" + c.snils + ")");
                }

                //признак "особый случай"
                c.dType = fields.get(Col.D_TYPE).get().trim();

                c.c_reg = fields.get(Col.C_REG).get().trim();

                clientList.add(c);
            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            }
        }
        closeDBF(dbf);
        GregorianCalendar gc2 = new GregorianCalendar();
        long mc = gc2.getTimeInMillis() - gc1.getTimeInMillis();
        System.out.println("Закончилось чтение льготников из файла. Work time: " + mc + " ms");
        out.println("Закончилось чтение льготников из файла. Work time: " + mc + " ms");

       
        File fileDoc = new File(cfg.getLastDBFImportPath(), "C_REGL.DBF");
        DBF dbfDoc = createDBF(fileDoc);
        HashMap<ColDoc, Field> docFields = new HashMap<ColDoc, Field>();
        try {
            for (int i = 0; i < ColDoc.values().length; i++) {
                ColDoc col = ColDoc.values()[i];
                docFields.put(col, dbfDoc.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbfDoc.getName(), ex);
        }
        recordCount = dbfDoc.getRecordCount();

        gc1 = new GregorianCalendar();
        ArrayList<FacilityDocumentDetails> docList = new ArrayList<FacilityDocumentDetails>(recordCount);

        Set<String> snilsSet = new HashSet<String>();

        for (int i = 0; i < recordCount; i++) {
            try {
                dbfDoc.read();
                if ((counter%500) == 0) {
                    try {
                        UserInfo.get().disturbServer();
                    } catch (Throwable ex) {
                        //пофиг
                    }
                }
                if ((i%1000) == 0) {
                    System.out.println("Обновление данных о документах льготности : " +  i/((float)recordCount)*100 + "% (" + i + ") запись");
                    gc2 = new GregorianCalendar();
                    mc = gc2.getTimeInMillis() - gc1.getTimeInMillis();
                    System.out.println("Work time: " + mc + " ms");
                }
                if (dbfDoc.deleted()) {
                    continue;
                }
                FacilityDocumentDetails d = new FacilityDocumentDetails();

                String snils = docFields.get(ColDoc.SS).get().trim();

                Integer uType = snilsMap.get(snils);
                if (snilsSet.contains(snils) && uType != null && uType != FacilityClient.CHANGES_IN_INFO) {
                    throw new ClipsException("Повторяющийся СНИЛС " + dbfDoc.getName() + " snils=(" + snils + ")" + " строка=" + i);
                }
                snilsSet.add(snils);
               
                d.snils = snils;

                DirectorySimpleItem exemp = dirExemption.getItemFromExtKey(docFields.get(ColDoc.C_KAT).get().trim());
                if (exemp == null) {
                    d.exempId = 0;
                    System.out.println("Предупреждение : не найден тип льготности " + dbfDoc.getName() + " snils=(" + d.snils + ")");
                    out.println("Предупреждение : не найден тип льготности " + dbfDoc.getName() + " snils=(" + d.snils + ")");
                }
                else {
                    d.exempId = exemp.getID();
                }
                d.docType = docFields.get(ColDoc.NAME_DL).get().trim();
                d.docSN = docFields.get(ColDoc.SN_DL).get().trim();

                d.gspBegin = null;
                try {
                    Calendar nsuBegin = ((DateField)docFields.get(ColDoc.DATE_BL)).getCalendar();
                    if (Comparator.dataEqual(nullDate, nsuBegin.getTime())) {
                        d.gspBegin = null;
                    }
                    else {
                        d.gspBegin = nsuBegin.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата начала действия права на ГСП некорректна " + dbfDoc.getName() + " snils=(" + d.snils + ")");
                    out.println("Предупреждение : Дата начала действия права на ГСП некорректна " + dbfDoc.getName() + " snils=(" + d.snils + ")");
                }

                d.gspEnd = null;
                try {
                    Calendar nsuEnd = ((DateField)docFields.get(ColDoc.DATE_EL)).getCalendar();
                    if (Comparator.dataEqual(nullDate, nsuEnd.getTime())) {
                        d.gspEnd = null;
                    }
                    else {
                        d.gspEnd = nsuEnd.getTime();
                    }
                } catch (NumberFormatException ex) {
                    System.out.println("Предупреждение : Дата окончания действия права на ГСП некорректна " + dbfDoc.getName() + " snils=(" + d.snils + ")");
                    out.println("Предупреждение : Дата окончания действия права на ГСП некорректна " + dbfDoc.getName() + " snils=(" + d.snils + ")");
                }


                docList.add(d);
            } catch (IOException ex) {
                closeDBF(dbfDoc);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfDoc.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbfDoc);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbfDoc.getName() + " (строка " + i + ")", ex);
            }
        }
        closeDBF(dbfDoc);
        gc2 = new GregorianCalendar();
        mc = gc2.getTimeInMillis() - gc1.getTimeInMillis();
        System.out.println("Закончилось чтение данных о документах о льготности из файла. Work time: " + mc + " ms");
        out.println("Закончилось чтение данных о документах о льготности из файла. Work time: " + mc + " ms");
        System.out.println("---------------------------------------------------");
        out.println("---------------------------------------------------");
        try {
            bean.get().updateFacilityClients(clientList, docList);
        } catch (ClipsServerException ex) {
            throw new ClipsException("Ошибка при записи в базу списка льготников", ex);
        }
    }
View Full Code Here

            for (int i = 0; i < Col.values().length; i++) {
                Col col = Col.values()[i];
                fields.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }

        //мап существующих итемов по внешнему ключу //потом будет списком на удаление
        HashMap<Integer, DirectoryDloDrugSectionItem> presentItems =
                new HashMap<Integer, DirectoryDloDrugSectionItem>();
        //мап существующих итемов для изменения Тайтла
        HashMap<DirectoryDloDrugSectionItem, String> changeList =
                new HashMap<DirectoryDloDrugSectionItem, String>();
        //список итемов для добавления
        ArrayList<DirectoryDloDrugSectionItem> addList =
                new ArrayList<DirectoryDloDrugSectionItem>();

        ROList<DirectoryDloDrugSectionItem> itemsList = dir.getItemsList();

        for (int i = 0; i < itemsList.size(); i++) {
            DirectoryDloDrugSectionItem item = itemsList.get(i);
            if (item.getID() != 0 && item.getCode() != 0) {
                presentItems.put(item.getCode(), item);
            }
        }

        int recordCount = dbf.getRecordCount();
        for (int c = 0; c < recordCount; c++) {
            try {
                if ((c%500) == 0) {
                    System.out.println("Обновление разделов перечня ЛС выполнено " + (c+1)/((float)recordCount)*100 + "%");
                    out.println("Обновление разделов перечня ЛС выполнено " + (c+1)/((float)recordCount)*100 + "%");
                }
                dbf.read();
                int code = Integer.parseInt(fields.get(Col.C_RLP).get().trim());
                int number = Integer.parseInt(fields.get(Col.N_RAZD).get().trim());
                String title = fields.get(Col.NAME_PRAZD).get().trim();
                String p_number = fields.get(Col.N_PRAZD).get().trim();
                String p_title = fields.get(Col.NAME_PRAZD).get().trim();

                DirectoryDloDrugSectionItem pItem = presentItems.get(code);
                if (pItem != null) {
                    if (!pItem.getTitle().equals(title)) {
                        changeList.put(pItem, title);
                    }
                    presentItems.remove(code);
                } else {
                    //Создать новый
                    DloDrugSectionDetails details = new DloDrugSectionDetails();
                    details.code = code;
                    details.number = number;
                    details.title = title;
                    details.subNumber = p_number;
                    details.subTitle = p_title;

                    DirectoryDloDrugSectionItem newItem = new DirectoryDloDrugSectionItem(details);
                    addList.add(newItem);
                }
               
            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " строка + " + c, ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " строка + " + c, ex);
            }
        }
        closeDBF(dbf);
        //Удаление (а может пассивация решает бин)
        for (DirectoryDloDrugSectionItem item : presentItems.values()) {
View Full Code Here

  public static void initReportSubsystem(){
    try {
      ReportBaseConstant.initReportsFonts();
    }
    catch (IOException ex) {
      MessageBox.showException(new ClipsException("Ошибка при загрузке шрифтов отчета",ex));
    }
  }
View Full Code Here

            for (int i = 0; i < Col.values().length; i++) {
                Col col = Col.values()[i];
                fields.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }

        int recordCount = dbf.getRecordCount();

        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                String ogrn = fields.get(Col.C_OGRN).get().trim();
                String tfLpuCode = fields.get(Col.MCOD).get().trim();
                if (ogrn.equals(lpuOGRN) && tfLpuCode.equals(lpuCode)) {
                    String collCode = fields.get(Col.PCOD).get().trim();
                    DirectoryCollaboratorItem coll = collMap.get(collCode);
                    if (coll != null) {
                        CollaboratorLocal collab = new CollaboratorLocal(coll.getID(), null);//NULL AL
                        Date begin;
                        String begStr = fields.get(Col.DATE_B).get().trim();
                        if (begStr.isEmpty()) {
                            begin = null;
                        }
                        else {
                            begin = ((DateField)fields.get(Col.DATE_B)).getCalendar().getTime();
                        }
                        Date end;
                        String endStr = fields.get(Col.DATE_E).get().trim();
                        if (endStr.isEmpty()) {
                            end = null;
                        }
                        else {
                            end = ((DateField)fields.get(Col.DATE_E)).getCalendar().getTime();
                        }
                        Date cur = TimeLocal.getCurrentTime().getTime();
                        if ((begin != null && begin.before(cur))
                                && (end != null && end.after(cur) || end == null || Comparator.dataEqual(end, nullDate))) {
                            collab.setDlo(true);
                            collab.save1();
                        }
                        else {
                            if (collab.isDlo()) {
                                collab.setDlo(false);
                                collab.save1();
                            }
                        }
                       
                    }
                }
            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + i + ")", ex);
            }
        }
    }
View Full Code Here

TOP

Related Classes of cli_fmw.main.ClipsException

Copyright © 2018 www.massapicom. 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.