VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form Form_captura_academias 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Captura Academias"
   ClientHeight    =   2895
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   3405
   Icon            =   "Form_captura_academias.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   2895
   ScaleWidth      =   3405
   Begin VB.Frame Frame2 
      Caption         =   "  "
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   2655
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   3135
      Begin VB.CommandButton Command2 
         Caption         =   "Salir"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   480
         TabIndex        =   2
         Top             =   1080
         Width           =   2175
      End
      Begin VB.CommandButton Command1 
         Caption         =   "Captura de Pagos"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   480
         TabIndex        =   1
         Top             =   360
         Width           =   2175
      End
      Begin MSComDlg.CommonDialog CommonDialog1 
         Left            =   720
         Top             =   2760
         _ExtentX        =   847
         _ExtentY        =   847
         _Version        =   393216
      End
   End
End
Attribute VB_Name = "Form_captura_academias"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub Command1_Click()
    Dim tab2 As Integer
    Dim i As Integer
    Dim var_sql As String
    Dim fin_excel As Boolean
    Dim cargado As Boolean
    Dim monto As Long
    Dim contador As Integer
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    Dim rendicion As Integer
    Dim rendicionarchivo As String
    Dim accion As String
    Dim accion_detalle As String
    Dim rut As String
    Dim smonto As String
    Dim convenio_upago As String
    Dim Col As String
    Dim conecta As Boolean
    Dim Desde As Date
    Dim Hasta As Date

    'Tienes que abrir el archivo con...

    CommonDialog1.DialogTitle = "Seleccione el archivo excel"
    CommonDialog1.Filter = "Archivos de texto*.xls"
    CommonDialog1.ShowOpen

    If CommonDialog1.FileName = "" Then
        MsgBox "Debe Seleccionar un Archivo"
        Exit Sub
    End If

    Dim EXL As Excel.Application
    Set EXL = New Excel.Application
    Dim w As Excel.Workbook
    Set w = EXL.Workbooks.Open(CommonDialog1.FileName)
    Dim s As Excel.Worksheet
    Set s = w.Sheets("transactions")

    cargado = False
    'rendicion = InputBox("Ingrese el numero de rendicion", "Ingreso de Rendicion", "")
    'var_sql = "SELECT * FROM fnza_captura_cheques where num_rendicion = " & rendicion & " And agno = " & Year(Date)
    'objRS.Open var_sql, conn
    'If objRS.RecordCount > 0 Then
    '    cargado = True
    'End If
    'objRS.Close

    Dim linea As String, total As String
    i = 1
    fin_excel = True

    'MsgBox s.Range("A" & i & "").Value
    'MsgBox s.Range("B6").Value
    'MsgBox s.Range("C6").Value
    'conecta = ConectarBDSiempre(conn_deuda, "192.168.7.91", "comunes_gescol", "groot", "kripplefight", True)
    conn.Execute "delete from temp_upago_recaudado_academias"
    contador = 0
    monto = 0
    While fin_excel = True 'And i < 250
        i = i + 1
        If s.Range("C" & i & "").Value = "" Or s.Range("D" & i & "").Value = "" Then
            fin_excel = False
        Else
''''        If Format(s.Range("J" & i & "").Value, "yyyy-mm-dd") = "" Then
''''            MsgBox "Fecha de pago del archivo de carga NO puede estar en blanco", vbCritical
''''            Exit Sub
''''        End If
            scobrado = Replace(s.Range("K" & i & "").Value, "$", "")
            scobrado = Replace(scobrado, ",", "")
            scobrado = Replace(scobrado, ".", "")
            scobrado = Replace(scobrado, "00UF", "")
            cobrado = cobrado + scobrado
            smonto = Replace(s.Range("P" & i & "").Value, "$", "")
            smonto = Replace(smonto, ",", "")
            smonto = Replace(smonto, ".", "")
            smonto = Replace(smonto, "00UF", "")
            monto = monto + smonto
            'rendicionarchivo = s.Range("A2").Value
            rut = s.Range("A6").Value
            var_sql = "INSERT INTO temp_upago_recaudado_academias(id,cliente_id,cliente," _
                    & "rut,email,consumo_id," _
                    & "concepto,cuenta,deuda_id," _
                    & "deuda,vencimiento,cobrado," _
                    & "monto,pago_cliente,pasarela_pago," _
                    & "estado,fecha_pago)" _
                    & " VALUES('" & s.Range("A" & i & "").Value & "','" & s.Range("B" & i & "").Value & "','" & s.Range("C" & i & "").Value & "','" _
                    & s.Range("D" & i & "").Value & "','" & s.Range("E" & i & "").Value & "','" & s.Range("F" & i & "").Value _
                    & "','" & s.Range("G" & i & "").Value & "','" & s.Range("G" & i & "").Value & "','" & s.Range("H" & i & "").Value _
                    & "','" & s.Range("I" & i & "").Value & "','" & Format(s.Range("J" & i & "").Value, "yyyy-mm-dd") & "'," & scobrado _
                    & "," & smonto & ",'" & Format(s.Range("Q" & i & "").Value, "yyyy-mm-dd hh:mm") & "','" & s.Range("R" & i & "").Value & "','" _
                    & s.Range("S" & i & "").Value & "','" & Format(s.Range("T" & i & "").Value, "yyyy-mm-dd") & "');"
            conn.Execute var_sql
            If smonto > 0 Then contador = contador + 1
        End If
    Wend
