<%@ Language=VBScript %>
<!--#INCLUDE file="ADOVBS.inc"-->
<%
	dim int_folio, str_proceso
	dim sqlQuery, rs, conn, resultado(60), STR_SALIR


	dsn= application("bd_sieps")

	set conn = server.CreateObject ("ADODB.Connection")
	set rs = server.CreateObject ("ADODB.Recordset")

	conn.Open dsn

	int_folio= Request.Cookies("sieps")("folio")
	str_proceso = Request.form("TXT_PROCESO")
	STR_SALIR= Request.Form("SALIR")


	for i=1 to 24
		int_numero=0
		for j=1 to 6
			if Request.Form("r"&i&"-"&j)="on" then
				int_numero =J	
			end if
		next
		resultado(i)=int_numero
	next
	for i=25 to 60
		int_numero=0
		for j=1 to 8
			if Request.Form("r"&i&"-"&j)="on" then
				int_numero =J	
			end if
		next
		resultado(i)=int_numero
	next

	if str_proceso="alta" then ' si es una alta
		sqlQuery = "SELECT * FROM matrices_basico WHERE soli_folio =" & int_folio
		
		On Error Resume Next
		rs.Open sqlQuery, conn,adOpenForwardOnly,adLockReadOnly,1
		handleError(conn)
		
		IF rs.EOF = true then ' si no existe
			conn.BeginTrans
			sqlQuery = "INSERT INTO matrices_basico (soli_folio, R_A_1, R_A_2, R_A_3, R_A_4, R_A_5, R_A_6, R_A_7, R_A_8, R_A_9, R_A_10, R_A_11, R_A_12, "_   
			&" R_B_1, R_B_2, R_B_3, R_B_4, R_B_5, R_B_6, R_B_7, R_B_8, R_B_9, R_B_10, R_B_11, R_B_12, "_
			&" R_C_1, R_C_2, R_C_3, R_C_4, R_C_5, R_C_6, R_C_7, R_C_8, R_C_9, R_C_10, R_C_11, R_C_12, "_
			&" R_D_1, R_D_2, R_D_3, R_D_4, R_D_5, R_D_6, R_D_7, R_D_8, R_D_9, R_D_10, R_D_11, R_D_12, "_
			&" R_E_1, R_E_2, R_E_3, R_E_4, R_E_5, R_E_6, R_E_7, R_E_8, R_E_9, R_E_10, R_E_11, R_E_12)"_
			&" VALUES(" & int_folio & "," &  resultado(1) & "," &  resultado(2) & "," &  resultado(3) & "," &  resultado(4) & ", "_
			&" " &  resultado(5) & "," &  resultado(6) & "," &  resultado(7) & "," &  resultado(8) & ", "_
			&" " &  resultado(9) & "," &  resultado(10) & "," &  resultado(11) & "," &  resultado(12) & ", "_
			&" " &  resultado(13) & "," &  resultado(14) & "," &  resultado(15) & "," &  resultado(16) & ", "_
			&" " &  resultado(17) & "," &  resultado(18) & "," &  resultado(19) & "," &  resultado(20) & ", "_
			&" " &  resultado(21) & "," &  resultado(22) & "," &  resultado(23) & "," &  resultado(24) & ", "_
			&" " &  resultado(25) & "," &  resultado(26) & "," &  resultado(27) & "," &  resultado(28) & ", "_
			&" " &  resultado(29) & "," &  resultado(30) & "," &  resultado(31) & "," &  resultado(32) & ", "_
			&" " &  resultado(33) & "," &  resultado(34) & "," &  resultado(35) & "," &  resultado(36) & ", "_
			&" " &  resultado(37) & "," &  resultado(38) & "," &  resultado(39) & "," &  resultado(40) & ", "_
			&" " &  resultado(41) & "," &  resultado(42) & "," &  resultado(43) & "," &  resultado(44) & ", "_
			&" " &  resultado(45) & "," &  resultado(46) & "," &  resultado(47) & "," &  resultado(48) & ", "_
			&" " &  resultado(49) & "," &  resultado(50) & "," &  resultado(51) & "," &  resultado(52) & ", "_
			&" " &  resultado(53) & "," &  resultado(54) & "," &  resultado(55) & "," &  resultado(56) & ", "_
			&" " &  resultado(57) & "," &  resultado(58) & "," &  resultado(59) & "," &  resultado(60) & ")"
			
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			conn.CommitTrans
			
		END IF
		
	elseif str_proceso="cambio" then  ' si es un cambio
		conn.BeginTrans
		sqlQuery = "SELECT * FROM matrices_basico WHERE soli_folio =" & int_folio
		
		On Error Resume Next
		rs.Open sqlQuery, conn,adOpenForwardOnly,adLockReadOnly,1
		handleError(conn)
		
		IF rs.EOF = false then
			sqlQuery = "UPDATE matrices_basico SET R_A_1 =" & resultado(1) & ", R_A_2 =" & resultado(2) & ", R_A_3 =" & resultado(3) & ", R_A_4 =" & resultado(4) & ","_
			& " R_A_5 =" & resultado(5) & ", R_A_6 =" & resultado(6) & ", R_A_7 =" & resultado(7) & ", R_A_8 =" & resultado(8) & ","_
			& " R_A_9 =" & resultado(9) & ", R_A_10 =" & resultado(10) & ", R_A_11 =" & resultado(11) & ", R_A_12 =" & resultado(12) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			sqlQuery = "UPDATE matrices_basico SET R_B_1 =" & resultado(13) & ", R_B_2 =" & resultado(14) & ", R_B_3 =" & resultado(15) & ", R_B_4 =" & resultado(16) & ","_
			& " R_B_5 =" & resultado(17) & ", R_B_6 =" & resultado(18) & ", R_B_7 =" & resultado(19) & ", R_B_8 =" & resultado(20) & ","_
			& " R_B_9 =" & resultado(21) & ", R_B_10 =" & resultado(22) & ", R_B_11 =" & resultado(23) & ", R_B_12 =" & resultado(24) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			sqlQuery = "UPDATE matrices_basico SET R_C_1 =" & resultado(25) & ", R_C_2 =" & resultado(26) & ", R_C_3 =" & resultado(27) & ", R_C_4 =" & resultado(28) & ","_
			& " R_C_5 =" & resultado(29) & ", R_C_6 =" & resultado(30) & ", R_C_7 =" & resultado(31) & ", R_C_8 =" & resultado(32) & ","_
			& " R_C_9 =" & resultado(33) & ", R_C_10 =" & resultado(34) & ", R_C_11 =" & resultado(35) & ", R_C_12 =" & resultado(36) & " WHERE soli_folio =" & int_folio
			
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			sqlQuery = "UPDATE matrices_basico SET R_D_1 =" & resultado(37) & ", R_D_2 =" & resultado(38) & ", R_D_3 =" & resultado(39) & ", R_D_4 =" & resultado(40) & ","_
			& " R_D_5 =" & resultado(41) & ", R_D_6 =" & resultado(42) & ", R_D_7 =" & resultado(43) & ", R_D_8 =" & resultado(44) & ","_
			& " R_D_9 =" & resultado(45) & ", R_D_10 =" & resultado(46) & ", R_D_11 =" & resultado(47) & ", R_D_12 =" & resultado(48) & " WHERE soli_folio =" & int_folio
			
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			sqlQuery = "UPDATE matrices_basico SET R_E_1 =" & resultado(49) & ", R_E_2 =" & resultado(50) & ", R_E_3 =" & resultado(51) & ", R_E_4 =" & resultado(52) & ","_
			& " R_E_5 =" & resultado(53) & ", R_E_6 =" & resultado(54) & ", R_E_7 =" & resultado(55) & ", R_E_8 =" & resultado(56) & ","_
			& " R_E_9 =" & resultado(57) & ", R_E_10 =" & resultado(58) & ", R_E_11 =" & resultado(59) & ", R_E_12 =" & resultado(60) & " WHERE soli_folio =" & int_folio
			
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			conn.CommitTrans
				
		END IF
		
	end if
	'clean up
	If rs.State = adStateOpen then
		rs.Close
	End If
	If conn.State = adStateOpen then
		conn.Close
	End If
	Set rs = Nothing
	Set conn = Nothing
	
	IF STR_SALIR ="SALIR" then
		Response.Redirect("aplicacion_termina.asp")
	else
		Response.Redirect("uti_siguiente.asp")
	end if

