Cambios subidos a server V2

This commit is contained in:
Jhonathan Guevara 2025-12-31 07:27:45 -05:00
parent 0287cd6931
commit 5a83ab69a7
Signed by: jhonathan_guevara
GPG Key ID: 619239F12DCBE55B
5 changed files with 79 additions and 25 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)"
@ -321,23 +318,21 @@ apk add --no-cache \
tesseract-ocr-data-spa \
tesseract-ocr-data-eng
# 3) Procesa el PDF (real/escaneado/mixto)
IN="${1:-archivo.pdf}"
BASE="${IN%.pdf}"
TXT="${BASE}.txt"
OCRPDF="${BASE}.ocr.pdf"
# prueba
tesseract --version
# Intenta extraer texto directo
pdftotext -layout "$IN" - > "$TXT" 2>/dev/null || true
# Si el texto es muy corto, probablemente es escaneado (o casi todo imagen) -> OCR
LEN="$(tr -d '[:space:]' < "$TXT" | wc -c | tr -d ' ')"
if [ "${LEN:-0}" -lt 80 ]; then
ocrmypdf -l spa+eng --skip-text --rotate-pages --deskew --optimize 3 "$IN" "$OCRPDF"
pdftotext -layout "$OCRPDF" "$TXT"
echo "OK (OCR aplicado cuando hacia falta): $OCRPDF | Texto: $TXT"
else
echo "OK (PDF con texto): Texto: $TXT"
fi
```
### 8) otros
```bash
mkdir -p /opt/saludut/backend
tar -czf backend.tar.gz \
--exclude="node_modules" \
--exclude=".env" \
--exclude="backend.tar.gz" \
.
scp -P 48952 backend.tar.gz root@autorizacion.saludut.com:/opt/saludut/
rc-service saludut-backend restart
```

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