diff --git a/src/dispatch_checker.jl b/src/dispatch_checker.jl index 1d208f2..374af39 100644 --- a/src/dispatch_checker.jl +++ b/src/dispatch_checker.jl @@ -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