Package framework.generic

Examples of framework.generic.EDataIntegrity


                    && findEntity(CollaboratorFunctions.class, d.functionsID).getCollaborator().getId() != getCollaboratorId()
                    && !hasRight(UserRightsSet.WRITE_STATISTIC_MEDICAL_DATA)) {
                throwNeedAdminSecurityException("У вас недостаточно прав, чтоб оказать услугу от имени другого пользователя");
            }
            if (d.functionsID != 0 && d.servPlaceID == 0) {
                throw new EDataIntegrity("При оказании услуги необходимо указывать место обслуживания");
            }
            if (d.functionsID != 0
                    && !DateTimeUtils.belongsToCurrentDay(d.renderDate)
                    && !hasRight(UserRightsSet.WRITE_STATISTIC_MEDICAL_DATA)) {
                throwNeedAdminSecurityException("У вас недостаточно прав, чтоб оказать услугу другой датой");
            }
            entity.setRenderedDate(d.functionsID == 0 ? null : d.renderDate);

            //Если в услуге указана специальность врача, которым должна быть оказана услуга,
            //то cf должен соответствовать
            if (entity.getSpeciality() != null) {
                if (entity.getSpeciality().getId() != cf.getSpeciality().getId()) {
                    throw new EDataIntegrity();
                }
            }
            entity.setFunctions(cf);
            if (d.functionsID != 0) {
                //при оказании услуги анализ убираем ее из расписания анализов
                Field fields[] = {
                    new Field("serviceRender", entity),
                };       
                List<Checkup> list = findEntityList(Checkup.class, fields);
                for (int i = 0; i < list.size(); i++) {
                    Checkup checkup = list.get(i);
                    checkup.setCheckupShedule(null);
                    manager.merge(checkup);
                }
            }
        }
    else {//услуга оказана
            if (d.renderDate == null && d.functionsID != 0) {//отмена оказания
                throwNeedAdminSecurityException("У вас недостаточно прав, чтоб отметить услугу как неоказанную");
                entity.setRenderedDate(null);
                entity.setFunctions(null);
            } else if (!entity.getRenderedDate().equals(d.renderDate)) {
                throwNeedAdminSecurityException("У вас недостаточно прав для смены даты оказания услуги");
                entity.setRenderedDate(d.renderDate);
            } else if (entity.getFunctions() != null && entity.getFunctions().getId() != d.functionsID) {
                throwNeedAdminSecurityException("У вас недостаточно прав для смены сотрудника, оказавшего услугу");
                entity.setFunctions(d.functionsID == 0 ? null : findEntity(CollaboratorFunctions.class, d.functionsID));
            }
        }

        if (d.uet == 0) {
            throw new ClipsServerException("Не указана условная единица трудоемкости\n" +
                    "(УЕТ = 1 для не стоматологических приемов)");
        }
        if (cf != null) {
            ReceptionType recType = cf.getReceptionType();
            String code = recType.getExtKey();
            if (!code.contains("29") && d.uet != ServiceRender.DEFAULT_UET) {
                throw new ClipsServerException("Для не стоматологического приема указан УЕТ отличный от единицы");
            }
        }
        entity.setUet(d.uet);
        entity.setReceived(d.received);

        entity.setDiscount(d.discount);
        entity.setDiscountCard(d.cardID == 0 ? null : findEntity(DiscountCard.class, d.cardID));
        entity.setCancelled(d.cancelled);
        entity.setRepeat(d.repeat);
        entity.setPacketService(d.packetServiceID == 0 ? null : findEntity(PacketService.class, d.packetServiceID));
        entity.setDisease(d.diseaseID == 0 ? null : findEntity(Disease.class, d.diseaseID));
        entity.setPolis(findEntity(Polis.class, d.polisID));
        entity.setService(findEntity(Service.class, d.serviceID));
        entity.setDirector(findEntity(Collaborator.class, d.directorID));
        entity.setPlace(d.servPlaceID == 0 ? null : findEntity(ServicingPlace.class, d.servPlaceID));
        entity.setFunctions(d.functionsID == 0 ? null : findEntity(CollaboratorFunctions.class, d.functionsID));

        ServiceRender ref = d.referencedID == 0 ? null : findEntity(ServiceRender.class, d.referencedID);
        if(ref != null
                &&ref.getDisease().getId() != entity.getDisease().getId()) {
            throw new EDataIntegrity("Связанные услуги должны быть в одном заболевании");
        }
       
        entity.setReferenced(ref);
    }
View Full Code Here


                "полис, тип услуги и дату направления на услугу, " +
                "можно только при создании новой услуги или администратору");
        }
        // дополнительные
        if (d.getId() != entity.getId()) {
            throw new EDataIntegrity("Внутренняя ошибка: Попытка присвоить сущности ServiceRender другой ID");
        }
        if (!(d.diseaseID == 0 ||
            findEntity(Disease.class, d.diseaseID).getEmc().getClient().getId() ==
            findEntity(Polis.class, d.polisID).getClient().getId())) {
            throw new EDataIntegrity("Внутренняя ошибка: Заболевание и полис связаны с различными пациентами");
        }
  }
