VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "comctl32.ocx"
Object = "{00025600-0000-0000-C000-000000000046}#4.6#0"; "crystl32.ocx"
Begin VB.Form Form_libro_de_ventas 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Libro de ventas GesCol"
   ClientHeight    =   2790
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   3450
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   2790
   ScaleWidth      =   3450
   Begin Crystal.CrystalReport CrystalReport1 
      Left            =   0
      Top             =   2280
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   262150
   End
   Begin VB.CommandButton Command1 
      Caption         =   "Generar reporte"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   855
      Left            =   480
      Picture         =   "Form_libro_de_ventas.frx":0000
      Style           =   1  'Graphical
      TabIndex        =   4
      Top             =   1680
      Width           =   2535
   End
   Begin MSComCtl2.DTPicker dtp_inicio 
      Height          =   375
      Left            =   1560
      TabIndex        =   1
      Top             =   360
      Width           =   1575
      _ExtentX        =   2778
      _ExtentY        =   661
      _Version        =   393216
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Format          =   51904513
      CurrentDate     =   41030
   End
   Begin MSComCtl2.DTPicker dtp_fin 
      Height          =   375
      Left            =   1560
      TabIndex        =   0
      Top             =   960
      Width           =   1575
      _ExtentX        =   2778
      _ExtentY        =   661
      _Version        =   393216
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Format          =   51904513
      CurrentDate     =   41060
   End
   Begin ComctlLib.ProgressBar pgbar 
      Height          =   255
      Left            =   120
      TabIndex        =   5
      Top             =   2520
      Width           =   3255
      _ExtentX        =   5741
      _ExtentY        =   450
      _Version        =   327682
      Appearance      =   1
   End
   Begin VB.Label Label2 
      Caption         =   "Fecha final"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   360
      TabIndex        =   3
      Top             =   960
      Width           =   1215
   End
   Begin VB.Label Label1 
      Caption         =   "Fecha inicial"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   360
      TabIndex        =   2
      Top             =   360
      Width           =   1095
   End
