import React, { useState } from "react"; import DetalleTablaMedidas from "./DetalleTablaMedidas"; import DetalleClienteModalPrescripcion from "./DetalleClienteModalPrescripcion"; import { actualizarPut, obtenerGet, obtenerUltimoRegistro, prescripcionPdff, registrarPost, registrarPostRetornarUltimo } from "../lib/conexionApi"; const ModalPrescripcion = ({ setOpenModalPrescripcion, cliente, //medidas esferaODlejos, cilindroODlejos, ejeODlejos, agudezavisualODlejos, esferaOIlejos, cilindroOIlejos, ejeOIlejos, agudezavisualOIlejos, esferaODcerca, cilindroODcerca, ejeODcerca, agudezavisualODcerca, esferaOIcerca, cilindroOIcerca, ejeOIcerca, agudezavisualOIcerca, fechaFormateada, notaAdicional, noHayMedidas, idMedidas, setIdMedidas, setEmisionPrescripcionFinalizada }) => { const [errorObtenerTodasMedidas, setErrorObtenerTodasMedidas] = useState(false) const [medidasTodas, setMedidasTodas] = useState([]) const handleBtnConfirmarEmitirPrescripcion = (e) => { e.preventDefault() console.log(noHayMedidas); let medidasListas = { "Esfera_OD_lejos": esferaODlejos, "Cilindro_OD_lejos": cilindroODlejos, "Eje_OD_lejos": ejeODlejos, "Agudeza_visual_OD_lejos": agudezavisualODlejos, "Esfera_OI_lejos": esferaOIlejos, "Cilindro_OI_lejos": cilindroOIlejos, "Eje_OI_lejos": ejeOIlejos, "Agudeza_visual_OI_lejos": agudezavisualOIlejos, "Esfera_OD_cerca": esferaODcerca, "Cilindro_OD_cerca": cilindroODcerca, "Eje_OD_cerca": ejeODcerca, "Agudeza_visual_OD_cerca": agudezavisualODcerca, "Esfera_OI_cerca": esferaOIcerca, "Cilindro_OI_cerca": cilindroOIcerca, "Eje_OI_cerca": ejeOIcerca, "Agudeza_visual_OI_cerca": agudezavisualOIcerca, "id_cliente": cliente["id_cliente"] } const registrarOActualizarPrescripcion = async () => { const url = import.meta.env.VITE_API_URL // si es cliente nuevo -> registrar medidas y prescripcion if (noHayMedidas) { console.log("registro"); await registrarPost('medidas', medidasListas) const medidasUltima = await obtenerUltimoRegistro('medidas') console.log(medidasUltima["id_medidas"]); let prescripcionSeleccionada = await registrarPostRetornarUltimo('prescripcion/ultimoRegistro', { "id_medidas": medidasUltima["id_medidas"], "detalle_lunas": notaAdicional, "fecha": fechaFormateada, }) console.log(prescripcionSeleccionada);// retorna un arreglo con la prescripcion registrada await prescripcionPdff(prescripcionSeleccionada[0]["id_prescripcion"]) setEmisionPrescripcionFinalizada(true) } else { // si es cliente existente -> actualizar medidas y registrar prescripcion medidasListas = { "id_medidas": idMedidas, "Esfera_OD_lejos": esferaODlejos, "Cilindro_OD_lejos": cilindroODlejos, "Eje_OD_lejos": ejeODlejos, "Agudeza_visual_OD_lejos": agudezavisualODlejos, "Esfera_OI_lejos": esferaOIlejos, "Cilindro_OI_lejos": cilindroOIlejos, "Eje_OI_lejos": ejeOIlejos, "Agudeza_visual_OI_lejos": agudezavisualOIlejos, "Esfera_OD_cerca": esferaODcerca, "Cilindro_OD_cerca": cilindroODcerca, "Eje_OD_cerca": ejeODcerca, "Agudeza_visual_OD_cerca": agudezavisualODcerca, "Esfera_OI_cerca": esferaOIcerca, "Cilindro_OI_cerca": cilindroOIcerca, "Eje_OI_cerca": ejeOIcerca, "Agudeza_visual_OI_cerca": agudezavisualOIcerca, "id_cliente": cliente["id_cliente"] } console.log("actualizo"); await actualizarPut('medidas', medidasListas, idMedidas) let prescripcionSeleccionada = await registrarPostRetornarUltimo('prescripcion/ultimoRegistro', { "id_medidas": idMedidas, "detalle_lunas": notaAdicional, "fecha": fechaFormateada, }) await prescripcionPdff(prescripcionSeleccionada[0]["id_prescripcion"]) setEmisionPrescripcionFinalizada(true) } } registrarOActualizarPrescripcion() } return (