View Full Code Here

        if (!isSuperUser() && entity.isRendered()){
            throwNeedAdminSecurityException("Нельзя удалить оказанную услугу");
        }
        if (entity.getPacketService() != null) {
            throw new  EDataIntegrity("Нельзя удалить услугу, состоящую в пакете услуг");
        }
    checkEntityNotRef(Followup.class, "serrenUp", "Нельзя удалить услугу, связанную с постановкой на диспансерный учет");
     checkEntityNotRef(Followup.class, "serrenDown", "Нельзя удалить услугу, связанную со снятием с диспансерного учета");
     checkEntityNotRef(SickLong.class, "serren", "Нельзя удалить услугу, связанную с открытием или продлением больничного листа");
     checkEntityNotRef(Sicklist.class, "serrenClosed", "Нельзя удалить услугу, связанную с закрытием больничного листа");

    String      msg = "Нельзя удалить услугу, если в её рамках существует %2$s";
    checkEntityNotRef(Prescription.class, "serviceRender", msg);
    checkEntityNotRef(Recommendation.class, "serviceRender", msg);
    checkEntityNotRef(Direction.class, "serviceRender", msg);
    checkEntityNotRef(Diagnosis.class, "serviceRender", msg);
    checkEntityNotRef(Contraindication.class, "serviceRender", msg);
    checkEntityNotRef(Prescription.class, "serviceRender", msg);

        int checkup = getEntityCount(Checkup.class, new Field[]{new Field("serviceRender.id", myId),
                new Field("checkupType.isAnalyse", false)
            });
    if (checkup != 0){
      throw new EDataIntegrity("Нельзя удалить услугу, если в её рамках записан осмотр, удалите сначала осмотр");
    }
        int nrAnalyse = getEntityCount(Checkup.class, new Field[]{new Field("serviceRender.id", myId),
                new Field("date", null, Field.OPERATOR_NOT_NULL),
                new Field("checkupType.isAnalyse", true)
            }, "");       
        if (nrAnalyse != 0){
      throw new EDataIntegrity("Нельзя удалить услугу, если в её рамках есть выполненный анализ, удалите сначала анализ");
    }
    checkEntityNotRef(ServiceRender.class, "referenced", "Есть услуги, привязанные к данной, удалите сначала их");
     }
View Full Code Here

            String s = "";
            for (int i = 0; i < serviceList.size(); i++) {
                Service service = (Service)serviceList.get(i);
                s += "\n" + service.getCodeAndTitle();
            }
            throw new EDataIntegrity("Удаление невозможно, с данным анализом связаны следующие услуги" + s);
        }
        //проверяем, есть ли связанные осмотры
        Field f2[] { new Field("checkupType", checkupType) };
        if(getEntityCount(Checkup.class, f2) > 0) {
            throw new EMoveToTrash("Существуют анализы и осмотры данного типа, удаление невозможно");
View Full Code Here

     * @throws generic.ClipsServerException
     */
    private void check(DirectoryItemDetails details) throws ClipsServerException {
        CheckupTypeDetails d = (CheckupTypeDetails) details;
        if(d.metadata == null || d.metadata.trim().isEmpty()) {
            throw new EDataIntegrity("Не задана форма данных");
        }
        checkXML(d.metadata);
    }
View Full Code Here

    }

    @Override
    public ArrayList<DangerServiceDetails> getServiceList(int dangerId) throws ClipsServerException {
        if(dangerId == 0) {
            throw new EDataIntegrity("Попытка получить услуги опасного фактора с ID=0");
        }
       
        Iterator list = findEntityList(DangerService.class, "danger.id", dangerId).iterator();
        ArrayList<DangerServiceDetails> res = new ArrayList<DangerServiceDetails>();
        while(list.hasNext()) {
View Full Code Here

    @Override
    public void removeService(DangerServiceDetails details) throws ClipsServerException {
        checkCommandAccessibility(COMMAND_WRITE);
       
        if(details.dangerId == 0) {
            throw new EDataIntegrity("Попытка удалить услугу опасному фактору с ID=0");
        }
       
        Field f[] = {
            new Field("danger.id", details.dangerId),
            new Field("service.id", details.serviceId),
View Full Code Here

    @Override
    public int addService(DangerServiceDetails details) throws ClipsServerException{
        checkCommandAccessibility(COMMAND_WRITE);
       
        if(details.dangerId == 0) {
            throw new EDataIntegrity("Попытка назначить услуги опасному фактору с ID=0");
        }
       
        DangerService dangerService = null;
        Field f[] = {
            new Field("danger.id", details.dangerId),
View Full Code Here

        Field f[] = { new Field("enterprise", entity) };
        Field f2[] = { new Field("organization", entity) };
        //проверяем, есть ли связанные направления
        int count = getEntityCount(Direction.class, f);
        if(count > 0) {
            throw new EDataIntegrity("Существуют направления (" + count
                    + " шт.), где указано удаляемое предприятие. Удаление невозможно");
        }
        //contracts
        count = getEntityCount(Contract.class, f);
        if(count > 0) {
            throw new EDataIntegrity("Существуют договора (" + count
                    + " шт.), где указано удаляемое предприятие, удаление невозможно");
        }    
        //sicklist
        count = getEntityCount(Sicklist.class, f);
        if(count > 0) {
            throw new EDataIntegrity("Существуют больничные листы (" + count
                    + " шт.), где указано удаляемое предприятие, удаление невозможно");
        }          
        count = getEntityCount(Sicklist.class, f2);
        if(count > 0) {
            throw new EDataIntegrity("Существуют больничные листы (" + count
                    + " шт.), где указано удаляемое предприятие, удаление невозможно");
        }       
        //job
        count = getEntityCount(Job.class, f);
        if(count > 0) {
            throw new EDataIntegrity("Существуют место работы пациентов (" + count
                    + " шт.), где указано удаляемое предприятие, удаление невозможно");
        }       
    }
View Full Code Here

     */
    private void check(DirectoryItemDetails details) throws ClipsServerException {
        CabinetDetails d = (CabinetDetails) details;
        if(d.description != null
                && d.description.length() > 250) {
                throw new EDataIntegrity("Задано слишком длинное описание");
        }
    }
View Full Code Here

TOP

Related Classes of framework.generic.EDataIntegrity

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.