Duplicate file

1

I am making a registration for the class Dining and DiningRestaurant. To register Food Food items you have to register for Meal first. The problem is the data is being registered, but since I want to register multiple meals at the same time with their respective items, the data is getting duplicated. Ex: Grape, Apple and Pear that should be of different meals they are being registered within the same meal, it generates the 3 meals only that all meals contain the same items.

JSP          enter the code here

    <div id="geral">
        Tipo de Refeicao: 
        <select name="idtiporefeicao">
            <%
                List<TipoRefeicao> trefeicao = (List<TipoRefeicao>) request.getAttribute("trefeicao");
                for (TipoRefeicao tiporefeicao : trefeicao) {
            %>
            <option value="<%=tiporefeicao.getIdTipoRefeicao()%>"><%=tiporefeicao.getTipoRefeicao()%></option><%  }%>
        </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

        Dia da Refeição: 
        <select id="diarefeicao" name="diarefeicao">
            <option value="Domingo">Domingo</option>
            <option value="Segunda-Feira">Segunda-Feira</option>
            <option value="Terca-Feira">Terça-Feira</option>
            <option value="Quarta-Feira">Quarta-Feira</option>
            <option value="Quinta-Feira">Quinta-Feira</option>
            <option value="Sexta-Feira">Sexta-Feira</option>
            <option value="Sabado">Sábado</option>
        </select>
        <a href="#" data-action="adicionar" class="adicionar-refeicao" onclick="refeicao()" >+</a>&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="#" data-action="excluir" >-</a>

        <fieldset>
            <div id="multi">
                <p>  

                    Alimento: <select name="idalimento">
                        <%
                            List<Alimento> alimentos = (List<Alimento>) request.getAttribute("alimentos");
                            for (Alimento alimento : alimentos) {
                        %>
                        <option value="<%=alimento.getIdAlimento()%>" data-action="select"><%=alimento.getNomeAlimento()%></option><%  }%>

                    </select>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

                    <label>Quantidade: </label><input type="number" id="quantidadealimentorefeicao" name="quantidadealimentorefeicao" step="0.1" min="0.1" />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 

                    Medida: <select id="tipomedidaalimentorefeicao" name="tipomedidaalimentorefeicao">
                        <option value="Colher Arroz">Colher(es) de Arroz </option>
                        <option value="Colher Café">Colher(es) de Café</option>
                        <option value="Colher Cha">Colher(es) de Chá</option>
                        <option value="Colher Sobremesa">Colher(es) de Sobremesa</option>


                    </select>

                    <a href="#" data-action="add" >+</a>&nbsp;&nbsp;&nbsp;&nbsp;
                    <a href="#" data-action="delete" >-</a>


                </p>
            </div>

        </fieldset>

Servlet

String diasRefeicao[] = request.getParameterValues("diarefeicao");
    String idTipoRefeicao[] = request.getParameterValues("idtiporefeicao");

    Cardapio cardapio = new Cardapio();
    cardapio.setIdCardapio(idCardapio);

    String alimentos[] = request.getParameterValues("idalimento");
    String quantidades[] = request.getParameterValues("quantidadealimentorefeicao");
    String medidaalimento[] = request.getParameterValues("tipomedidaalimentorefeicao");

    Integer idRefeicao = null;


    try {
        for (int ii = 0; ii < idTipoRefeicao.length; ii++){
            TipoRefeicao tipoRefeicao = new TipoRefeicao();
            tipoRefeicao.setIdTipoRefeicao(Integer.parseInt(idTipoRefeicao[ii]));

            Refeicao refeicao = new Refeicao();
            refeicao.setDiaRefeicao(diasRefeicao[ii].toUpperCase().trim());
            refeicao.setStatusRefeicao("A");
            refeicao.setSincronizaRefeicao(1);
            refeicao.setTipoRefeicao(tipoRefeicao);
            refeicao.setCardapio(cardapio);

            RefeicaoDAOImpl daorefeicao = new RefeicaoDAOImpl();
            idRefeicao = daorefeicao.cadastrar(refeicao);

            if (idRefeicao != null) {
                refeicao.setIdRefeicao(idRefeicao);
                for (int i = 0; i < alimentos.length; i++) {
                    AlimentoRefeicao alimentoRefeicao = new AlimentoRefeicao();
                    Alimento alimento = new Alimento();

                    alimento.setIdAlimento(Integer.parseInt(alimentos[i]));
                    alimentoRefeicao.setAlimento(alimento);
                    alimentoRefeicao.setRefeicao(refeicao);
                    alimentoRefeicao.setTipoMedidaAlimentoRefeicao(medidaalimento[i]);
                    alimentoRefeicao.setQuantidadeAlimentoRefeicao(Double.parseDouble(quantidades[i]));
                    alimentoRefeicao.setSincronizaAlimentoRefeicao(1);
                    try{
                        GenericDAO dao = new AlimentoRefeicaoDAOImpl();
                    if (dao.cadastrar(alimentoRefeicao)) {
                        mensagem = "Cadastrado com sucessso ";
                    } else {
                        mensagem = "Erro ao cadastrar itens da refeição";
                    }
                    } catch (Exception ex) {
                        System.out.println("Erro ao cadastrar itens da refeição" + ex.getMessage());
                        ex.printStackTrace();
                    }
                }

'

    
asked by anonymous 14.01.2016 / 03:17

0 answers