End
Attribute VB_Name = "Form_libro_de_ventas"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
    Dim var_sql As String
    Dim minimo As Integer
    Dim maximo As Integer
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    Dim rec As ADODB.Recordset
    Set rec = New ADODB.Recordset
    Dim colegio As String
    Dim menor As Long
    Dim Mayor As Long
    Dim monto As Long
    Dim nobecado As Long
    Dim becado As Long
    Dim excencion As Long
    Dim nombre As String
    Dim mes As Integer
    Dim titulo As String
    
    Dim Folio As Long
    Dim Orden As Long
    Dim sw As Boolean
    Dim folio_anterior As Long
    
        '''Boletas sin cheques ingresados
    boletas_sin_cheques
    Boletas_que_faltan_softland
    
            
    var_sql = "DROP TABLE IF EXISTS temp_caja;"
    conn.Execute var_sql
    var_sql = "DROP TABLE IF EXISTS temp_caja_reporte;"
    conn.Execute var_sql
        
'    var_sql = "create table temp_caja type = MyISAM" _
'            & " select b.fecha_blta,m.folio_dtll,b.folio_blta_fisico,monto_total,date_format(fecha_blta,'%d') as dia," _
'            & "monto_tot_cuota,monto_abono,monto_pago,9 as caja,estado_blta" _
'            & " from fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad mm,fnza_detalle_mensualidad m" _
'            & " Where b.folio_blta = n.folio_blta And n.folio_mvto = mm.folio_mvto And n.folio_dtll = m.folio_dtll" _
'            & " and fecha_blta >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' and fecha_blta <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "'"
    var_sql = "create table temp_caja type = MyISAM" _
            & " select b.fecha_blta,n.folio_dtll,b.folio_blta_fisico,date_format(fecha_blta,'%d') as dia," _
            & " monto_pago,9 as caja, 99999 as correlativo_caja,estado_blta" _
            & " from fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad mm" _
            & " Where b.folio_blta = n.folio_blta And n.folio_mvto = mm.folio_mvto" _
            & " and fecha_blta >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' and fecha_blta <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "'"
    conn.Execute var_sql
    
    var_sql = "ALTER TABLE temp_caja ADD COLUMN monto_total BIGINT (20);"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja ADD COLUMN monto_tot_cuota BIGINT (20);"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja ADD COLUMN monto_abono BIGINT (20);"
    conn.Execute var_sql
    
        'Agregando indice
   
    var_sql = "ALTER TABLE temp_caja ADD INDEX (dia)"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja ADD INDEX (folio_blta_fisico)"
    conn.Execute var_sql
    
    var_sql = "UPDATE temp_caja c, fnza_detalle_mensualidad f" _
    & " SET c.monto_total = f.monto_total, c.monto_tot_cuota = f.monto_tot_cuota, c.monto_abono = f.monto_abono" _
    & " WHERE c.folio_dtll = f.folio_dtll"
    conn.Execute var_sql
    

    var_sql = "insert into temp_caja(folio_blta_fisico,estado_blta, fecha_blta, dia)" _
            & " SELECT folio_blta_fisico,estado_blta, fecha_blta, date_format(fecha_blta,'%d') as dia FROM fnza_boletas" _
            & "  where fecha_blta >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' and  fecha_blta <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "' and folio_blta_fisico NOT IN (SELECT folio_blta_fisico FROM temp_caja)"
    conn.Execute var_sql
    
    var_sql = "insert into temp_caja(folio_blta_fisico,monto_total,dia,monto_tot_cuota,monto_abono,monto_pago,caja,estado_blta)" _
            & " select folio_blta_fisico,0 as monto_total,date_format(fecha_blta,'%d') as dia,0 as monto_tot_cuota,0 as monto_abono,0 as monto_pago,9 as caja,estado_blta" _
            & " from fnza_boletas where fecha_blta > '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' and  fecha_blta < '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "' and estado_blta = 'nula' and run_apo is null and run_alu is null"
    conn.Execute var_sql
    
    'Proceso excenciones
    var_sql = "SELECT * FROM temp_caja WHERE monto_total <> monto_pago AND estado_blta <> 'nula'"
    objRS.Open var_sql, conn
    While Not objRS.EOF
'        var_sql = "SELECT MIN(fecha_blta) as minimo,MAX(fecha_blta) as maximo" _
'                & " FROM fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad mm,fnza_detalle_mensualidad m" _
                & " Where b.folio_blta = n.folio_blta And n.folio_mvto = mm.folio_mvto And n.folio_dtll = m.folio_dtll And m.folio_dtll = " & objRS("folio_dtll")
        var_sql = "SELECT MIN(fecha_blta) as minimo,MAX(fecha_blta) as maximo" _
                & " FROM fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad mm" _
                & " Where b.folio_blta = n.folio_blta And n.folio_mvto = mm.folio_mvto And n.folio_dtll = " & objRS("folio_dtll")
        rec.Open var_sql, conn
        If objRS("fecha_blta") <> rec("minimo") Then ' prueba monto_total = monto_total,
            var_sql = "UPDATE temp_caja SET monto_tot_cuota = monto_pago,monto_abono = monto_pago WHERE folio_dtll = " & objRS("folio_dtll")
            conn.Execute var_sql
        End If
        rec.Close
        objRS.MoveNext
    Wend
    objRS.Close
    
    'Creo indices
'    var_sql = "ALTER TABLE fnza_cajas_folios ADD INDEX (folio)"
'    conn.Execute var_sql
'    var_sql = "ALTER TABLE fnza_cajas_folios ADD INDEX (correlativo_caja)"
'    conn.Execute var_sql
'    var_sql = "ALTER TABLE fnza_cajas_folios ADD INDEX (folio_inicial)"
'    conn.Execute var_sql
'    var_sql = "ALTER TABLE fnza_cajas_folios ADD INDEX (folio_final)"
'    conn.Execute var_sql
    
'    var_sql = "CREATE INDEX caja_folios2 ON fnza_cajas_folios(folio,correlativo_caja,folio_inicial,folio_final);"
'    conn.Execute var_sql
    var_sql = "SELECT * FROM fnza_cajas_folios where activo = 'SI'"
    objRS.Open var_sql, conn
    While Not objRS.EOF
        var_sql = "update temp_caja set caja =  " & objRS("folio") & ", correlativo_caja = " & objRS("correlativo_caja") & " where folio_blta_fisico >= " & objRS("folio_inicial") & " and folio_blta_fisico <= " & objRS("folio_final")
        conn.Execute var_sql
        objRS.MoveNext
    Wend
    objRS.Close
    
    
    
    ' Codigo ordenar libro de ventas
    var_sql = "ALTER TABLE temp_caja ADD COLUMN orden BIGINT (20);"
    conn.Execute var_sql
    
     var_sql = "ALTER TABLE temp_caja ADD INDEX (orden)"
    conn.Execute var_sql

 '    var_sql = "CREATE INDEX orden_dia ON temp_caja(orden,dia,folio_blta_fisico);"
'    conn.Execute var_sql
    
    
    Orden = 0
    sw = True
    folio_anterior = 0
    Folio = 0
    
    var_sql = "SELECT * FROM temp_caja ORDER BY dia,folio_blta_fisico"
    objRS.Open var_sql, conn
    While Not objRS.EOF
        Folio = objRS("folio_blta_fisico")
        If sw = False Then
            If (folio_anterior + 1) = Folio Or folio_anterior = Folio Then
                var_sql = "update temp_caja set orden = " & Orden & " where folio_blta_fisico = " & Folio
                conn.Execute var_sql
                
            Else
                Orden = Orden + 1
                var_sql = "update temp_caja set orden = " & Orden & " where folio_blta_fisico = " & Folio
                conn.Execute var_sql
            
            End If
            folio_anterior = Folio
        Else
            sw = False
            var_sql = "update temp_caja set orden = " & Orden & " where folio_blta_fisico = " & Folio
            conn.Execute var_sql
            folio_anterior = Folio
            
        End If
    
        objRS.MoveNext
    Wend
    objRS.Close
            
    var_sql = "create table temp_caja_reporte type = MyISAM" _
            & " SELECT @ROW_NUMBER:=@ROW_NUMBER+1 AS folio, temp_folios.* from" _
            & " (select orden,dia,caja, correlativo_caja,min(folio_blta_fisico) as minimo,max(folio_blta_fisico) as maximo," _
            & " sum(if(estado_blta = 'nula',0,if(monto_total = monto_tot_cuota,monto_pago,0))) as NObecado," _
            & " (SUM(IF(monto_total <> monto_tot_cuota,IF(estado_blta = 'nula',0,monto_total),0)) - (SUM(IF(estado_blta = 'nula',0,monto_total) - IF(estado_blta = 'nula',0,monto_tot_cuota)))) AS becado," _
            & " sum(monto_abono) as abono,sum(if(estado_blta = 'nula',0,monto_pago)) as monto,sum(if(estado_blta = 'nula',1,0)) as bne," _
            & " SUM(IF(estado_blta = 'nula',0,monto_total) - IF(estado_blta = 'nula',0,monto_tot_cuota)) AS excencion,sum(if(estado_blta = 'aprb',1,0)) as be," _
            & " 0 as menor_ntcr,0 as mayor_ntcr,0 as monto_ntcr,0 as nobecado_ntcr,0 as becado_ntcr,0 as excencion_ntcr" _
            & " From temp_caja" _
            & " group by dia,orden,caja,correlativo_caja" _
            & " order by dia,orden,caja) as temp_folios , (SELECT @ROW_NUMBER:=0) r"
    conn.Execute var_sql
    
    'Creo indice
    var_sql = "ALTER TABLE temp_caja_reporte ADD INDEX (orden)"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja_reporte ADD INDEX (dia)"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja_reporte ADD INDEX (correlativo_caja)"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja_reporte ADD INDEX (minimo)"
    conn.Execute var_sql
    var_sql = "ALTER TABLE temp_caja_reporte ADD INDEX (maximo)"
    conn.Execute var_sql
    
    var_sql = "update temp_caja_reporte c," _
            & " (select orden,correlativo_caja,dia,caja,count(distinct folio_blta_fisico) be2 from temp_caja" _
            & " group by dia,orden,caja,correlativo_caja) as b set c.be = b.be2" _
            & " where c.dia = b.dia and c.caja = b.caja and c.correlativo_caja = b.correlativo_caja and b.orden = c.orden"
    conn.Execute var_sql
    
    var_sql = "update temp_caja_reporte c," _
            & " (select orden,correlativo_caja,dia,caja,count(distinct folio_blta_fisico) be2 from temp_caja" _
            & " where estado_blta = 'nula' group by dia,orden,caja,correlativo_caja) as b set c.bne = b.be2" _
            & " where c.dia = b.dia and c.caja = b.caja and c.correlativo_caja = b.correlativo_caja and b.orden = c.orden"
    conn.Execute var_sql
    
    
    var_sql = "update temp_caja_reporte set bne = 0 where bne > 10000"
    conn.Execute var_sql
    
        
    var_sql = "SELECT * from temp_caja_reporte where caja = 9"
    objRS.Open var_sql, conn
    If objRS.RecordCount > 0 Then
          While Not objRS.EOF
                MsgBox "El folio " & objRS("minimo") & " no se encuentra en el rango de las cajas definidas", vbInformation
                objRS.MoveNext
          Wend
          'MsgBox "En el periodos seleccionado no se encuentra la totalidad de las cajas creadas", vbInformation
          var_sql = "delete  from temp_caja_reporte where caja = 9"
          conn.Execute var_sql

        Exit Sub
    End If
    objRS.Close
    
     
'    var_sql = "select min(folio_fisico_ntcr) as menor,max(folio_fisico_ntcr) as mayor,sum(if(estado_blta = 'nula',0,dnc.monto_pago)) as monto" _
'            & ",sum(monto_total - mm.monto_pago) as NObecado," _
'            & "(sum(if(monto_total <> monto_tot_cuota,monto_total,0)) - sum(monto_total - monto_tot_cuota)) as becado" _
'            & ",sum(monto_total - mm.monto_pago) as excencion" _
'            & " from fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad mm,fnza_detalle_mensualidad m,fnza_detalle_ntcr dnc,fnza_ntcr nc" _
'            & " Where b.folio_blta = n.folio_blta And n.folio_mvto = mm.folio_mvto And n.folio_dtll = m.folio_dtll" _
'            & " and b.folio_blta = dnc.blta_rel and nc.folio_ntcr = dnc.folio_ntcr" _
'            & " and date_format(fecha_ntcr,'%Y%m') = '" & Format(dtp_inicio.Value, "yyyymm") & "'"
    'var_sql = "SELECT MIN(folio_fisico_ntcr) menor,MAX(folio_fisico_ntcr) mayor,SUM(monto_ntcr) monto,0 as nobecado,0 as becado,0 as excencion" _
     '       & " FROM fnza_ntcr WHERE estado_ntcr = 'aprb' and fecha_ntcr >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' AND fecha_ntcr <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "'"
            
    'Peticion de luis ahumada NC nulas
    var_sql = "SELECT MIN(folio_fisico_ntcr) menor,MAX(folio_fisico_ntcr) mayor,SUM(monto_ntcr) monto,0 as nobecado,0 as becado,0 as excencion" _
            & " FROM fnza_ntcr WHERE fecha_ntcr >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' AND fecha_ntcr <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "'"
            
    objRS.Open var_sql, conn
    If (objRS.RecordCount > 0) And Not (IsNull(objRS("menor"))) Then
        menor = objRS("menor")
        Mayor = objRS("mayor")
        monto = objRS("monto")
        nobecado = objRS("nobecado")
        becado = objRS("becado")
        excencion = objRS("excencion")
    End If
    objRS.Close
    
    var_sql = "update temp_caja_reporte set" _
            & " menor_ntcr = " & menor & ",mayor_ntcr = " & Mayor & ",monto_ntcr = " & monto & "," _
            & "nobecado_ntcr = " & nobecado & ",becado_ntcr = " & becado & ",excencion_ntcr = " & excencion
    conn.Execute var_sql
    'CrystalReport1.ReportFileName = App.Path & "\rpt\libro_de_ventas.rpt"
    
    nombre = DevuelveCampo("establecimientos", "", "nom_est", "1 = 1", conn)
    mes = Format(dtp_inicio.Value, "mm")
    titulo = "Libro de Ventas de " & Mes2Texto(mes)
    
    CrystalReport1.ReportFileName = App.Path & "\rpt\libro_ventas.rpt"
    
    CrystalReport1.WindowState = crptMaximized
    'CrystalReport1.Formulas(1) = "a = '" & menor & "'"
    CrystalReport1.Formulas(3) = "titulo = '" & titulo & "'"
    CrystalReport1.Formulas(4) = "menor_ntcr = '" & menor & "'"
    CrystalReport1.Formulas(5) = "mayor_ntcr = '" & Mayor & "'"
    CrystalReport1.Formulas(6) = "monto_ntcr = '" & monto & "'"
    CrystalReport1.Formulas(7) = "nobecado_ntcr = '" & nobecado & "'"
    CrystalReport1.Formulas(8) = "becado_ntcr = '" & becado & "'"
    CrystalReport1.Formulas(9) = "excencion = '" & excencion & "'"
    
   'cr_perso.WindowTitle = "Informe De Desarrollo Personal y Social"
'    cr_pre.ReplaceSelectionFormula ("")
    CrystalReport1.Formulas(10) = "establecimiento = '" & nombre & "'"
'    cr_perso.Formulas(1) = "fecha = '" & Format(Now, "dd/mm/yyyy") & "'"
'    cr_perso.Formulas(2) = "hora = '" & Format(Now, "hh:mm AM/PM") & "'"
    'cr_perso.ReplaceSelectionFormula ("{pre_eval_cab.cod_ens}='" & xcod & "' and {pre_eval_cab.num_gra}='" & CInt(xnum_gra) & "' and {pre_eval_cab.let_cur}='" & xletra & "' and {pre_eval_cab.agno}=" & str(xagno)) & Per
    CrystalReport1.Destination = crptToWindow
    CrystalReport1.Action = 1
End Sub

Private Sub Form_Load()

dtp_inicio = Date
dtp_fin = Date

End Sub

Private Sub boletas_sin_cheques()
    Dim var_sql As String
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    Dim monto_cheques As Double
    Dim total_cheques As Long
    
    Dim ApExcel As Variant
    Set ApExcel = CreateObject("Excel.application")

    ApExcel.Workbooks.Add
    
    var_sql = "DROP TABLE IF EXISTS temp_caja;"
    conn.Execute var_sql
    var_sql = "DROP TABLE IF EXISTS temp_caja_reporte;"
    conn.Execute var_sql
        
        var_sql = "SELECT codigo_auxiliar,IF(chq_numero IS NULL,'Cheque No Ingresado o No Vinculado',chq_numero) cheque_no_ingresado,fecha_blta,b.folio_blta_fisico" _
            & " From" _
            & " (SELECT cta_d,'' AS B,monto_pago AS monto,descripcion_movimiento,'' AS E,'' AS F,'' AS G,'' AS H,'' AS I,'' AS J,'' AS K,'' AS L,'' AS M,'' AS N,'' AS O,'' AS P," _
            & "'' AS Q,'' AS R,b.run_apo AS codigo_auxiliar,tipo_conciliacion,b.folio_blta_fisico,fecha_blta,fecha_blta,'B6' AS tipo_documento_referencia,b.folio_blta_fisico,n.folio_mvto,b.run_apo,b.run_alu" _
            & " FROM fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad m,fnza_cod_forma_pago fp WHERE b.folio_blta = n.folio_blta AND n.folio_mvto = m.folio_mvto" _
            & " AND fecha_blta >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' AND fecha_blta <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "' AND m.tipo_pago = fp.forma_pago AND (m.tipo_pago = 'chqe')" _
            & " ) AS b LEFT JOIN (SELECT fcm.folio_mvto,chq_numero,fcm.run_apo,fcm.run_alu,monto_chq FROM fnza_cheques_recibidos fcr,fnza_chq_mvto fcm WHERE fcr.folio_chq = fcm.folio_chq AND YEAR(chq_fecha) > 2017) ch" _
            & " ON b.folio_mvto = ch.folio_mvto AND b.run_apo = ch.run_apo AND b.run_alu = b.run_alu" _
            & " Where chq_numero Is Null" _
            & " GROUP BY b.folio_blta_fisico"
            
    objRS.Open var_sql, conn
    
    If objRS.RecordCount < 1 Then
        objRS.Close
        Exit Sub
    End If
    
    I = 1
        
    ApExcel.Cells(1, 1).Font.Size = 12
    ApExcel.Cells(1, 2).Font.Size = 12
    ApExcel.Cells(1, 3).Font.Size = 12
    ApExcel.Cells(1, 4).Font.Size = 12
    ApExcel.Cells(1, 5).Font.Size = 12
'    ApExcel.Cells(1, 6).Font.Size = 12
'    ApExcel.Cells(1, 7).Font.Size = 12
'    ApExcel.Cells(1, 8).Font.Size = 12
'    ApExcel.Cells(1, 9).Font.Size = 12
'    ApExcel.Cells(1, 10).Font.Size = 12
'    ApExcel.Cells(1, 11).Font.Size = 12
    
    ApExcel.Cells(1, 1).Font.Bold = True
    ApExcel.Cells(1, 2).Font.Bold = True
    ApExcel.Cells(1, 3).Font.Bold = True
    ApExcel.Cells(1, 4).Font.Bold = True
    ApExcel.Cells(1, 5).Font.Bold = True
'    ApExcel.Cells(1, 6).Font.Bold = True
'    ApExcel.Cells(1, 7).Font.Bold = True
'    ApExcel.Cells(1, 8).Font.Bold = True
'    ApExcel.Cells(1, 9).Font.Bold = True
'    ApExcel.Cells(1, 10).Font.Bold = True
'    ApExcel.Cells(1, 11).Font.Bold = True
    
    ApExcel.Cells(1, 1).Formula = "N°"
    ApExcel.Cells(1, 2).Formula = "Rut Apoderado"
    ApExcel.Cells(1, 3).Formula = "Cheque No Ingresado"
    ApExcel.Cells(1, 4).Formula = "Fecha Boleta"
    ApExcel.Cells(1, 5).Formula = "Folio Boleta"
'    ApExcel.Cells(1, 6).Formula = "Verificación"
'    ApExcel.Cells(1, 7).Formula = "Banco y Plaza"
'    ApExcel.Cells(1, 8).Formula = "Cuenta Cte."
'    ApExcel.Cells(1, 9).Formula = "Vencimiento"
'    ApExcel.Cells(1, 10).Formula = "Monto Docto"
'    ApExcel.Cells(1, 11).Formula = "FACTORING"
        
    pgbar.Min = 0
    pgbar.Max = objRS.RecordCount + 1
    pgbar.Value = pgbar.Min
    total_boletas = 0
    Monto_boletas = 0
    While Not objRS.EOF
        'ApExcel.Cells(i, 3).Formula = Format(objRS("fecha_blta"), "yyyy/mm/dd")
        I = I + 1
        ApExcel.Cells(I, 1).Formula = I
        ApExcel.Cells(I, 2).Formula = objRS("codigo_auxiliar")
        ApExcel.Cells(I, 3).Formula = objRS("cheque_no_ingresado")
        ApExcel.Cells(I, 4).Formula = objRS("fecha_blta")
        ApExcel.Cells(I, 5).Formula = objRS("folio_blta_fisico")
'        ApExcel.Cells(i, 6).Formula = objRS("verificacion")
'        ApExcel.Cells(i, 7).Formula = objRS("banco_plaza")
'        ApExcel.Cells(i, 8).Formula = objRS("Cuenta_Corriente")
'        ApExcel.Cells(i, 9).Formula = Format(objRS("vencimiento"), "yyyy/mm/dd")
'        ApExcel.Cells(i, 10).Formula = objRS("monto_chq")
'        ApExcel.Cells(i, 11).Formula = objRS("FACTORING")
'
'        monto_cheques = monto_cheques + objRS("monto_chq")
'        ApExcel.Cells(i, 10).NumberFormat = "#,##0"
'        total_cheques = total_cheques + 1
        
        pgbar.Value = I - 1

        objRS.MoveNext
    Wend
    I = I + 1
    
'    ApExcel.Cells(i, 6).Formula = "Tot. cheques"
'    ApExcel.Cells(i, 7).Formula = total_cheques
'    ApExcel.Cells(i, 7).HorizontalAlignment = xlHAlignLeft
'    ApExcel.Cells(i, 9).Formula = "Tot. monto"
'    ApExcel.Cells(i, 10).Formula = monto_cheques
'    ApExcel.Cells(i, 10).NumberFormat = "#,##0"
    
    ApExcel.Cells(I, 1).Font.Bold = True
    ApExcel.Cells(I, 2).Font.Bold = True
    ApExcel.Cells(I, 3).Font.Bold = True
    ApExcel.Cells(I, 4).Font.Bold = True
    ApExcel.Cells(I, 5).Font.Bold = True
'    ApExcel.Cells(i, 6).Font.Bold = True
'    ApExcel.Cells(i, 7).Font.Bold = True
'    ApExcel.Cells(i, 8).Font.Bold = True
'    ApExcel.Cells(i, 9).Font.Bold = True
'    ApExcel.Cells(i, 10).Font.Bold = True
'    ApExcel.Cells(i, 11).Font.Bold = True
            
    ApExcel.Columns("A").ColumnWidth = 10
    ApExcel.Columns("B").ColumnWidth = 15
    ApExcel.Columns("C").ColumnWidth = 40
    ApExcel.Columns("D").ColumnWidth = 40
    ApExcel.Columns("E").ColumnWidth = 15
'    ApExcel.Columns("F").ColumnWidth = 15
'    ApExcel.Columns("G").ColumnWidth = 15
'    ApExcel.Columns("H").ColumnWidth = 15
'    ApExcel.Columns("I").ColumnWidth = 15
'    ApExcel.Columns("J").ColumnWidth = 15
'    ApExcel.Columns("K").ColumnWidth = 15
            
    ApExcel.Visible = True
    ApExcel.Range("a1:f1").Borders.color = RGB(255, 0, 0)
    Set ApExcel = Nothing
    
    objRS.Close
End Sub

Private Sub Boletas_que_faltan_softland()
    Dim var_sql As String
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    Dim monto_cheques As Double
    Dim total_cheques As Long
    Dim Registros As Integer
    Dim bode1 As Integer
    Dim bode2 As Integer
    Dim bode3 As Integer
    Dim bode4 As Integer
    Registros = 0
    
    Dim ApExcel As Variant
    Set ApExcel = CreateObject("Excel.application")

    ApExcel.Workbooks.Add
    
    var_sql = "DROP TABLE IF EXISTS temp_boletas_softland;"
    conn.Execute var_sql
    var_sql = "DROP TABLE IF EXISTS temp_boletas_gescol;"
    conn.Execute var_sql
    
    colegio = DevuelveCampo("cfg", "", "valor", "param = 'codbc'", conn)
    If colegio = "HUE001" Then
        colegio = "HUECHURABA"
    Else
        colegio = "CORPORACIONBC"
    End If
    '' Softland
    aaa = ConectarSQL(connSQL, "192.168.7.13", colegio, "sa", "passCORPsa.2024", True)
        
    var_sql = "create table temp_boletas_softland(" _
            & " folio int(10)," _
            & "fecha date," _
            & "codaux varchar(10)," _
            & "montoexento int(10)," _
            & " primary key(folio)) ENGINE=MyISAM DEFAULT CHARSET=latin1;"
    conn.Execute var_sql
            
    bode1 = DevuelveCampo("cfg", "", "valor", "param = 'Bodega_CAJA'", conn)
    bode2 = DevuelveCampo("cfg", "", "valor", "param = 'Bodega_BCI'", conn)
    bode3 = DevuelveCampo("cfg", "", "valor", "param = 'Bodega_IBR'", conn)
    bode4 = DevuelveCampo("cfg", "", "valor", "param = 'Bodega_UPAGO'", conn)
            
    var_sql = "SELECT folio,fecha,codaux,netoexento from softland.iw_gsaen " _
            & "where fecha >= '" & dtp_inicio.Value & "' and fecha <= '" & dtp_fin.Value & "' and tipo = 'B' and (codbode = " & bode1 & " or codbode = " & bode2 & " or codbode = " & bode3 & " or codbode = " & bode4 & ")" _
            & " order by folio"
    objRS.Open var_sql, connSQL
    While Not objRS.EOF
        var_sql = "insert into temp_boletas_softland(folio,fecha,codaux,montoexento)" _
                & " values(" & objRS("folio") & ",'" & Format(objRS("fecha"), "yyyy-mm-dd") & "','" & objRS("codaux") & "'," & val(objRS("netoexento")) & ")"
        conn.Execute var_sql
        objRS.MoveNext
    Wend
    objRS.Close
            
    ApExcel.Cells(1, 1).Formula = "N°"
    ApExcel.Cells(1, 2).Formula = "Folio Boleta"
    ApExcel.Cells(1, 3).Formula = "Fecha Boleta"
    ApExcel.Cells(1, 4).Formula = "Rut Apoderado"
    ApExcel.Cells(1, 5).Formula = "Monto Boleta"
    ApExcel.Cells(1, 6).Formula = "Descripción"
                
    '' Gescol
    var_sql = "SELECT fecha_blta,folio_blta_fisico AS folio,run_apo,SUM(monto_pago) AS pago,'Boleta esta en GesCol y NO esta en Softland' descripcion" _
            & " FROM fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad m,fnza_cod_forma_pago fp" _
            & " Where b.folio_blta = n.folio_blta And n.folio_mvto = m.folio_mvto" _
            & " AND fecha_blta >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' AND fecha_blta <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "' AND m.tipo_pago = fp.forma_pago" _
            & " and folio_blta_fisico not in (select folio from temp_boletas_softland)" _
            & " GROUP BY folio_blta_fisico"
            
    objRS.Open var_sql, conn
    If objRS.RecordCount > 0 Then
    I = 1
        
    pgbar.Min = 0
    pgbar.Max = objRS.RecordCount + 1
    pgbar.Value = pgbar.Min
    total_boletas = 0
    Monto_boletas = 0
    While Not objRS.EOF
        I = I + 1
        ApExcel.Cells(I, 1).Formula = I
        ApExcel.Cells(I, 2).Formula = objRS("folio")
        ApExcel.Cells(I, 3).Formula = objRS("fecha_blta")
        ApExcel.Cells(I, 4).Formula = objRS("run_apo")
        ApExcel.Cells(I, 5).Formula = objRS("pago")
        ApExcel.Cells(I, 6).Formula = objRS("descripcion")
       
        pgbar.Value = I - 1

        objRS.MoveNext
    Wend
    'Else
    Registros = Registros + objRS.RecordCount
    End If
    objRS.Close
    'i = i + 1
    
    
    '' Softland
    var_sql = "create table temp_boletas_gescol type = MyISAM SELECT fecha_blta,folio_blta_fisico,run_apo,SUM(monto_pago) AS pago,'Boleta esta en GesCol y NO esta en Softland' descripcion FROM fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad m,fnza_cod_forma_pago fp " _
            & " WHERE b.folio_blta = n.folio_blta AND n.folio_mvto = m.folio_mvto" _
            & " AND fecha_blta >= '" & Format(dtp_inicio.Value, "yyyy-mm-dd") & "' AND fecha_blta <= '" & Format(dtp_fin.Value, "yyyy-mm-dd") & "' AND m.tipo_pago = fp.forma_pago GROUP BY folio_blta_fisico"
    conn.Execute var_sql
    
    var_sql = "select folio,fecha,codaux,montoexento,'Boleta esta en Softland y No esta en GesCol' as descripcion from temp_boletas_softland" _
            & " where folio not in (SELECT folio_blta_fisico AS folio" _
            & " FROM temp_boletas_gescol)"
            
    objRS.Open var_sql, conn
    If objRS.RecordCount > 0 Then
    'i = 1
        
    pgbar.Min = 0
    pgbar.Max = objRS.RecordCount + 1
    pgbar.Value = pgbar.Min
    total_boletas = 0
    Monto_boletas = 0
    While Not objRS.EOF
        I = I + 1
        ApExcel.Cells(I, 1).Formula = I
        ApExcel.Cells(I, 2).Formula = objRS("folio")
        ApExcel.Cells(I, 3).Formula = objRS("fecha")
        ApExcel.Cells(I, 4).Formula = objRS("codaux")
        ApExcel.Cells(I, 5).Formula = objRS("montoexento")
        ApExcel.Cells(I, 6).Formula = objRS("descripcion")
       
        'pgbar.Value = i - 1

        objRS.MoveNext
    Wend
    'Else
    Registros = Registros + objRS.RecordCount
    End If
    objRS.Close
    'i = i + 1
    
    '' Comparacion Boletas Gescol con Softland
    
'    var_sql = "create table temp_boletas_gescol type = MyISAM SELECT fecha_blta,folio_blta_fisico,run_apo,SUM(monto_pago) AS pago,'Boleta esta en GesCol y NO esta en Softland' descripcion FROM fnza_boletas b,fnza_dtll_mvto n,fnza_movimientos_mensualidad m,fnza_cod_forma_pago fp " _
'            & " WHERE b.folio_blta = n.folio_blta AND n.folio_mvto = m.folio_mvto" _
'            & " AND fecha_blta >= '2018-10-01' AND fecha_blta <= '2018-10-31' AND m.tipo_pago = fp.forma_pago GROUP BY folio_blta_fisico"
'    conn.Execute var_sql
    
    var_sql = "SELECT fecha_blta,folio_blta_fisico,run_apo,pago,CONCAT('No coincide monto Gescol con Softland,Gescol: ',pago,' Softland: ',montoexento) AS descripcion" _
            & " FROM temp_boletas_gescol g,temp_boletas_softland s" _
            & " WHERE folio_blta_fisico = folio AND pago <> montoexento"
            
    objRS.Open var_sql, conn
    If objRS.RecordCount > 0 Then
    'i = 1
        
    pgbar.Min = 0
    pgbar.Max = objRS.RecordCount + 1
    pgbar.Value = pgbar.Min
    total_boletas = 0
    Monto_boletas = 0
    While Not objRS.EOF
        I = I + 1
        ApExcel.Cells(I, 1).Formula = I
        ApExcel.Cells(I, 2).Formula = objRS("folio_blta_fisico")
        ApExcel.Cells(I, 3).Formula = objRS("fecha_blta")
        ApExcel.Cells(I, 4).Formula = objRS("run_apo")
        ApExcel.Cells(I, 5).Formula = objRS("pago")
        ApExcel.Cells(I, 6).Formula = objRS("descripcion")
       
        'pgbar.Value = i - 1

        objRS.MoveNext
    Wend
    'Else
        Registros = Registros + objRS.RecordCount
    End If
    objRS.Close
    I = I + 1
      
    If Registros = 0 Then Exit Sub
    
    ApExcel.Cells(1, 1).Font.Size = 12
    ApExcel.Cells(1, 2).Font.Size = 12
    ApExcel.Cells(1, 3).Font.Size = 12
    ApExcel.Cells(1, 4).Font.Size = 12
    ApExcel.Cells(1, 5).Font.Size = 12
    ApExcel.Cells(1, 6).Font.Size = 12
    
    ApExcel.Cells(1, 1).Font.Bold = True
    ApExcel.Cells(1, 2).Font.Bold = True
    ApExcel.Cells(1, 3).Font.Bold = True
    ApExcel.Cells(1, 4).Font.Bold = True
    ApExcel.Cells(1, 5).Font.Bold = True
    ApExcel.Cells(1, 6).Font.Bold = True
      
    ApExcel.Cells(I, 1).Font.Bold = True
    ApExcel.Cells(I, 2).Font.Bold = True
    ApExcel.Cells(I, 3).Font.Bold = True
    ApExcel.Cells(I, 4).Font.Bold = True
    ApExcel.Cells(I, 5).Font.Bold = True
    ApExcel.Cells(I, 6).Font.Bold = True
'    ApExcel.Cells(i, 7).Font.Bold = True
'    ApExcel.Cells(i, 8).Font.Bold = True
'    ApExcel.Cells(i, 9).Font.Bold = True
'    ApExcel.Cells(i, 10).Font.Bold = True
'    ApExcel.Cells(i, 11).Font.Bold = True
            
    ApExcel.Columns("A").ColumnWidth = 10
    ApExcel.Columns("B").ColumnWidth = 15
    ApExcel.Columns("C").ColumnWidth = 40
    ApExcel.Columns("D").ColumnWidth = 40
    ApExcel.Columns("E").ColumnWidth = 15
    ApExcel.Columns("F").ColumnWidth = 15
'    ApExcel.Columns("G").ColumnWidth = 15
'    ApExcel.Columns("H").ColumnWidth = 15
'    ApExcel.Columns("I").ColumnWidth = 15
'    ApExcel.Columns("J").ColumnWidth = 15
'    ApExcel.Columns("K").ColumnWidth = 15
            
    ApExcel.Visible = True
    ApExcel.Range("a1:f1").Borders.color = RGB(255, 0, 0)
    Set ApExcel = Nothing
    
    
End Sub


