Cambios subidos a server V2
This commit is contained in:
parent
0287cd6931
commit
5a83ab69a7
35
README.md
35
README.md
@ -303,9 +303,6 @@ python3 -c "import pandas, openpyxl, dotenv; print('OK', pandas.__version__, ope
|
|||||||
#### 7.7) OCR (PDF real + escaneado) con Tesseract (Alpine)
|
#### 7.7) OCR (PDF real + escaneado) con Tesseract (Alpine)
|
||||||
Si necesitas leer PDFs escaneados para el autorrelleno, usa este flujo.
|
Si necesitas leer PDFs escaneados para el autorrelleno, usa este flujo.
|
||||||
```bash
|
```bash
|
||||||
# Uso:
|
|
||||||
# sh -c '...este bloque...' archivo.pdf
|
|
||||||
# Si no pasas argumento, usa "archivo.pdf"
|
|
||||||
|
|
||||||
# 1) Asegura repo community (donde esta ocrmypdf/tesseract-data)
|
# 1) Asegura repo community (donde esta ocrmypdf/tesseract-data)
|
||||||
ALPINE_VER="$(cut -d. -f1,2 /etc/alpine-release)"
|
ALPINE_VER="$(cut -d. -f1,2 /etc/alpine-release)"
|
||||||
@ -321,23 +318,21 @@ apk add --no-cache \
|
|||||||
tesseract-ocr-data-spa \
|
tesseract-ocr-data-spa \
|
||||||
tesseract-ocr-data-eng
|
tesseract-ocr-data-eng
|
||||||
|
|
||||||
# 3) Procesa el PDF (real/escaneado/mixto)
|
# prueba
|
||||||
IN="${1:-archivo.pdf}"
|
tesseract --version
|
||||||
BASE="${IN%.pdf}"
|
|
||||||
TXT="${BASE}.txt"
|
|
||||||
OCRPDF="${BASE}.ocr.pdf"
|
|
||||||
|
|
||||||
# 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
|
||||||
|
```
|
||||||
|
|||||||
BIN
backend.tar.gz
BIN
backend.tar.gz
Binary file not shown.
@ -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)
|
-- Roles base (minimo para funcionar)
|
||||||
INSERT INTO rol (nombre_rol, descripcion)
|
INSERT INTO rol (nombre_rol, descripcion)
|
||||||
|
|||||||
@ -202,6 +202,65 @@ CREATE TABLE IF NOT EXISTS autorizacion (
|
|||||||
correo_inpec_respuesta boolean NOT NULL DEFAULT false
|
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 $$
|
DO $$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (
|
IF NOT EXISTS (
|
||||||
|
|||||||
@ -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}"
|
#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}
|
#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}
|
#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}
|
#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}"
|
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}'"
|
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
|
#Fin de fase LOGS
|
||||||
exit 0
|
#exit 0
|
||||||
# EL EXIT VA HASTA ACA LA PRIMERA VEZ QUE VAYA A SUBIR LA MAQUINA
|
# EL EXIT VA HASTA ACA LA PRIMERA VEZ QUE VAYA A SUBIR LA MAQUINA
|
||||||
|
|
||||||
#Inicio de fase VHOST
|
#Inicio de fase VHOST
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user