Package cli_fmw.main

Examples of cli_fmw.main.ClipsException


            for (int i = 0; i < ColKadr.values().length; i++) {
                ColKadr col = ColKadr.values()[i];
                fieldsKadr.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        int recordCount = dbf.getRecordCount();
        DirectorySurname dirSurname = DirectoryLocator.getDirectory(DirectorySurname.class);
        DirectoryName dirName = DirectoryLocator.getDirectory(DirectoryName.class);
        DirectoryPathron dirPathron = DirectoryLocator.getDirectory(DirectoryPathron.class);
        DirectoryDisabilityType dirDisability = DirectoryLocator.getDirectory(DirectoryDisabilityType.class);
        ArrayList<LNumberChunk> lNumberChunkList = new ArrayList<LNumberChunk>(recordCount);
        HashSet<Integer> lnumSet = new HashSet<Integer>();
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                if (dbf.deleted()) {
                    continue;
                }
                LNumberChunk c = new LNumberChunk();
                c.lnumber = Integer.parseInt(fieldsKadr.get(ColKadr.LNUMBER).get().trim());
                if (lnumSet.contains(c.lnumber)) {
                    continue;
                } else {
                    lnumSet.add(c.lnumber);
                }


                c.famID = dirSurname.getItemFromTitle(Converter.firstUpper(fieldsKadr.get(ColKadr.FAMILY).get().trim(), true)).getID();
                c.nameID = dirName.getItemFromTitle(Converter.firstUpper(fieldsKadr.get(ColKadr.NAME).get().trim(), true)).getID();
                c.patronID = dirPathron.getItemFromTitle(Converter.firstUpper(fieldsKadr.get(ColKadr.FATHER).get().trim(), true)).getID();
                c.born = null;
                try {
                    Calendar bornDate = ((DateField)fieldsKadr.get(ColKadr.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.born = bornDate.getTime();
                } catch (NumberFormatException ex) {
                    //System.out.println("Ошибка при чтении даты рождения пациента " + dbf.getName() + " (строка " + i + ")");
                }
                lNumberChunkList.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);
            }
        }
        closeDBF(dbf);
        try {
            clientMap = updaterStattalonBean.get().getClientMap(lNumberChunkList);
        } catch (ClipsServerException ex) {
            throw new ClipsException("Не удалось загрузить пациентов", ex);
        }
        lNumberChunkList = null;
        lnumSet = null;
        System.gc();
        System.out.println("Пациенты прогружены");
        out.println("Пациенты прогружены");





        //Замаппируем статталоны (наши заболевания) по N_SYST
        file = new File(cfg.getLastDBFImportPath(), "stat_tal.dbf");
        dbf = createDBF(file);
        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, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        sstMap = new HashMap<Integer, SstData>();
        doubleSstMap = new HashMap<Integer, HashSet<SstData>>();
        int counterSst = 0;
        recordCount = dbf.getRecordCount();
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                if (dbf.deleted()) {
                    continue;
                }
                SstData d = new SstData();
                if (fieldsSst.get(ColSst.N_SYST).get().trim().isEmpty()) {
                    System.out.println("Ошибка : В статталоне отсутствует N_SYST " + dbf.getName());
                    out.println("Ошибка : В статталоне отсутствует N_SYST " + dbf.getName());
                    counterSst ++;
                    continue;

                }
                d.nSyst = Integer.parseInt(fieldsSst.get(ColSst.N_SYST).get().trim());
                if (fieldsSst.get(ColSst.LNUMBER).get().trim().isEmpty()) {
                    System.out.println("Ошибка : Отсутствует LNUMBER в статталоне N_SYST = " + d.nSyst + " "+ dbf.getName());
                    out.println("Ошибка : Отсутствует LNUMBER в статталоне N_SYST = " + d.nSyst + " "+ dbf.getName());
                    counterSst ++;
                    continue;
                }
                d.lnumber = Integer.parseInt(fieldsSst.get(ColSst.LNUMBER).get().trim());
                if (!clientMap.containsKey(d.lnumber)) {
                    //Возможно пофиксится потом, вызовом fixSstLnumber, там и будет вывод ошибки
                    //System.out.println("Ошибка : Неправильный LNUMBER в статталоне N_SYST = " + d.nSyst + " LNUMBER = " + d.lnumber + " "+ dbf.getName());
                    //out.println("Ошибка : Неправильный LNUMBER в статталоне N_SYST = " + d.nSyst + " LNUMBER = " + d.lnumber + " "+ dbf.getName());
                }

                d.bithdate = null;
                try {
                    Calendar cal = ((DateField)fieldsSst.get(ColSst.BITHDATE)).getCalendar();
                    d.bithdate = DateTimeUtils.getDateOnly(cal).getTime();
                } catch (NumberFormatException e) {
                    //Дата рождения в статталоне не указана
                }

                d.dataSt = null;
                try {
                    Calendar cal = ((DateField)fieldsSst.get(ColSst.DATA_ST)).getCalendar();
                    d.dataSt = DateTimeUtils.getDateOnly(cal).getTime();
                } catch (NumberFormatException ex) {
                    //оставляем нулл, потом скорректируется по посещению fixSstLnumber();
                }
                d.vmu = fieldsSst.get(ColSst.VMU).get().trim();
                d.purpose = fieldsSst.get(ColSst.CELX).get().trim();
                d.idWrach = Integer.parseInt(fieldsSst.get(ColSst.WRACH).get().trim());
                d.result = fieldsSst.get(ColSst.REZULT).get().trim();
                d.place = fieldsSst.get(ColSst.MESTO).get().trim();
                d.blBeg = null;
                try {
                    Calendar date = ((DateField)fieldsSst.get(ColSst.BL_D_BEG)).getCalendar();
                    date.set(Calendar.HOUR_OF_DAY, 0);
                    date.set(Calendar.MINUTE, 0);
                    date.set(Calendar.SECOND, 0);
                    date.set(Calendar.MILLISECOND, 0);
                    d.blBeg = date.getTime();
                } catch (NumberFormatException ex) {
                    //значение даты не удалось прочитать - оставляем нулл
                }
                d.blEnd = null;
                try {
                    Calendar date = ((DateField)fieldsSst.get(ColSst.BL_D_END)).getCalendar();
                    date.set(Calendar.HOUR_OF_DAY, 0);
                    date.set(Calendar.MINUTE, 0);
                    date.set(Calendar.SECOND, 0);
                    date.set(Calendar.MILLISECOND, 0);
                    d.blEnd = date.getTime();
                } catch (NumberFormatException ex) {
                    //значение даты не удалось прочитать - оставляем нулл
                }
                DirectoryDisabilityTypeItem disType = dirDisability.getItemFromExtKey(fieldsSst.get(ColSst.BL_PRICH).get().trim());
                d.blPrich = disType == null ? 0 : disType.getID();
                d.blAge = fieldsSst.get(ColSst.BL_UH_LET).get().trim();
                d.blSex = fieldsSst.get(ColSst.BL_UH_SEX).get().trim();
                d.stomMkb = fieldsSst.get(ColSst.STOM1).get().trim() + fieldsSst.get(ColSst.STOM2).get().trim();
                d.stomHarak = fieldsSst.get(ColSst.STOM_HARAK).get().trim();
                d.received = fieldsSst.get(ColSst.F12).get().trim().equals("9");
                d.data = null;
                try {
                    Calendar date = ((DateField)fieldsSst.get(ColSst.DATA)).getCalendar();
                    date.set(Calendar.HOUR_OF_DAY, 0);
                    date.set(Calendar.MINUTE, 0);
                    date.set(Calendar.SECOND, 0);
                    date.set(Calendar.MILLISECOND, 0);
                    d.data = date.getTime();
                } catch (NumberFormatException ex) {
                    System.out.println("Ошибка : Отсутствует дата закрытия в статталоне N_SYST = " + d.nSyst + " "+ dbf.getName());
                    out.println("Ошибка : Отсутствует дата закрытия в статталоне N_SYST = " + d.nSyst + " "+ dbf.getName());
                    counterSst ++;
                    continue;
                }

                if (sstMap.containsKey(d.nSyst)) {
                    //Дубликаты запихнем в отдельный мап дубликатов для дальнейшей корректировки
                    HashSet<SstData> set = doubleSstMap.get(d.nSyst);
                    if (set == null) {
                        set = new HashSet<SstData>();
                        doubleSstMap.put(d.nSyst, set);
                    }
                    set.add(sstMap.get(d.nSyst));
                    set.add(d);
                } else {
                    sstMap.put(d.nSyst, d);
                }
            } catch (IOException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + counterSst + ")", ex);
            } catch (xBaseJException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + counterSst + ")", ex);
            } catch (NumberFormatException ex) {
                closeDBF(dbf);
                throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName() + " (строка " + counterSst + ")", ex);
            }
            counterSst ++;
        }
        closeDBF(dbf);
        System.out.println("Статталоны прогружены");
        out.println("Статталоны прогружены");



        //Прогрузка посещений
        /*Посещения прогружаются и сасовываются в статталоны по совпадению N_SYST*/
        System.out.println("Прогрузка посещений");
        out.println("Прогрузка посещений");
        file = new File(cfg.getLastDBFImportPath(), "stat_dni.dbf");
        dbf = createDBF(file);
        HashMap<ColDni, Field> fieldsDni = new HashMap<ColDni, Field>();
        try {
            for (int i = 0; i < ColDni.values().length; i++) {
                ColDni col = ColDni.values()[i];
                fieldsDni.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        int counterDni = 0;
        recordCount = dbf.getRecordCount();
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                if (dbf.deleted()) {
                    continue;
                }
                DniData d = new DniData();
                if (fieldsDni.get(ColDni.N_SYST).get().trim().isEmpty()) {
                    System.out.println("Ошибка : В посещении отстутствует N_SYST, строка  " + counterDni + " "+ dbf.getName());
                    out.println("Ошибка : В посещении отстутствует N_SYST, строка  " + counterDni + " "+ dbf.getName());
                    counterDni ++;
                    continue;
                }
                Integer nSyst = Integer.parseInt(fieldsDni.get(ColDni.N_SYST).get().trim());
                SstData sst = sstMap.get(nSyst);
                if (sst == null) {
                    System.out.println("Ошибка : Для посещения не найден статталон, N_SYST = " + nSyst + " " + dbf.getName());
                    out.println("Ошибка : Для посещения не найден статталон, N_SYST = " + nSyst + " " + dbf.getName());
                    counterDni ++;
                    continue;
                }
                d.date = null;
                try {
                    Calendar date = ((DateField)fieldsDni.get(ColDni.DATA)).getCalendar();
                    d.date = DateTimeUtils.getDateOnly(date).getTime();
                } catch (NumberFormatException ex) {
                    System.out.println("Ошибка : Отсутствует дата посещения, N_SYST = " + nSyst + " " + dbf.getName());
                    out.println("Ошибка : Отсутствует дата посещения, N_SYST = " + nSyst + " " + dbf.getName());
                    counterDni ++;
                    continue;
                }
                d.mes = fieldsDni.get(ColDni.MES).get().trim();
                d.uet = fieldsDni.get(ColDni.UET).get().trim();
                if (d.mes.length() == 6){
                    //Нормальное посещение
                    d.uet = "1";
                } else if (!d.uet.isEmpty() && !d.uet.equals("0")) {
                    //Стоматологическое посещение
                    d.mes = "629000";
                    DsData ds = new DsData();
                    ds.nSyst = nSyst;
                    ds.lnumber = sst.lnumber;
                    ds.tip = "З";
                    ds.mkb = sst.stomMkb;
          ds.encounter = sst.stomHarak;
                    ds.trawma = "";
                    ds.dateReg = d.date;
                    d.dsDataList.add(ds);
                } else {
                    System.out.println("Ошибка : Неправильное поле MES, N_SYST = " + nSyst + " " + dbf.getName());
                    out.println("Ошибка : Неправильное поле MES, N_SYST = " + nSyst + " " + dbf.getName());
                    counterDni ++;
                    continue;
                }
                d.idWrach = Integer.parseInt(fieldsDni.get(ColDni.IDWRACH).get().trim());
                sst.dniList.add(d);
            } 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);
            }
            counterDni ++;
        }
        closeDBF(dbf);
        System.out.println("Посещения прогружены");
        out.println("Посещения прогружены");



        //
        /*ds это диагнозы, их надо закидывать в посещения, соответствующие по nsyst
         * причем диагноз надо закидывать в посещение обслуженное лечащим врачем ближайшее по дате
         * предусмотреть случаи чтобы в посещении не было двух заключительных диагнозов
         * */
        followMap = new HashMap<FollowUpKey, ArrayList<EventKey>>();
        file = new File(cfg.getLastDBFImportPath(), "stat_ds.dbf");
        dbf = createDBF(file);
        HashMap<ColDS, Field> fieldsDs = new HashMap<ColDS, Field>();
        try {
            for (int i = 0; i < ColDS.values().length; i++) {
                ColDS col = ColDS.values()[i];
                fieldsDs.put(col, dbf.getField(col.toString()));
            }
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }
        recordCount = dbf.getRecordCount();
        int counterDs = 0;
        for (int i = 0; i < recordCount; i++) {
            try {
                dbf.read();
                if (dbf.deleted()) {
                    continue;
                }
                DsData d = new DsData();
                if (fieldsDs.get(ColDS.N_SYST).get().trim().isEmpty()) {
                    System.out.println("Ошибка : В диагнозе отстутствует N_SYST, строка  " + counterDni + " "+ dbf.getName());
                    out.println("Ошибка : В диагнозе отстутствует N_SYST, строка  " + counterDni + " "+ dbf.getName());
                    counterDs ++;
                    continue;
                }
                d.nSyst = Integer.parseInt(fieldsDs.get(ColDS.N_SYST).get().trim());
                d.lnumber = Integer.parseInt(fieldsDs.get(ColDS.LNUMBER).get().trim());
                d.tip = fieldsDs.get(ColDS.TIP).get().trim();
                d.mkb = fieldsDs.get(ColDS.DIAG_1).get().trim() + fieldsDs.get(ColDS.DIAG_2).get().trim();
                d.encounter = fieldsDs.get(ColDS.HAR_OSN_DS).get().trim();
                String disp = fieldsDs.get(ColDS.DISP).get().trim();
                d.disp = 0;
                if (!disp.isEmpty()) {
                    d.disp = Integer.parseInt(disp);
                }
                String dispSn = fieldsDs.get(ColDS.DISP_SN).get().trim();
                if (!disp.isEmpty()) {
                    d.dispSn = Integer.parseInt(disp);
                }
                if (d.tip.equals("1") || d.tip.equals("2")) {
                    d.encounter = "2";
                }
                d.trawma = fieldsDs.get(ColDS.TRAWMA).get().trim();
                try {
                    Calendar date = ((DateField)fieldsDs.get(ColDS.DAT_REG)).getCalendar();
                    date.set(Calendar.HOUR_OF_DAY, 0);
                    date.set(Calendar.MINUTE, 0);
                    date.set(Calendar.SECOND, 0);
                    date.set(Calendar.MILLISECOND, 0);
                    d.dateReg = date.getTime();
                } catch (NumberFormatException ex) {
                    System.out.println("Ошибка : Отсутствует дата регистрации диагноза, N_SYST = " + d.nSyst + " " + dbf.getName());
                    out.println("Ошибка : Отсутствует дата регистрации диагноза, N_SYST = " + d.nSyst + " " + dbf.getName());
                    counterDs ++;
                    continue;
                }

                SstData sst = sstMap.get(d.nSyst);
                if (sst == null) {
                    System.out.println("Ошибка : Для диагноза не найден статталон, N_SYST = " + d.nSyst + " " + dbf.getName());
                    out.println("Ошибка : Для диагноза не найден статталон, N_SYST = " + d.nSyst + " " + dbf.getName());
                    counterDni ++;
                    continue;
                }
                if (sst.lnumber != d.lnumber) {
                    System.out.println("Ошибка : Статталон и диагноз указывают на разных пациентов, N_SYST = " + d.nSyst + " " + dbf.getName());
                    out.println("Ошибка : Статталон и диагноз указывают на разных пациентов, N_SYST = " + d.nSyst + " " + dbf.getName());
                    counterDs ++;
                    continue;
                }
                sst.dsList.add(d);
                //Если в диагнозе указана диспансеризация то включаем его в мап
                if (d.disp > 1) {
                    int emcID = sst.getTrueEmc(clientMap.get(sst.lnumber));
                    if (emcID != 0) {
                        FollowUpKey key = new FollowUpKey(emcID, d.mkb);
                        followMap.put(key, new ArrayList<EventKey>());
                    }
                }
            } 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);
            }
            counterDs ++;
        }
        closeDBF(dbf);
        System.out.println("Диагнозы прогружены");