sub handleError(connectionRef)
	dim objErr
	dim str_c
	dim strrr, flag
	flag = 0

	if connectionRef.Errors.Count <> 0 Then
		str_c = str_c & "Count: " 
		str_c = str_c & connectionRef.Errors.Count
		for each objErr in connectionRef.Errors
			if objErr.Number <> 0 then ' Number = 0 el error es meramente informativo
				str_c = str_c & " Number: "
				str_c = str_c & objErr.Number			
				
				str_c = str_c & " Description: "
				str_c = str_c & objErr.Description  
			  
				str_c=str_c&" Native error: "
				str_c=str_c&objErr.NativeError 
				  
				str_c=str_c&" SQL state: "
				str_c=str_c&objErr.SQLState
				flag = 1
			end if
		next		
		if flag <> 0 then
			' clean up		
			if conn.State = adStateOpen then
				conn.Close
			end if
			
			set rs = Nothing
			set conn = Nothing
			set connectionRef = nothing
			
			strrr = "uti_console.asp?mensaje=" & "Error: " & str_c 
			Response.Redirect(strrr)
		end if		
	end if	
end sub

sub sendMensajeToConsole(mensaje)
	dim strrr
	strrr="uti_console.asp?mensaje=" & mensaje
	Response.Redirect(strrr)
end sub
%>
