Package beans.doctor

Examples of beans.doctor.PacketService


    public String getPacketTitle() throws ClipsServerException {
        List<ServiceRender> list = findEntityList(ServiceRender.class, "disease", getExistentEntity().getDisease());
        if (list.size() == 0) {
            return "Неизвестный медосмотр";
        } else {
            PacketService packet = list.get(0).getPacketService();
            if (packet == null) {
                return "Неизвестный медосмотр";
            }
            return packet.getPacketTemplate().getTitle();
        }
    }
View Full Code Here


            manager.remove(medSerrenResult);
            auditMSR.check(null);
            auditDocList.add(auditMSR);
        }

        PacketService serpac = entity.getPacketService();

        if (serpac != null) {
            //Убирание услуг из пакета
            query = manager.createQuery("SELECT s From ServiceRender s WHERE s.packetService.id = :pacserID ");
            query.setParameter("pacserID", entity.getPacketService().getId());
View Full Code Here

    public int getCalculatedDiscount() throws ClipsServerException {
        checkCommandAccessibility(COMMAND_READ);
        ServiceRender entity = getExistentEntity();

        DiscountCard discountCard = entity.getDiscountCard();
        PacketService packetService = entity.getPacketService();
        if (discountCard != null || packetService != null) {
            //по дисконтной карте или по пакету услуг
            int cardID = discountCard == null ? 0 : discountCard.getId();
            int packetID = packetService == null ? 0 : packetService.getPacketTemplate().getId();
            return CalcDiscount.calculateDiscount(manager, cardID, entity.getService().getId(), packetID);
        } else {
            return entity.getDiscount();
        }
    }
View Full Code Here

        ServiceRenderDetails d = (ServiceRenderDetails) getDetails();
        List<ServiceRenderDetails> res = new ArrayList<ServiceRenderDetails>();
        if (d.packetServiceID == 0) {
            return res;
        }
        PacketService ps = findEntity(PacketService.class, d.packetServiceID);
    return loadChildDetailsList(ps, ServiceRender.class, "packetService");
    }
View Full Code Here

                    cardDiscounts.put(checkupChunk.serviceID, CalcDiscount.calculateDiscount(manager, chunk.discountCardID, checkupChunk.serviceID, chunk.packetServiceTemplateID));
                }
            }
        }

        PacketService packetService = null;
        Medexam medexam = null;
        //если присутствует пакет
        if (chunk.packetServiceTemplateID != 0) {
            packetService = new PacketService();
            PacketTemplate packetTemplate = findEntity(PacketTemplate.class, chunk.packetServiceTemplateID);
            packetService.setPacketTemplate(packetTemplate);
            saveEntity(packetService);
            MedexamType medexamType = packetTemplate.getMedexamType();
            if (medexamType != null) {
                //не просто пакет, а медосмотр
                if (chunk.diseaseID != 0) {
                    throw new EDataIntegrity("Для медосмотра необходимо создать новое заболевание");
                }
                //создаем заболевание и медосмотр
                disease = new Disease();
                List<Emc> emcList = findEntityList(Emc.class, "client", polis.getClient());
                if (emcList.size() != 1) {
                    throw new EDataIntegrity("У пациента " + emcList.size() + " ЕМК");
                }
                disease.setEmc(emcList.get(0));
                Date current = new Date();
                disease.setCreated(current);
                disease.setDateReg(current);
                disease.setCollaborator(collaborator);
                manager.persist(disease);
                manager.flush();
                manager.refresh(disease);
                chunk.diseaseID = disease.getId();

                medexam = new Medexam();
                medexam.setDisease(disease);
                medexam.setMedexamType(medexamType);
                manager.persist(medexam);
            }
        }
        uniqMap = new HashMap<Integer, Set<Integer>>();
        for (int i = 0; i < chunk.serviceList.size(); i++) {
            ServiceCheckupChunk serviceCheckupChunk = chunk.serviceList.get(i);

            //Всё, собираем детали
            ServiceRenderDetails serrenDetails = new ServiceRenderDetails();
            Integer effectiveDiscount = chunk.forceDiscountMap.get(serviceCheckupChunk.serviceID);
            if (effectiveDiscount == null) {
                effectiveDiscount = cardDiscounts.get(serviceCheckupChunk.serviceID);
            }
            if (effectiveDiscount == null) {
                effectiveDiscount = new Integer(0);
            }

            /**
             * Костыль
             * По опасному фактору сюда приходят несколько чанков, в которых проставлен
             * ID одной и той же услуги (конкретно - посещение Профилактическое первичное амбулаторное),
             * для которой в таблице DangerService существует несколько записей с разными специальностями врачей
             * Проще говоря это услуги одного типа, а обслужить должны несколько специалистов
             * т.к в чанке нет информации о специальности приходится хитрым образом обеспечивать для
             * каждой услуги уникальную специальность
             */

            //Если по опасному фактору - то присутствует специальность врача
            int specID = 0;
            if (serviceCheckupChunk.dangerID != 0) {
                Field f[] = {
                    new Field("danger.id", serviceCheckupChunk.dangerID),
                    new Field("service.id", serviceCheckupChunk.serviceID),
                };
                List<DangerService> list = findEntityList(DangerService.class, f);
                if (list.size() == 0) {
                    throw new EDataIntegrity("В приказе 90 для вредного фактора не найдена услуга");
                } else if (list.size() == 1) {
                    Speciality spec = list.get(0).getSpeciality();
                    specID = spec == null ? 0 : spec.getId();
                } else {
                    specID = findUniqSpec(serviceCheckupChunk.serviceID, list);
                }
            }

//            ServiceRender serren = createNewSerren(serrenDetails);
            serrenDetails.serviceID = serviceCheckupChunk.serviceID;
            serrenDetails.cardID = chunk.discountCardID;
            serrenDetails.discount = effectiveDiscount;
            serrenDetails.diseaseID = chunk.diseaseID;
            serrenDetails.directorID = getCollaboratorId();
            serrenDetails.polisID = polis.getId();
            serrenDetails.date = new Date();
            serrenDetails.specialityID = specID;

            //Что с этим делать?
            serrenDetails.packetServiceID = packetService != null ? packetService.getId() : 0;
            SerrenMod sm = createNewSerren(serrenDetails);
            auditDetList.addAll(sm.info.getAudit());
            //Если это медосмотр то создаем результаты медосмотра
            if (medexam != null) {
                AuditDoc<MedSerrenResult> auditmsr = new AuditDoc<MedSerrenResult>(null, getCollaborator());
View Full Code Here

TOP

Related Classes of beans.doctor.PacketService

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.