View Full Code Here


   * @throws generic.ClipsException
   */
 
  void setReport(ReportLocal report) throws ClipsException{
    if (this.report != null && this.report != report) {
      throw new ClipsException("Обьект файл можно добавить только  к одному отчету");
    }
    this.report = report;
  }
View Full Code Here

        target.add(new ReportLocal(detal, am));
      }
      return target;
    } catch (Exception ex) {
      clearBean();
      throw new ClipsException("Ошибка при получении отчетов", ex);
    }
  }
View Full Code Here

                Class classByTag = CertTagFactory.getClassByTag(tagList.get(row));
                try {
                    Method method = classByTag.getMethod("getValue");
                    return method.getReturnType().getSimpleName();
                } catch (NoSuchMethodException ex) {
                    return new ErrorValue(new ClipsException("Ошибка в теге", ex));
                } catch (SecurityException ex) {
                    return new ErrorValue(new ClipsException("Ошибка в теге", ex));
                }
            }
            case COL_DESC:
                return CertTagFactory.getClassByTag(tagList.get(row)).getAnnotation(TagToClass.class).title();
            default:
View Full Code Here

        HashMap<String, Field> fields = new HashMap<String, Field>();
        try {
            fields.put("ID", dbf.getField("ID"));
            fields.put("CUTNAME", dbf.getField("CUTNAME"));
        } catch (xBaseJException ex) {
            throw new ClipsException("Ошибка при чтении данных из файла " + dbf.getName(), ex);
        }

        int recordCount = dbf.getRecordCount();
        for (int c = 0; c < recordCount; c++) {
            try {
                dbf.read();
                String extKey = fields.get("ID").get().trim();
                String cutName = fields.get("CUTNAME").get().trim();
                ArrayList<DirectoryKladrTypeItem> items = getItemsByShortTitle(cutName);
                if (items.size() != 0) {
                    for (DirectoryKladrTypeItem item : items) {
                        item.setExtKey(extKey);
                    }
                }

            } 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);

    }