' Format(fecha, "dd/mm/yyyy")
'" & Format(s.Range("H" & i & "").Value, "yyyy-mm-dd") & "
              
'var_sql = "SELECT * FROM temp_upago_recaudado_academias GROUP BY cliente"
'objRS.Open var_sql, conn
'If objRS.RecordCount > 1 Then
'    MsgBox "Formato no corresponde, el archivo no ha sido capturado", vbInformation
'    Exit Sub
'End If
'objRS.Close
              
'If cargado = True Then
'    If MsgBox("¿Esta seguro que desea sobreescribir la rendición N° " & rendicion & "?", vbQuestion + vbYesNo) = vbYes Then
'        'MsgBox "Se cargara nuevamente la rendicion N° " & rendicion, vbInformation
'        ' borrar la rendicion numero
'        conn.Execute "delete from fnza_captura_cheques where agno = " & Year(Now()) & " and num_rendicion = " & rendicion
'
'        ' borrar los cheques cruzando tablas
'        var_sql = "delete FROM fnza_captura_cheques" _
'                & " WHERE CONCAT(agno,run_apo,banco,cta_cte,serie,numero,fecha) IN (SELECT CONCAT(agno,run_apo,banco,cta_cte,serie,numero,fecha) FROM temp_captura_cheques)"
'        conn.Execute var_sql
'
'    Else
'        MsgBox "Ud. selecciono NO cargar nuevamente los cheques", vbInformation
'        Exit Sub
'    End If
'End If
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2021-03-05' WHERE vencimiento = '2020-12-30'" _
            & " or vencimiento = '2020-10-30' or vencimiento = '2020-12-09' or vencimiento = '2020-11-09'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-03-10' WHERE vencimiento = '2020-10-03'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-04-10' WHERE vencimiento = '2020-10-04'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-05-10' WHERE vencimiento = '2020-10-05'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-06-10' WHERE vencimiento = '2020-10-06'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-07-10' WHERE vencimiento = '2020-10-07'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-08-10' WHERE vencimiento = '2020-10-08'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-09-10' WHERE vencimiento = '2020-10-09'"
    conn.Execute var_sql
    'var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-10-10' WHERE vencimiento = '2020-10-10'"
    'conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-11-10' WHERE vencimiento = '2020-10-11'"
    conn.Execute var_sql
    var_sql = "UPDATE temp_upago_recaudado_academias SET vencimiento = '2020-12-10' WHERE vencimiento = '2020-10-12'"
    conn.Execute var_sql
    convenio_upago = DevuelveCampo("cfg", "", "valor", "param = 'CodConvUPAGOBC'", conn)
    Col = Mid(DevuelveCampo("cfg", "", "valor", "param = 'CODBC'", conn), 1, 3)
    ' Format(fecha, "dd/mm/yyyy")

    If Col = "HUE" Then
    var_sql = "SELECT if(length(rut) = 9,concat('0',rut),rut) AS rut_cli,MID(deuda,LENGTH(deuda) - 3) AS cab_bol,IF(MID(deuda,11,4) = '1 de',0,IF(MID(deuda,11,4) = 'Marz',1,IF(MID(deuda,11,4) = 'Abri',2," _
                    & "IF(MID(deuda,11,4) = 'Mayo',3,IF(MID(deuda,11,4) = 'Juni',4,IF(MID(deuda,11,4) = 'Juli',5,IF(MID(deuda,11,4) = 'Agos',6,IF(MID(deuda,11,4) = 'Sept',7,IF(MID(deuda,11,4) = 'Octu',8,IF(MID(deuda,11,4) = 'Novi',9," _
                    & "IF(MID(deuda,11,4) = 'Dici',10,11))))))))))) AS num_cup,888 AS convenio,DATE_FORMAT(pago_cliente,'%Y-%m-%d') AS fech_rec," _
                    & "vencimiento AS fech_ven,monto,'E' AS tipo_pago,'UPG' AS origen,monto AS monto_tot,0 AS colegio,deuda" _
                    & " From temp_upago_recaudado_academias" _
                    & " WHERE monto > 0 and CONCAT(concepto,cuenta,cliente,rut,deuda,monto,vencimiento,estado,fecha_pago) NOT IN" _
                    & " (SELECT CONCAT(concepto,cuenta,cliente,rut,deuda,monto,vencimiento,estado,fecha_pago) FROM fnza_upago_recaudado_academias)"
    Else
    var_sql = "SELECT if(length(rut) = 9,concat('0',rut),rut) AS rut_cli,MID(deuda,LENGTH(deuda) - 3) AS cab_bol,IF(MID(deuda,11,4) = '1 de',0,IF(MID(deuda,11,4) = 'Marz',1,IF(MID(deuda,11,4) = 'Abri',2," _
                    & "IF(MID(deuda,11,4) = 'Mayo',3,IF(MID(deuda,11,4) = 'Juni',4,IF(MID(deuda,11,4) = 'Juli',5,IF(MID(deuda,11,4) = 'Agos',6,IF(MID(deuda,11,4) = 'Sept',7,IF(MID(deuda,11,4) = 'Octu',8,IF(MID(deuda,11,4) = 'Novi',9," _
                    & "IF(MID(deuda,11,4) = 'Dici',10,11))))))))))) AS num_cup,888 AS convenio,fecha_pago AS fech_rec," _
                    & "vencimiento AS fech_ven,monto,'E' AS tipo_pago,'UPG' AS origen,monto AS monto_tot,0 AS colegio,deuda" _
                    & " From temp_upago_recaudado_academias" _
                    & " WHERE monto > 0 and CONCAT(concepto,cuenta,cliente,rut,deuda,monto,vencimiento,estado,fecha_pago) NOT IN" _
                    & " (SELECT CONCAT(concepto,cuenta,cliente,rut,deuda,monto,vencimiento,estado,fecha_pago) FROM fnza_upago_recaudado_academias)"
    End If
    objRS.Open var_sql, conn
    If objRS.RecordCount > 0 Then
