miércoles, 15 de diciembre de 2021

AYTOS-FIRMADOC-FACE: (1)Tablas importantes y localización de los ficheros

1. FIRMADOC

Esquema DBO

BIB_AY.IDX (Nombre del documento +  relaciones

  • IDX_ID: Id PK = BIB_AY.IDX_IMP.IM_IDX  que coincide con el nombre del documento
  • IDX_EXT: Extensión del documento (PDF o la que sea)
  • IDX_FCH; Que define la carpeta donde se guarda el documento con esta expresión:
       10000*YEAR(B.IDX_FCH)+100*MONTH(B.IDX_FCH)+DAY(B.IDX_FCH) as carpeta
  • IDX_ALI: "Nombre del documento (Relaciones de transferencias)
  • IDX_TDO:  ->ADMDDA.TDO.TDO_ID (descrip=TDO_DES (Relaciones de transferencias)
  • IDX_CP1: "Identificadores:"
  • IDX_FFD: Fecha y hora de firma del documento (SI nulo, no firmado)
  • IDX_FCH: Fecha para localizar la carpeta del documento (AAAAMMDD)
  • BIB_AY.IDX_IMP  Guarda el codigo de verificacion CSV

    -> IDX_IMP.IM_IDX-> IDX.IDX_ID

    • IIM_IDX: Id (PK) y nombre del documento ejemplo 498589(.PDF)
    • IIM_CVA: Código de verificación documento (CSV)
    • IIM_CRC: Otro código complementario

    BIB_AY.FIR  Guarda los datos de las firmas del documento (pero no el binario)
    • FIR_IDX: id del documento = BIB_AY.IDX_ID  
    • FIR_FCH: Fecha de la firma 
    • FIR_UOR: Firmantes = ADMDDA.A_ORG_UOR.UOR_COD ( cargo=UOR_NOM)
    • FIR_UOR_SUS: Firmante sustituto = ADMDDA.A_ORG_UOR.UOR_COD ( cargo=UOR_NOM)
    • FIR_USU: Firmantes (Usuario) = ADMDDA.USU.USU_IDE  ( cargo=USU_NOM)

    BIB_AY.SIG (Firma binaria)

  • SIG_ID: Id PK = BIB_AY.FIR.FIR_SIG
  • SIG_CNT Firma binaria (Seguramente estará tambien comprimida por el agoritmo de Huffman)

  • BIBY_AY.DOC (Algunos documentos se guardan en esta tabla)
    > DOC.DOC_ID-> IDX.IDX_ID
    • DOC_ID:id del documento = BIB_AY.IDX_ID  
    • DOC_CNT: BLOB o contenido del documento. Ojo esta comprimido con el algoritmo de Huffman que se explica en un post posterior
    BIBY_AY.DOC_ORI (Algunos documentos (pero muy pocos!!!)se guardan en esta tabla)
    > DOC_ORI.DOC_ID-> IDX.IDX_ID
    • ORI_ID:id del documento = BIB_AY.IDX_ID  
    • ORI_CNT: BLOB o contenido del documento. Ojo esta comprimido con el algoritmo de Huffman que se explica en un post posterior

    ADMDDA.A_ORG_UOR Cargos y usuarios
    • UOR_COD (PK)
    • UOR_NON Cargo

    ADMDDA.TDO Tipos de documento
    • TDO_ID (PK)
    • TDO_DES
    • TDO_DE1
    ADMDDA.USU Usuarios
    • USU_IDE (PK)
    • USU_NOM 


    Veamos los campos que hacen falta para llenar la cabecera



    Cuando alguno de los campos falta, aparecen en blanco

    (1) ADMDDA.TDO.TDO_DES
    (2) BIBAY.IDX.IDX_ALI

    (3) BIBAY.IDX_IMP.IIM_CVA
    (4) Fecha del sistema actual

    (5) ADMDDA.TDO.TDO_DES
    (6) BIBAY.IDX.IDX_CP1

    Para cada firmante
    (7)BIBAY.FIRM.FIR_UOR          ->ADMDDA.A_ORG_UOR.UOR_COD (muestra cargo UOR_NOM)        
    (7)BIBAY.FIRM.FIR_UOR_SUS ->ADMDDA.A_ORG_UOR.UOR_COD (muestra cargo sustituto si hay UOR_NOM)        
    A veces también se ponen los nombres :
    (7)BIBAY.FIRM.FIR_USU ->  ADMDDA.USU .USU_ID (USU_NOM) 

    (9) BIBAY.IDX.IDX_FDD (Fecha de firma)



    Veamos una consulta para extraer los datos

    SELECT A.IIM_IDX, A.IIM_CVA, --Nombre doc, CSV
           B.IDX_ALI, B.IDX_CP1, B.IDX_FFD, --Documento 2 , Identificadores 2, Firmado  
           10000*YEAR(B.IDX_FCH)+100*MONTH(B.IDX_FCH)+DAY(B.IDX_FCH) AS folder,   
           C.TDO_DES, C.TDO_DE1, --Documento 1, identificadores 1
           X.FIR_FCH, -- Fecha de la firma 
           D.UOR_NOM, D1.UOR_NOM,  -- Cargos (firmante y en nombre)
           E.USU_NOM --Nombre firmante
           
    FROM BIB_AY.dbo.IDX_IMP A
    JOIN BIB_AY.dbo.IDX B ON B.IDX_ID=A.IIM_IDX
    JOIN ADMDDA.dbo.TDO C ON TDO_ID=B.IDX_TDO
    LEFT JOIN BIB_AY.dbo.FIR X ON X.FIR_IDX=A.IIM_IDX
    LEFT JOIN ADMDDA.dbo.A_ORG_UOR D ON D.UOR_COD=X.FIR_UOR
    LEFT JOIN ADMDDA.dbo.A_ORG_UOR D1 ON D1.UOR_COD=X.FIR_UOR_SUS 
    LEFT JOIN ADMDDA.dbo.USU E ON E.USU_IDE=X.FIR_USU
    

    Pero los documentos se localizan en 3 sitios distintos:

    1. Cuando no existe ningún registro de la tabla BIBY_AY.DOC donde  DOC.DOC_ID apunte a IDX.IDX_ID entonces se guarda en la carpeta FIRMADOC de un servidor destinado a ello (192.168.XXX.XXX)

    2. Si existe ningún registro de la tabla BIBY_AY.DOC donde  DOC.DOC_ID apunte a IDX.IDX_ID entonces se guarda en el campo DOC_CNT omprimido por el algoritmo Huffman

    3. Si existe ningún registro de la tabla BIBY_AY.DOC_ORI donde  DOC_ORI.ORI_ID apunte a IDX.IDX_ID entonces se guarda en el campo ORI_CNT comprimido por el algoritmo Huffman. Ojo son muy pocos los documentos guardados aquí


    2. FACE

    Se localizan los ficheros en AYTOS-FACTURA/FACe/in o AYTOS-SICALWIN/sageaytos/FACe/in

    3. 

    No hay comentarios :

    Publicar un comentario