@RequestMapping("/atualizaCarta") public String atualizaCarta( CartaContratacao carta, Integer idFornecedor, Integer idLista, Integer idProdutoGrupo) { ArrayList<String> data = new ArrayList<String>(); data = utilDatas.dataHojeFormatada(); String dataHoje = "São Paulo, " + data.get(0) + " de " + data.get(1) + " de " + data.get(2); carta.setDataCabecalho(dataHoje); carta.setGerarCarta(true); carta.setAtualizacao(Calendar.getInstance()); Usuario u = util.retornaUsuarioLogado(); String usuario = u.getNome(); carta.setUsuario(usuario); if (carta.getIdCarta() == null) { manager.persist(carta); } else { manager.detach(carta); manager.merge(carta); } return "redirect:itemListaAjax?idFornecedor=" + idFornecedor + "&idLista=" + idLista + "&idProdutoGrupo=" + idProdutoGrupo; }
@RequestMapping("/itemListaAjax") public ModelAndView itemListaAjax(Integer idFornecedor, Integer idLista, Integer idProdutoGrupo) throws InterruptedException { Lista lista = manager.find(Lista.class, idLista); LocalEvento localEvento = localEventoDAO.ultimoLocalEvento(lista.getIdJob().getIdJob()); ProdutoGrupo produtoGrupo = manager.find(ProdutoGrupo.class, idProdutoGrupo); /* ------------------------------------------------------------------------------------------- */ // Relacionado a carta de contratação /** * É necessário verificar: Se o fornecedor tem um ou mais itens Se tiver só um item ou mais e * concluido(s), exibir a carta Não concluidos, não exibir */ /*if(menuProducaoDAO.ConfereItemProducao(idProdutoGrupo).isEmpty()){ }else{ Producao producao = manager.find(Producao.class, produtoGrupo.getProducao().getIdProducao()); CartaContratacao carta = manager.find(CartaContratacao.class, producao.getCartaContracao().getIdCarta()); MV.addObject("carta", carta); }*/ /** * Verificar: Se tem outro fornecedor com valor de contratação Se tiver só um item ou mais desse * outro fornecedor e concluido(s), exibir a carta desse outro fornecedor Não concluidos, não * exibir */ /*MV.addObject("outraCarta", outraCarta); exemplo*/ /** Enviar carta Modelo para pegar dados estáticos */ CartaContratacao cartaModelo = manager.find(CartaContratacao.class, 1); MV.addObject("outraCarta", cartaModelo); ArrayList<String> datas = utilDatas.dataHojeFormatada(); MV.addObject("dataHoje", datas); /* ------------------------------------------------------------------------------------------- */ MV.setViewName("menuProducao/detalhesItensProducao"); MV.addObject( "fornecedor", empresaDAO.infoEmpresaProducao(produtoGrupo.getEmpresa().getIdEmpresa())); MV.addObject("contatoFornecedor", empresaDAO.listaContatoEmpresa(idFornecedor)); MV.addObject("tipoPagamento", pagamentoDAO.listaTipoPagamento()); MV.addObject("usuarios", usuarioDAO.usuariosProducao()); MV.addObject("idLista", idLista); MV.addObject("idProdutoGrupo", idProdutoGrupo); MV.addObject("produtoGrupo", produtoGrupo); MV.addObject("producao", menuProducaoDAO.listaProducao(idProdutoGrupo)); MV.addObject("InfoJobs", localEvento); MV.addObject("fornecedoresLista", empresaDAO.listaFornecedores()); MV.addObject("lista", lista); return MV; }
@RequestMapping("/calculaPrazo") public ModelAndView calculaPrazo(Integer diasPrazo, Integer idLista, String nameInput) { MV.setViewName("menuProducao/vencimentoAjax"); Lista lista = manager.getReference(Lista.class, idLista); LocalEvento localEvento = localEventoDAO.ultimoLocalEvento(lista.getIdJob().getIdJob()); Date cs = localEvento.getLocalEventoDataTermino(); MV.addObject("dataPrazo", utilDatas.SomaDias(cs, diasPrazo)); MV.addObject("nameInput", nameInput); return MV; }
@RequestMapping("/salvaItem") public String salvaItem(Producao producao, Integer idProdutoGrupo) throws IOException, ParseException { ProdutoGrupo produtog = manager.find(ProdutoGrupo.class, idProdutoGrupo); Lista lista = manager.getReference(Lista.class, producao.getIdLista()); Integer parcelas = producao.getNumParcelas(); List<ValorPgtoAux> pagamentos = new ArrayList<ValorPgtoAux>(); for (int i = 0; i < parcelas; i++) { ValorPgtoAux valor = new ValorPgtoAux(); valor.setParcela(producao.getParcela().get(i)); valor.setPrazo(producao.getPrazo().get(i)); valor.setData(util.formataDatasStringParaCalendar(producao.getData().get(i) + " 08:00")); BigDecimal valorItem = util.valoresEmReais(producao.getValor().get(i)); valor.setValor(valorItem); pagamentos.add(valor); } Empresa fornecedor = manager.getReference(Empresa.class, producao.getIdEmpresaTransiente()); Usuario usuario = manager.getReference(Usuario.class, producao.getIdUsuario()); LocalEvento localEvento = localEventoDAO.ultimoLocalEvento(lista.getIdJob().getIdJob()); ProdutoGrupo produtoGrupo = manager.getReference(ProdutoGrupo.class, idProdutoGrupo); producao.setLista(lista); producao.setUsuario(usuario); producao.setIdEmpFornecedor(fornecedor); producao.setDataConsolidado(Calendar.getInstance()); producao.setResponsavelContratacao(usuario.getNome()); producao.setStatusProducao(StatusProducao.CONSOLIDADO); producao.setPrazoEntrega( utilDatas.formataDatasStringParaCalendar(producao.getpEntrega() + " " + "08:00")); if (localEvento == null) { producao.setPrazoPagamento(Calendar.getInstance().getTime()); } else { Date cs = localEvento.getLocalEventoDataTermino(); producao.setPrazoPagamento( utilDatas.SomaDias( cs, producao.getPrazo().get(0))); // Soma Termino do Evento + Dias para pagamento. } producao.setProdutoGrupo(produtoGrupo); producao.setValorItem(util.valoresEmReais(producao.getItemValor1())); producao.setValorContratacao(util.valoresEmReais(producao.getContratacaoValor1())); producao.setDiferenca(util.valoresEmReais(producao.getDiferencaValor1())); producao.setStatus(true); if (producao.getLocalEntrega().equals("localevento")) { if (localEvento == null) { producao.setReferenciaEntrega(producao.getLocalEntrega()); producao.setLocalEntrega("Nenhum endereço cadastrado no Job"); } else { producao.setReferenciaEntrega(producao.getLocalEntrega()); producao.setLocalEntrega(localEvento.getLocalEventoEndereco()); } } else { producao.setReferenciaEntrega(producao.getLocalEntrega()); producao.setLocalEntrega("agencia"); } /** * Verificar se existe mais algum item do Fornecedor * * <p>if(mais itens fornecedor === true){ fornecedorFinanceiro.setContratacao(true); }else{ * fornecedorFinanceiro.setContratacao(false); } */ // Verifica se item vai ser salvo ou atualizado if (producao.getIdProducao() == null) { // Será salvo manager.persist(producao); } else { // Será atualizado manager.detach(producao); manager.merge(producao); } auxDAOProducao.salvaFornecedorFinanceiro(producao, pagamentos); /*Contato contato = manager.getReference(Contato.class, producao.getContatoFornecedor()); List<Comunicador> comunicador = contatoDAO.buscaUltimoComunicador(producao.getContatoFornecedor()); if(FornecedorFinanceiro.getContratacao() == true){ menuCarta.geraNovaCarta(producao, produtog,comunicador,contato); }else{ }*/ // menuCarta.geraNovaCarta(producao, produtog,comunicador,contato); /** * Gerar carta de contratação * * <p>producao.setCartaContratacao(cartaContForn); */ /* Contato contato = manager.getReference(Contato.class, producao.getContatoFornecedor()); List<Comunicador> comunicador = contatoDAO.buscaUltimoComunicador(producao.getContatoFornecedor()); if(producao.getIdProducao() == null || producao.getIdProducao().equals(null) || producao.getIdProducao().equals(" ")){ menuCarta.geraNovaCarta(producao, produtog,comunicador,contato); }else{ menuCarta.geraNovaCarta(producao, produtog,comunicador,contato); }*/ return "redirect:itemListaAjax?idFornecedor=" + produtog.getEmpresa().getIdEmpresa() + "&idLista=" + lista.getIdLista() + "&idProdutoGrupo=" + producao.getProdutoGrupo().getIdProdutoGrupo(); }