'''        If "LCH 2025" <> Mid(objRS("deuda"), 1, 8) Then
'''            If Col <> Mid(objRS("deuda"), 7, 3) Then
'''                MsgBox "Archivo no corresponde al colegio que esta cargando", vbInformation
'''                objRS.Close
'''                Exit Sub
'''            End If
'''        End If
        conecta = ConectarBDSiempre(conn_deuda, "192.168.7.91", "bostonc_gescoldb", "groot", "kripplefight", True)
        While Not objRS.EOF
            var_sql = "insert into `pagos_bci` (`rut_cli`, `cab_bol`, `num_cup`, `convenio`, `fech_rec`, `fech_ven`," _
                    & "`monto`, `tipo_pago`, `origen`, `monto_tot`, `colegio`)" _
                    & " values('" & objRS("rut_cli") & "','" & objRS("cab_bol") & "','" & objRS("num_cup") & "','" _
                    & convenio_upago & "'," & "'" & Format(objRS("fech_rec"), "yyyy-mm-dd") _
                    & "','" & Format(objRS("fech_ven"), "yyyy-mm-dd") & "'," _
                    & "'" & objRS("monto") & "','E','UPAGO','" & objRS("monto_tot") & "','0');"
            'conn_deuda.Execute var_sql
            objRS.MoveNext
        Wend
        conn_deuda.Close
    End If
    objRS.Close


    var_sql = "INSERT INTO fnza_upago_recaudado_academias(concepto,cuenta,cliente,rut,deuda,monto,monto_adeudado,vencimiento,estado,fecha_pago,deuda_id,id,cliente_id,email,consumo_id,cobrado,pasarela_pago,pago_cliente)" _
            & " SELECT concepto,cuenta,cliente,rut,deuda,monto,monto_adeudado,vencimiento,estado,fecha_pago,deuda_id,id,cliente_id,email,consumo_id,cobrado,pasarela_pago,pago_cliente FROM temp_upago_recaudado_academias WHERE monto > 0 and CONCAT(concepto,cuenta,cliente,rut,deuda,monto,vencimiento,estado,fecha_pago) NOT IN" _
            & " (SELECT CONCAT(concepto,cuenta,cliente,rut,deuda,monto,vencimiento,estado,fecha_pago) FROM fnza_upago_recaudado_academias)"
    conn.Execute var_sql

    'Insertar log
    var_sql = "SELECT MAX(fecha_pago) hasta,MIN(fecha_pago) desde FROM temp_upago_recaudado_academias"
    objRS.Open var_sql, conn
    If objRS.RecordCount > 0 Then
        Desde = objRS("desde")
        Hasta = objRS("hasta")
    End If
    objRS.Close

    accion = "Captura de Upago" & rendicion
    accion_detalle = "Se ha cargado archivo de pagos de Upago desde el " & Desde & " hasta el " & Hasta

    Call Inserta_Vitacora_Finanza("11111111-1", rut, accion, CStr(accion_detalle), 0, 0)

    MsgBox "Carga fue realizada con exito. Se han insertado " & contador & " pagos, con un monto de " & monto, vbInformation

End Sub

Private Sub Command2_Click()
    Unload Me
End Sub
