[i-Diário] - Erro ao acessar/registrar uma recuperação de etapas

Olá comunidade, estou enfrentando um problema no momento de registrar uma recuperação por etapa no i-Diário, se alguém conseguir me ajudar agradeceria muito!

i-Educar

Tenho o i-Educar configurado te tal forma na regra de avaliação que atende os critério definidos conforme essa ficha.

No i-Educar tenho uma regra de avaliação que representa essa ficha e meu ano letivo é dividido em 02 etapas (Semestral), conforme imagens abaixo:

Etapas do ano letivo

Regra de avaliação




i-Diário

No i-Diário, tenho a minha avaliação numérica configurada como abaixo:

Avaliação Numérica

Detalhe da avaliação numérica


No entanto ao acessar o menu:
image

Na tela seguinte, clicar em novo lançamento:

E em seguida preencher os campos obrigatórios como abaixo:

Ao lançar a nota do aluno e clicar em salvar, obtive o seguinte erro em tela:

No log do i-Diário, passou a seguinte exceção:

I, [2022-08-03T09:00:32.167644 #2250556]  INFO -- : Completed 200 OK in 48ms (Views: 10.7ms | ActiveRecord: 8.7ms)
I, [2022-08-03T09:00:32.380267 #2250556]  INFO -- : Started GET "/alunos/em-recuperacao.json?classroom_id=95&discipline_id=6&step_id=24&date=18%2F07%2F2022" for 162.158
.62.241 at 2022-08-03 09:00:32 -0300
I, [2022-08-03T09:00:32.414041 #2250556]  INFO -- : Processing by StudentsController#in_recovery as JSON
I, [2022-08-03T09:00:32.414140 #2250556]  INFO -- :   Parameters: {"classroom_id"=>"95", "discipline_id"=>"6", "step_id"=>"24", "date"=>"18/07/2022", "locale"=>"pt-BR"}
I, [2022-08-03T09:00:34.859882 #2250556]  INFO -- : Completed 200 OK in 2446ms (Views: 467.1ms | ActiveRecord: 529.3ms)
I, [2022-08-03T09:02:29.027000 #2250556]  INFO -- : Started POST "/diario-de-recuperacoes-de-etapas" for 162.158.62.55 at 2022-08-03 09:02:29 -0300
I, [2022-08-03T09:02:29.071775 #2250556]  INFO -- : Processing by SchoolTermRecoveryDiaryRecordsController#create as HTML
I, [2022-08-03T09:02:29.071992 #2250556]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"REMOVI_MEU_TOKEN", "school_term_recovery_diary_record"=>{"recovery_diary_record_attributes"=>{"id"=>"", "unity_id"=>"2", "classroom_id"=>"95", "discipline_id"=>"
6", "students_attributes"=>{"1659528034192"=>{"student_id"=>"1446", "score"=>"32"}, "1659528034194"=>{"student_id"=>"1787", "score"=>""}, "1659528034195"=>{"student_id"
=>"1922", "score"=>""}, "1659528034196"=>{"student_id"=>"1923", "score"=>""}}}, "step_id"=>"24", "recorded_at"=>"18/07/2022"}, "commit"=>"Salvar", "locale"=>"pt-BR"}
I, [2022-08-03T09:02:29.271929 #2250556]  INFO -- : LOG: ApplicationController#policy - Policy fallback
E, [2022-08-03T09:02:29.448569 #2250556] ERROR -- : /var/www/idiario/app/controllers/school_term_recovery_diary_records_controller.rb:62:in `create'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.11.1/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.11.1/lib/abstract_controller/base.rb:198:in `process_action'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.11.1/lib/action_controller/metal/rendering.rb:10:in `process_action'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.11.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:117:in `call'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:505:in `call'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/var/www/idiario/app/controllers/application_controller.rb:293:in `set_thread_origin_type'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:312:in `block in halting'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:497:in `block in around'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:505:in `call'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/var/www/idiario/app/controllers/application_controller.rb:283:in `set_user_current'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:312:in `block in halting'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:497:in `block in around'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:505:in `call'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:498:in `block (2 levels) in around'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb:313:in `block (2 levels) in halting'
/var/www/idiario/vendor/bundle/ruby/2.4.0/bundler/gems/activerecord-connections-b2a704ff10c4/lib/active_record/connections.rb:32:in `using_connection'
/var/www/idiario/app/models/entity.rb:22:in `using_connection'
/var/www/idiario/app/controllers/application_controller.rb:91:in `handle_customer'

Obs.: Lembrando que só consigo chegar nessa tele de registrar a avaliação, pois no arquivo /var/www/idiario/app/controllers/school_term_recovery_diary_records_controller.rb

O método new está dessa forma comentado, caso contrário apresenta erro antes mesmo de carregar a tela, o mesmo erro informado no ISSUE-107

Seguindo a mesma lógica, eu comentei também no método create achando que poderia passar com sucesso, segue print de como ficou o método e logo em seguida a mensagem de erro que mudou:

No entanto a minha recuperação e de etapa, ou seja ele substitui a nota do semestre, e como minha regra de avaliação é Somatório, espera-se que a nota da recuperação seja de 0 até 40.

Fórmula de cálculo presente no i-Educar

Fala amigo! Será q tem algo haver com a Nota máxima de exame final que está definida para 10?

Aqui temos 4 bimestres de 25 o q totaliza 100 então defini esse valor como 100, mesmo não tendo essa avaliação final. Acho q no seu caso você deveria definir como 80 já que tem 2 semestres de 40. Tenta aí pra ver se vai. Flow

Olá @kesllan, entendi seu ponto de vista!

Eu configurei assim, pois como tem na ficha “Primeira imagem”, duas recuperações semestrais, e uma recuperação final e essa por sua vez vai de 0 até 10, pois essa nota é somada com a nota somada com que o aluno já conseguiu.

Se eu fizer isso que você está propondo, como ficaria o caso da nota da recuperação final, pois se a recuperação final fosse substituir a nota final do aluno, seu ponto de vista poderia ser uma solução, mais nesse caso eu preciso que ela se mantenha de 0-10 para ser somada a nota somatório que o aluno já conseguiu!

Aquele campo indica o valor máximo q pode ser definido na avaliação Final, mas o valor q vai valer mesmo pra avaliação final é o q vc definir no i-diário.

O problema q vejo aí, é se caso for alterar o campo de avaliação final direto no i-educar.

Mas faz o teste pra ver se esse campo também serve pra definir os valor máximo da avaliação de recuperação. Se for o caso, acredito q tem algo errado na regra de negócios do sistema.

Obrigado desde já, vou duplicar esse ambiente final de semana para tentar testar isso tranquilamente sem afetar o ambiente oficial.

Mais ainda acredito que tenha algo faltando no i-Educar quando trabalha com regra de avaliação Somatório e que tenha recuperações por etapas e uma recuperação final.