Package framework.generic

Examples of framework.generic.ClipsServerException


        checkRights(details.begin);
        //создание или обновление
        if(details.id != 0) {
            SheduleIndividualWork entity = findEntity(SheduleIndividualWork.class, details.id);
            if(entity.getCollaborator().getId() != details.collID) {
                throw new ClipsServerException("Нельзя изменять сотрудника");
            }
            int one = isPlanned(details.begin) ? 1:0;
            int two = isPlanned(entity.getTimeBegin()) ? 1:0;
            if(one + two == 1) {
                throw new ClipsServerException("Перенос через дату 01.01.2008 запрещен");
            }
            //если исключительная работа, запретить изменение прошедших работ
            if(one == 0) {
                checkIsNotInThePast(details.begin);
            }
View Full Code Here


        }
        if(msg == null) {
            msg = FormatChecker.checkSNILS(d.snils);
        }
        if(msg != null) {
            throw new ClipsServerException(msg);
        }
       
        try {
            FormatChecker.checkINN(d.inn);
        } catch (ParseException ex) {
            throw new ClipsServerException("Некорректный код ИНН", ex);
        }

        if (d.representativeId != 0 && d.representativeStatusId == 0) {
            throw new ClipsServerException("При указании представителя необходимо указать его статус");
        }

        entity.setSurname(d.surnameId == 0 ? null : findEntity(Surname.class, d.surnameId));
        entity.setName(d.nameId == 0 ? null : findEntity(Name.class, d.nameId));
        entity.setPathronymic(d.pathronId == 0 ? null : findEntity(Patronymic.class, d.pathronId));
View Full Code Here

        ClientDetails d = (ClientDetails)details;
        if (d.numberEmc != null && !d.numberEmc.isEmpty() && !d.noCheckEmcNum) {
            int entityCount = getEntityCount(Emc.class, new Field[]{new Field("number", d.numberEmc),
                                                                    new Field("client", entity, Field.OPERATOR_NOT_EQUAL)});
            if (entityCount > 0) {
                throw new ClipsServerException("Уже существует ЭМК с данным номером");
            }
        }
        emc.setNumber(d.numberEmc);
       
        saveEntity(emc);
View Full Code Here

        List list = q.getResultList();
       
        if (list.size() == 0) {
            return null;
        } else if (list.size() > 1) {
            throw new ClipsServerException("Найдено " + list.size() + " полисов в действующем договоре ОМС");
        } else {
            return (Polis) list.get(0);
        }
    }