View Full Code Here

    }// </editor-fold>//GEN-END:initComponents

private void btAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAddActionPerformed
    try {
        if (!UserInfo.get().check(UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY)) {
            throw new ClipsException(SecurityChecker.getClientHasNoRightMsg(UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY.id));
        }
        DlgNewCertificateType dlg = new DlgNewCertificateType(MainWindow.mainWindow);
        dlg.setVisible(true);
        if (dlg.getDlgResult() == ModalDialog.DLG_OK) {
            directory.getItems().append(dlg.getCertificateType());
View Full Code Here

                CertTag tag = null;
                try {
                    Constructor<? extends CertTag> constructor = classTag.getConstructor();
                    tag = constructor.newInstance();
                } catch (NoSuchMethodException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (SecurityException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (InstantiationException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (IllegalAccessException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (IllegalArgumentException ex) {
                    throw new ClipsException("Ошибка в теге справки", ex);
                } catch (InvocationTargetException ex) {
                    if (!(ex.getTargetException() instanceof ClipsException)) {
                        throw new ClipsException("Ошибка в теге справки", ex);
                    }
                }
                if (tag != null) {
                    //все нормально
                    modelResultList = new TableModelResultList(((AbstrMultiTag) tag).getAllItems());
View Full Code Here

                        + "\n\n" + msg));
            }
            return res;
        } catch (Exception ex) {
            clearBean();
            throw new ClipsException("Ошибка при получении запросов", ex);
        }
    }
View Full Code Here

    public void updateImpl() throws ClipsException {
        ContractFactoryLocal cfl = new ContractFactoryLocal(am);
        List<ContractLocal> contractList = cfl.findContractsOMIForUpdate();
        ContractLocal contract;
        if (contractList.size() == 0) {
            throw new ClipsException("Не найден текущий контракт ОМС");
        } else {
            //Найдено несколько контрактов
            DialogSelectContract dlg = new DialogSelectContract(MainWindow.mainWindow, contractList, am);
            dlg.setVisible(true);
            if (dlg.getDlgResult() == ModalDialog.DLG_OK) {
                contract = dlg.getSelectedContract();
            } else {
                return;
            }
        }

        HashSet<VisitPrice> visitPriceSet = new HashSet<VisitPrice>();

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

            int recordCount = dbfVisit.getRecordCount();
            for (int c = 0; c < recordCount; c++) {
                try {
                    dbfVisit.read();
                    String id = fieldsVisit.get(ColVisit.ID).get().trim();
                    String price = fieldsVisit.get(ColVisit.PRICE).get().trim();
                    visitPriceSet.add(new VisitPrice(id, price));
                    System.out.println(id + " " + price);
                } catch (IOException ex) {
                    closeDBF(dbfVisit);
                    throw new ClipsException("Ошибка при чтении данных из файла " + dbfVisit.getName(), ex);
                } catch (xBaseJException ex) {
                    closeDBF(dbfVisit);
                    throw new ClipsException("Ошибка при чтении данных из файла " + dbfVisit.getName(), ex);
                }
            }
            closeDBF(dbfVisit);
        }

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

            int recordCount = dbfUET.getRecordCount();
            for (int c = 0; c < recordCount; c++) {
                try {
                    dbfUET.read();
                    String id = fieldsUet.get(ColUet.LEVELMES).get().trim();
                    String price = fieldsUet.get(ColUet.PRICE).get().trim();
                    VisitPrice vp = new VisitPrice(id + "29000", price);
                    if (visitPriceSet.contains(vp)) {
                        visitPriceSet.remove(vp);
                    }
                    visitPriceSet.add(vp);
                    System.out.println(vp.getId() + " " + vp.getPrice());
                    vp = new VisitPrice(id + "29824", price);
                    if (visitPriceSet.contains(vp)) {
                        visitPriceSet.remove(vp);
                    }
                    visitPriceSet.add(vp);
                    System.out.println(vp.getId() + " " + vp.getPrice());
                    vp = new VisitPrice(id + "29825", price);
                    if (visitPriceSet.contains(vp)) {
                        visitPriceSet.remove(vp);
                    }
                    visitPriceSet.add(vp);
                    System.out.println(vp.getId() + " " + vp.getPrice());
                } catch (IOException ex) {
                    closeDBF(dbfUET);
                    throw new ClipsException("Ошибка при чтении данных из файла " + dbfUET.getName(), ex);
                } catch (xBaseJException ex) {
                    closeDBF(dbfUET);
                    throw new ClipsException("Ошибка при чтении данных из файла " + dbfUET.getName(), ex);
                }
            }
            closeDBF(dbfUET);
        }
View Full Code Here

    }

    @Override
    public void save1() throws ClipsException {
        if(isWrong()) {
            throw new ClipsException("Отчет не корректен и не может быть изменен");
        } else if(isDirty()) {
            try {
                Element root = getQuery().toXML();
                getDetails().query = Converter.xmlToString(new Document(root));
                super.save1();
                isDirtyQuery = false;
            } catch (ReportException ex) {
                throw new ClipsException("Отчет не некорректен", ex);
            }
        }
        //повторный вызов fireContentStateEvent нужен потому как кнопка не гаснет
        fireContentStateEvent();
    }
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.