Package beans.contract.entity

Examples of beans.contract.entity.ServicePrice


       
        List list = findEntityList(ServicePrice.class, "contract", entity);
        List<ServicePriceDetails> res = new ArrayList<ServicePriceDetails>();
        Iterator i = list.iterator();
        while (i.hasNext()) {
            ServicePrice j = (ServicePrice) i.next();
            res.add(j.getDetails((RightChecker) this));
        }
        return res;
    }
View Full Code Here


    @Override
    public ModificationInfo setService(ServicePriceDetails details) throws ClipsServerException {
        Contract entity = getExistentEntity();

        AuditDoc<ServicePrice> auditDoc;
        ServicePrice servicePrice = null;
        if (details.id != 0) {
            servicePrice = findEntity(ServicePrice.class, details.id);
            checkTheSame(servicePrice.getContract());
            if (servicePrice.getService().getId() != details.serviceID) {
                throw new EDataIntegrity("Зафиксирована попытка подмены данных");
            }
            int rtID = servicePrice.getReceptionType() == null ? 0 : servicePrice.getReceptionType().getId();
            if (rtID != details.receptionTypeID) {
                throw new EDataIntegrity("Зафиксирована попытка подмены данных");
            }
            checkModifyServicePrice(servicePrice, details);
            auditDoc = new AuditDoc<ServicePrice>(servicePrice, getCollaborator());
        } else {
            auditDoc = new AuditDoc<ServicePrice>(null, getCollaborator());
            servicePrice = new ServicePrice();
            checkModifyServicePrice(servicePrice, details);
            //Проверка - для посещений нельзя указывать тип приема нулл, а также типы приемов, не имеющие кодов
            // для остальных услуг тип приема должна быть нулл
            Service service = findEntity(Service.class, details.serviceID);
            if (service.getServiceGroup().getId() == ServiceGroup.SERVICE_GROUP_VISIT) {
                if (details.receptionTypeID == 0) {
                    throw new EDataIntegrity("При установке цены на посещение не указан тип приема");
                }
                ReceptionType rt = findEntity(ReceptionType.class, details.receptionTypeID);
                if (rt.getExtKey().trim().isEmpty()) {
                    throw new EDataIntegrity("При установке цены на посещение не указан тип приема");
                }
            } else {
                if (details.receptionTypeID != 0) {
                    throw new EDataIntegrity("При установке цены на услугу тип приема не должен быть указан");
                }
            }
            servicePrice.setService(findEntity(Service.class, details.serviceID));
            servicePrice.setContract(entity);
            servicePrice.setReceptionType(details.receptionTypeID == 0 ? null : findEntity(ReceptionType.class, details.receptionTypeID));
        }
        if (details.money > details.price) {
            throw new EDataIntegrity("Нельзя указывать оплату по договору больше общей стоимости услуги");
        }
        servicePrice.setMoney(details.money);
        servicePrice.setPrice(details.price);
        int id = saveEntity(servicePrice);
        auditDoc.check(servicePrice);
        return new ModificationInfo(id, persistAudit(auditDoc));
    }
View Full Code Here

     *          безопастности либо произошла ошибка     *
     */
    @Override
    public ModificationInfo removeService(int anID) throws ClipsServerException {
        checkEntityExist();
        ServicePrice servicePrice = findEntity(ServicePrice.class, anID);
        checkTheSame(servicePrice.getContract());
        checkModifyServicePrice(servicePrice, null);

        /*Проверка - если данная услуга содержится хоть в одном из шаблонов
         *пакетов услуг, входящих в данный договор, то удаление невозможно*/
        String sql = "SELECT a.packetServiceTemplate FROM PacketTemplateItem a WHERE a.service = :service " +
                     "AND (a.packetServiceTemplate.id IN (SELECT b.packetServiceTemplate.id FROM ContractPacket b WHERE b.contract = :contract))";
        Query q = manager.createQuery(sql);
        q.setParameter("service", servicePrice.getService());
        q.setParameter("contract", getExistentEntity());
        List foundedPST = q.getResultList();
        if (foundedPST.size() > 0) {
            String packets = "";
            for (int i = 0; i < foundedPST.size(); i++) {
View Full Code Here

        List<ServicePrice> svs = findEntityList(ServicePrice.class, "contract", src);
        CollaboratorAbstract collab = getCollaborator();
        for (ServicePrice b : svs) {
            AuditDoc<ServicePrice> auditDoc = new AuditDoc<ServicePrice>(null, collab);
            auditDocList.add(auditDoc);
            ServicePrice sv = ((ServicePrice) (b).clone());
            sv.setContract(dst);
            saveEntity(sv);
            //manager.persist(sv);
            auditDoc.check(sv);
        }
    }
View Full Code Here

                throw new EDataIntegrity("В базе отсутствует тип приема с кодом " + visit +
                        ". Обновите справочник типов приемов");
            }


            ServicePrice servicePrice = priceMap.get(visitPrice.getId());
            if (servicePrice == null) {
                ServicePriceDetails d = new ServicePriceDetails();
                d.serviceID = service.getId();
                d.receptionTypeID = receptionType.getId();
                d.price = price; //договорная стоимость услгуи
                d.money = price; //сумма денег оплачиваемая за услугу страховой команией
                ModificationInfo mi = setService(d);
                auditDetList.addAll(mi.getAudit());
            } else {
                ServicePriceDetails d = servicePrice.getDetails(this);
                d.price = price; //договорная стоимость услгуи
                d.money = price; //сумма денег оплачиваемая за услугу страховой команией
                ModificationInfo mi = setService(d);
                auditDetList.addAll(mi.getAudit());
                priceMap.remove(visitPrice.getId());
            }
        }

        for (Iterator<Entry<String, ServicePrice>> it = priceMap.entrySet().iterator(); it.hasNext();) {
            Entry<String, ServicePrice> entry = it.next();
            ServicePrice servicePrice = entry.getValue();
            AuditDoc<ServicePrice> auditSP = new AuditDoc<ServicePrice>(servicePrice, collab);
            removeEntity(servicePrice);
            auditSP.check(null);
            auditDetList.add(persistAudit(auditSP));
        }
View Full Code Here

            throw new ClipsServerException("Не найдены цены на услугу в договоре");
        }
        if (servicePriceList.size() > 1) {
            throw new ClipsServerException("Найдены различные цены на услугу в договоре");
        }
        ServicePrice cs = servicePriceList.get(0);
        ServicePriceDetails details = cs.getDetails((RightChecker) this);
        int price = details.price;
        int money = details.money;
        //Ищем скидку
        int discount = getCalculatedDiscount();
        //сумма транзакций
View Full Code Here

        Collaborator collaborator = findEntity(Collaborator.class, getCollaboratorId());

        Set<Integer> contractServIDs = new HashSet<Integer>();
        Iterator it = findEntityList(ServicePrice.class, "contract", polis.getContract()).iterator();
        while (it.hasNext()) {
            ServicePrice j = (ServicePrice) it.next();
            contractServIDs.add(j.getService().getId());
        }
               
               
        //build discounts
        HashMap<Integer, Integer> cardDiscounts = new HashMap<Integer, Integer>();
View Full Code Here

TOP

Related Classes of beans.contract.entity.ServicePrice

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.