fix: dispatch check logic

This commit is contained in:
Wataru Otsubo 2024-10-03 14:24:51 +09:00
parent a821915028
commit f81241a89b

View file

@ -36,22 +36,37 @@ function is_dispatchable(conn::DbConnection, psbid::Int64)
single_results = filter(:psboard_id => ==(psbid), conn.df_single_result)
extra_results = filter(:psboard_id => ==(psbid), conn.df_extra_results)
is_single_passed::Bool = nrow(single_results) == 1 && single_results.qaqc_result[1] == 1
is_single_passed::Bool =
nrow(single_results) == 1 && let
single_result = Tables.rowtable(single_results) |> first
single_result.resistance_test_passed == 1 &&
single_result.qspip == 1 &&
single_result.recov == 1 &&
single_result.power == 1 &&
single_result.clock == 1
end
@debug "" is_single_passed single_results
is_extra_passed::Bool =
nrow(extra_results) == 1 && let
extra_result = Tables.rowtable(extra_results) |> first
f1 =
extra_results.insufficient_reset_with_10 >
extra_results.num_tests * THRESHOLD_INSUFFICIENT_RESET_WITH_10
ismissing(extra_result.insufficient_reset_with_10) &&
extra_result.insufficient_reset_with_10 >=
extra_result.num_tests * THRESHOLD_INSUFFICIENT_RESET_WITH_10
f2 =
extra_results.reset_failed_though_reconfig_done >
extra_results.num_tests * THRESHOLD_RESET_FAILED_THOUGH_RECONFIG_DONE
ismissing(extra_result.reset_failed_though_reconfig_done) &&
extra_result.reset_failed_though_reconfig_done >=
extra_result.num_tests * THRESHOLD_RESET_FAILED_THOUGH_RECONFIG_DONE
f3 =
extra_results.always_hit_flag_true >
extra_results.num_tests * THRESHOLD_ALWAYS_HIT_FLAG_TRUE
f4 = extra_results.bcid_fail > extra_results.num_tests * THRESHOLD_BCID_FAIL
f1 || f2 || f3 || f4
ismissing(extra_result.always_hit_flag_true) &&
extra_result.always_hit_flag_true >=
extra_result.num_tests * THRESHOLD_ALWAYS_HIT_FLAG_TRUE
f4 =
ismissing(extra_result.bcid_fail) &&
extra_result.bcid_fail >= extra_result.num_tests * THRESHOLD_BCID_FAIL
@debug "" f1 f2 f3 f4
!(f1 || f2 || f3 || f4)
end
@debug "" is_extra_passed extra_results