View Full Code Here

    @Override
    public int getDefaultDistrict(int streetID, String buildingNumberString) throws ClipsServerException{
        AddressObject object = findEntity(AddressObject.class, streetID);
        if (object.getType().getLevel() != 5) {
            throw new ClipsServerException("Поиск возможен только по улице");
        }
        List<AddressDistrict> adList = findEntityList(AddressDistrict.class, "addressObject", object);
        for (AddressDistrict ad : adList) {
            if (include(ad, buildingNumberString)) {
                return ad.getDistrict().getId();
View Full Code Here

        }
        while(list.hasNext()) {
           SheduleWeek swp = list.next();
           Integer dayIndex = swp.getDayIndex();
           if(dayIndex<0 || dayIndex>6) {
               throw new ClipsServerException("Некорректные данные о недельном расписании в БД");
           }
           if(result.get(dayIndex) != null) {
               manager.remove(swp);
           } else {
               TimeOffset shiftBegin = new TimeOffset(swp.getBegin());
View Full Code Here

            serviceRender = findEntity(ServiceRender.class, ((HasServiceRenderID)details).getServiceRenderID());
        } else if (details instanceof CheckupDicomDetails) {
            Checkup checkup = findEntity(Checkup.class,((CheckupDicomDetails)details).checkupID);
            serviceRender = checkup.getServiceRender();
        } else {
            throw new ClipsServerException("Медицинские данные не относятся к услуге");
        }
        initBeanRights();
        if (isSuperUser()) {
            return;
        }
View Full Code Here

            throw new ESecurity(SecurityChecker.getClientHasNoRightMsg(UserRightsSet.WRITE_STATISTIC_MEDICAL_DATA.id));
        }

        //renderDate;     //дата оказания - нулл
        if (serrenDetails.renderDate != null) {
            throw new ClipsServerException("Нельзя создавать оказанную услугу");
        } else {
            serren.setRenderedDate(null);
        }

        //discount;        //Скидка в процентах - пофиг, проверка не здесь
        serren.setDiscount(serrenDetails.discount);

        //cancelled;   //флаг отменена - false
        if (serrenDetails.cancelled == true) {
            throw new ClipsServerException("Нельзя создавать отмененную услугу");
        } else {
            serren.setCancelled(serrenDetails.cancelled);
        }

        //repeat;          //повторы услуги - 0
        if (serrenDetails.repeat != 0) {
            throw new ClipsServerException("Нельзя создавать услугу, оказанную повторно");
        } else {
            serren.setRepeat(serrenDetails.repeat);
        }

        //polisID;         // - != 0
        Polis polis;
        if (serrenDetails.polisID == 0) {
            throw new ClipsServerException("Нельзя создавать услугу без указания полиса");
        } else {
            polis = findEntity(Polis.class, serrenDetails.polisID);
            serren.setPolis(polis);
        }

        //collaboratorID;  // - 0
        if (serrenDetails.functionsID != 0) {
            throw new ClipsServerException("Нельзя создавать оказанную услугу");
        } else {
            serren.setFunctions(null);
        }

        //directorID;      // - если нет права создавать от другого имени, то только текущий сотрудник
        if (getCollaboratorId() == serrenDetails.directorID
                || hasRight(UserRightsSet.WRITE_STATISTIC_MEDICAL_DATA)) {
            Collaborator director = findEntity(Collaborator.class, serrenDetails.directorID);
            serren.setDirector(director);
        } else {
            throw new ESecurity(SecurityChecker.getClientHasNoRightMsg(UserRightsSet.WRITE_STATISTIC_MEDICAL_DATA.id));
        }

        //packetServiceID; // - пофиг
        if (serrenDetails.packetServiceID == 0) {
            serren.setPacketService(null);
        } else {
            serren.setPacketService(findEntity(PacketService.class, serrenDetails.packetServiceID));
        }

        //diseaseID;       // - пока пофиг TODO проверка соответствия пациента по полису и ЭМК
        if (serrenDetails.diseaseID == 0) {
            serren.setDisease(null);
        } else {
            Disease disease = findEntity(Disease.class, serrenDetails.diseaseID);
            if (serren.getPolis().getClient().getId() != disease.getEmc().getClient().getId()) {
                throw new EDataIntegrity("Ошибка в коде назначения услуги - полис не соответствует ЕМК");
            }
            serren.setDisease(disease);
        }

        //cardID;          // - пока пофиг TODO проверка соответствия пациента по карте и ЭМК
        if (serrenDetails.cardID == 0) {
            serren.setDiscountCard(null);
        } else {
            serren.setDiscountCard(findEntity(DiscountCard.class, serrenDetails.cardID));
        }

        Service service = findEntity(Service.class, serrenDetails.serviceID);

        //servPlaceID;     // - пофиг
        //нет, не пофиг
        //а если не указан то все равно пофиг
        //голосованием (вип ильшит петр) решили что пофиг (тем более нехорошо если данные корректируются бином)
        /*if (service.getReqType() != null) {
            if (service.getReqType().getId() == ReqType.TYPE_POLYCLINIC){
                serrenDetails.servPlaceID = ServicingPlace.SP_POLYCLINIC;
            }else if (service.getReqType().getId() == ReqType.TYPE_HOME){
                serrenDetails.servPlaceID = ServicingPlace.SP_HOME;
            }
        }*/

        if (serrenDetails.servPlaceID == 0) {
            serren.setPlace(null);
        } else {
            serren.setPlace(findEntity(ServicingPlace.class,serrenDetails.servPlaceID));
        }

        //referenced;      // - проверка возможности оказания данной услуги в рамках referenced
        if (serrenDetails.referencedID != 0) {
            ServiceRender referenced = findEntity(ServiceRender.class, serrenDetails.referencedID);
            Field[] f = new Field[]{
                new Field("pservice", referenced),
                new Field("cservice", service),
            };
            if (getEntityCount(ServiceToService.class, f) > 0) {
                serren.setReferenced(referenced);
            } else {
                throw new ClipsServerException("Данную услугу нельзя оказывать в рамках указанной");
            }
        } else {
            serren.setReferenced(null);
        }

        //serviceID;       // услуга - проверка наличия в договоре (учитывая референсед)
        //functionsID      //Проверить есть ли услуга с данным типом услуги в договоре
        //делается одновременно чтоб не делать 2 запроса
        String sql;
        CollaboratorFunctions functions = null;
        ReceptionType receptionType = null;
        if (serrenDetails.referencedID == 0) {
            if (serrenDetails.functionsID == 0) {
                sql = "SELECT count(a) FROM ServicePrice a WHERE " +
                        "a.contract=:contract " +
                        "AND a.service=:service ";
            } else {
                functions = findEntity(CollaboratorFunctions.class, serrenDetails.functionsID);
                receptionType = functions.getReceptionType();
                sql = "SELECT count(a) FROM ServicePrice a WHERE " +
                        "a.contract=:contract " +
                        "AND a.service=:service " +
                        "AND (a.receptionType IS NULL OR a.receptionType=:receptionType)";
            }
            Query q = manager.createQuery(sql);
            q.setParameter("contract", polis.getContract());
            q.setParameter("service", service);
            if (receptionType != null) {
                q.setParameter("receptionType", receptionType);
            }

            long c = (Long) q.getSingleResult();
            if (c == 0) {
                if (serrenDetails.functionsID == 0) {
                    throw new ClipsServerException("Услуга отсутствует в контракте");
                } else {
                    throw new ClipsServerException("Данную услугу нельзя оказывать при данном типе приема");
                }
            }
            serren.setFunctions(functions);
            serren.setService(service);
        } else {
View Full Code Here

      for (int i = 0; i < data.size(); i++){
        lines.add(new HashMap<String, Object>(8));
      }
    }
    if (data.size() != lines.size()){
      throw new ClipsServerException("Ошибка алгоритма");
    }
    for (int i = 0; i < lines.size(); i++) {
      Map<String, Object> map = lines.get(i);
      map.put(name, data.get(i));
    }
View Full Code Here

   
    @Override
    protected void onRemove(Matter matter) throws ClipsServerException {
        int size = findEntityList(Vidal.class, "key.matter", matter.getId()).size();
        if (size > 0) {
            throw new ClipsServerException("Действующее вещество не может быть удалено,\n" +
                    "т.к. имеются лекарства содержащие его");
        }
        if (getEntityCount(Contraindication.class, new Field[]{new Field("matter", matter)}) > 0) {
            throw new ClipsServerException("Действующее вещество не может быть удалено,\n" +
                    "т.к. против него имеются противопоказания");
        }

    }
View Full Code Here

TOP

Related Classes of framework.generic.ClipsServerException

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.