This commit is contained in:
Jhonathan Guevara 2025-12-31 15:37:21 -05:00
commit 2cc235e765
Signed by: jhonathan_guevara
GPG Key ID: 619239F12DCBE55B
5 changed files with 63 additions and 40 deletions

View File

@ -303,9 +303,6 @@ python3 -c "import pandas, openpyxl, dotenv; print('OK', pandas.__version__, ope
#### 7.7) OCR (PDF real + escaneado) con Tesseract (Alpine)
Si necesitas leer PDFs escaneados para el autorrelleno, usa este flujo.
```bash
# Uso:
# sh -c '...este bloque...' archivo.pdf
# Si no pasas argumento, usa "archivo.pdf"
# 1) Asegura repo community (donde esta ocrmypdf/tesseract-data)
ALPINE_VER="$(cut -d. -f1,2 /etc/alpine-release)"
@ -341,36 +338,3 @@ else
fi
```
**Instalacion OCR en Alpine (para el autorrelleno en servidor)**
```bash
apk update
apk add --no-cache \
tesseract-ocr \
tesseract-ocr-data-spa \
tesseract-ocr-data-eng \
python3 py3-pip py3-virtualenv \
build-base python3-dev musl-dev \
libffi-dev openssl-dev zlib-dev \
jpeg-dev tiff-dev freetype-dev lcms2-dev openjpeg-dev
python3 -m venv /opt/saludut/venv
. /opt/saludut/venv/bin/activate
pip install --upgrade pip
pip install pdfplumber pymupdf pytesseract pillow
```
En `backend/.env`:
```
PYTHON_PATH=/opt/saludut/venv/bin/python
TESSERACT_PATH=/usr/bin/tesseract
TESSDATA_PREFIX=/usr/share/tessdata
```
Verificacion:
```bash
tesseract --list-langs | grep spa
/opt/saludut/venv/bin/python -c "import pytesseract; print(pytesseract.get_tesseract_version())"
```

Binary file not shown.

View File

@ -1,6 +1,6 @@
\\set ON_ERROR_STOP on
\set ON_ERROR_STOP on
\\i schema.sql
\i schema.sql
-- Roles base (minimo para funcionar)
INSERT INTO rol (nombre_rol, descripcion)

View File

@ -202,6 +202,65 @@ CREATE TABLE IF NOT EXISTS autorizacion (
correo_inpec_respuesta boolean NOT NULL DEFAULT false
);
-- ===== Migraciones autorizacion (si la tabla ya existía de antes) =====
-- Nota: CREATE TABLE IF NOT EXISTS no agrega columnas nuevas si la tabla ya existe.
-- Estas ALTER aseguran que el schema quede actualizado sin borrar datos.
ALTER TABLE autorizacion
ADD COLUMN IF NOT EXISTS id_usuario_solicitante integer REFERENCES usuario(id_usuario),
ADD COLUMN IF NOT EXISTS tipo_autorizacion varchar(50),
ADD COLUMN IF NOT EXISTS tipo_servicio varchar(50),
ADD COLUMN IF NOT EXISTS ambito_atencion varchar(20),
ADD COLUMN IF NOT EXISTS numero_orden varchar(50),
ADD COLUMN IF NOT EXISTS archivo_historial_clinico text,
ADD COLUMN IF NOT EXISTS archivo_historial_clinico_nombre text,
ADD COLUMN IF NOT EXISTS archivo_anexo text,
ADD COLUMN IF NOT EXISTS archivo_anexo_nombre text,
ADD COLUMN IF NOT EXISTS estado_entrega varchar(20),
ADD COLUMN IF NOT EXISTS estado_autorizacion varchar(20),
ADD COLUMN IF NOT EXISTS version integer,
ADD COLUMN IF NOT EXISTS correo_inpec_pendiente boolean,
ADD COLUMN IF NOT EXISTS correo_inpec_enviado boolean,
ADD COLUMN IF NOT EXISTS correo_inpec_respuesta boolean;
-- Defaults / NOT NULL (primero relleno nulos para que no falle el ALTER)
UPDATE autorizacion
SET
tipo_autorizacion = COALESCE(tipo_autorizacion, 'consultas_externas'),
estado_entrega = COALESCE(estado_entrega, 'pendiente_entrega'),
estado_autorizacion = COALESCE(estado_autorizacion, 'pendiente'),
version = COALESCE(version, 1),
correo_inpec_pendiente = COALESCE(correo_inpec_pendiente, false),
correo_inpec_enviado = COALESCE(correo_inpec_enviado, false),
correo_inpec_respuesta = COALESCE(correo_inpec_respuesta, false)
WHERE
tipo_autorizacion IS NULL
OR estado_entrega IS NULL
OR estado_autorizacion IS NULL
OR version IS NULL
OR correo_inpec_pendiente IS NULL
OR correo_inpec_enviado IS NULL
OR correo_inpec_respuesta IS NULL;
ALTER TABLE autorizacion
ALTER COLUMN numero_autorizacion SET DEFAULT next_numero_autorizacion(),
ALTER COLUMN tipo_autorizacion SET DEFAULT 'consultas_externas',
ALTER COLUMN estado_entrega SET DEFAULT 'pendiente_entrega',
ALTER COLUMN estado_autorizacion SET DEFAULT 'pendiente',
ALTER COLUMN version SET DEFAULT 1,
ALTER COLUMN correo_inpec_pendiente SET DEFAULT false,
ALTER COLUMN correo_inpec_enviado SET DEFAULT false,
ALTER COLUMN correo_inpec_respuesta SET DEFAULT false;
ALTER TABLE autorizacion
ALTER COLUMN tipo_autorizacion SET NOT NULL,
ALTER COLUMN estado_entrega SET NOT NULL,
ALTER COLUMN estado_autorizacion SET NOT NULL,
ALTER COLUMN version SET NOT NULL,
ALTER COLUMN correo_inpec_pendiente SET NOT NULL,
ALTER COLUMN correo_inpec_enviado SET NOT NULL,
ALTER COLUMN correo_inpec_respuesta SET NOT NULL;
DO $$
BEGIN
IF NOT EXISTS (

View File

@ -45,7 +45,7 @@ echo "rsync -arvz -e \"ssh -p ${SSH_PORT}\" --progress --delete ${DIST_FOLDER}/
#echo "scp -r -P ${SSH_PORT} ${DIST_FOLDER}/* ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}"
#scp -r -P ${SSH_PORT} ${DIST_FOLDER}/* ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}
#exit 0 #HABILITARLO CUANDO LA PAGINA YA ESTE ARRIBA
exit 0 #HABILITARLO CUANDO LA PAGINA YA ESTE ARRIBA
#rsync -arvz ${DIST_FOLDER} -e \"ssh -p ${SSH_PORT}\" ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_DATA_FOLDER}
#scp -r -P ${SSH_PORT} ${DIST_FOLDER} ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_DATA_FOLDER}
@ -70,7 +70,7 @@ echo "preparando directorio de logs"
LOGS_FOLDER="/var/www/log/${SITE_NAME}"
ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${LOGS_FOLDER};chown -R root:root ${LOGS_FOLDER};chmod -R 755 ${LOGS_FOLDER}'"
#Fin de fase LOGS
exit 0
#exit 0
# EL EXIT VA HASTA ACA LA PRIMERA VEZ QUE VAYA A SUBIR LA MAQUINA
#Inicio de fase VHOST