From 21f38e83dbdc1bcb25290d948cc882ef27577fd0 Mon Sep 17 00:00:00 2001 From: Wataru Otsubo Date: Fri, 13 Sep 2024 13:39:51 +0900 Subject: [PATCH] add: import 100 run results + more - master log parser to get run info - test for master log parser - master log reader - note field for single run - fix datetime manipulation for single result table --- src/PSBoardDataBase.jl | 30 + src/import_data.jl | 227 ++++++- src/parse_qaqc_master_log.jl | 56 ++ src/sql/create_table.sql | 20 +- test/input/.gitignore | 2 + ...S board QAQC Data Base - 100回試験結果.csv | 643 ++++++++++++++++++ test/input/PS board QAQC Data Base - 出荷.csv | 463 +++++++++++++ test/input/log/57_long.log | 49 ++ test/runtests.jl | 31 +- 9 files changed, 1505 insertions(+), 16 deletions(-) create mode 100644 src/parse_qaqc_master_log.jl create mode 100644 test/input/.gitignore create mode 100644 test/input/PS board QAQC Data Base - 100回試験結果.csv create mode 100644 test/input/PS board QAQC Data Base - 出荷.csv create mode 100644 test/input/log/57_long.log diff --git a/src/PSBoardDataBase.jl b/src/PSBoardDataBase.jl index d54c785..0865a27 100644 --- a/src/PSBoardDataBase.jl +++ b/src/PSBoardDataBase.jl @@ -3,13 +3,43 @@ module PSBoardDataBase using SQLite using DBInterface using Tables +using CSV using DataFrames using Dates +include("parse_qaqc_master_log.jl") + include("create_table.jl") include("import_data.jl") +function create_database_from_exported_csvs( + dbpath::AbstractString; + single_run_csv::AbstractString, + runlist_csv::AbstractString, + dispatch_csv::AbstractString, + hundred_csv::AbstractString, + masterlog_dir::AbstractString, +) + db = create_database(dbpath) + single_result_df = CSV.read(single_run_csv, DataFrame) + runlist_table = CSV.read(runlist_csv, DataFrame) + dispatch_table = CSV.read(dispatch_csv, DataFrame) + extra_100test_result_df = CSV.read(hundred_csv, DataFrame) + + insert_qaqc_campaign_id(db) + insert_qaqc_positions(db) + + add_psboard_ids(db, single_result_df) + add_qaqc_runlist(db, runlist_table) + add_qaqc_single_result(db, single_result_df, runlist_table) + add_qaqc_dispatch(db, dispatch_table) + add_qaqc_runlist_from_masterlogs(db, masterlog_dir) + add_qaqc_100test_result(db, extra_100test_result_df) + + db +end + greet() = print("Hello World!") end # module PSBoardDataBase diff --git a/src/import_data.jl b/src/import_data.jl index ff19366..ab73812 100644 --- a/src/import_data.jl +++ b/src/import_data.jl @@ -130,11 +130,23 @@ function add_qaqc_runlist(db::SQLite.DB, runlist_table::DataFrame) nothing end +function get_campaign_id_from_run_id(runid::Integer) + if runid < 63 + 1 + elseif runid < 98 + 2 + else + 3 + end +end + function add_qaqc_single_result( db::SQLite.DB, single_result_table::DataFrame, runlist_table::DataFrame, ) + single_result_table = prepare_single_result_df(single_result_table) + position_id_map = ["B-$i-$j" for i in 0:1 for j in 1:9] |> enumerate .|> (x -> begin (i, s) = x @@ -180,7 +192,8 @@ function add_qaqc_single_result( clock, asdtp, reset, - qaqc_result + qaqc_result, + note ) VALUES ( :runid, @@ -194,7 +207,8 @@ function add_qaqc_single_result( :clock, :asdtp, :reset, - :qaqc_result + :qaqc_result, + :note ) """, ) @@ -221,13 +235,7 @@ function add_qaqc_single_result( # Add run if it's not in `qaqc_runs` table # or update info on the run (such as datetime) if DBInterface.execute(stmt_search_runid, (; runid = row.runid)) |> isempty - campaign_id = if row.runid < 63 - 1 - elseif row.runid < 98 - 2 - else - 3 - end + campaign_id = get_campaign_id_from_run_id(row.runid) comment = let row_run = filter( Symbol("Run ID") => x -> !ismissing(x) && x == row.runid, @@ -245,7 +253,7 @@ function add_qaqc_single_result( ( runid = row.runid, campaign_id = campaign_id, - run_datetime = row.timestamp, + run_datetime = row.timestamp |> string, note = comment, shifter = row.shifter, logfile = row.qaqc_log_file, @@ -257,7 +265,7 @@ function add_qaqc_single_result( stmt_update_runid, ( runid = row.runid, - run_datetime = row.timestamp, + run_datetime = row.timestamp |> string, shifter = row.shifter, logfile = row.qaqc_log_file, shiftscript_ver = row.shiftscript_ver, @@ -287,6 +295,7 @@ function add_qaqc_single_result( asdtp = row.asdtp, reset = row.reset, qaqc_result = row.qaqc_result, + note = row.comment, ), ) end @@ -325,7 +334,7 @@ function prepare_dispatch_table(raw_dispatch_table::DataFrame)::DataFrame df end -function add_qaqcdispatch(db::SQLite.DB, dispatch_table::DataFrame) +function add_qaqc_dispatch(db::SQLite.DB, dispatch_table::DataFrame) dispatch_table = prepare_dispatch_table(dispatch_table) # TODO: provide datetime @@ -344,3 +353,197 @@ function add_qaqcdispatch(db::SQLite.DB, dispatch_table::DataFrame) nothing end + +""" +Add qaqc run list from master log files in `logs_dir`. +Currently, it adds long runs and run with id 20-23 only (since normal runs are added from single run results table). +""" +function add_qaqc_runlist_from_masterlogs(db::SQLite.DB, logs_dir::AbstractString) + stmt_search_runid = DBInterface.prepare( + db, + sql""" + SELECT id + FROM qaqc_runs + WHERE id = :runid + """, + ) + stmt_insert_runid = DBInterface.prepare( + db, + sql""" + INSERT INTO qaqc_runs + VALUES (:runid, :campaign_id, :run_datetime, :note, :shifter, :logfile, :shiftscript_ver) + """, + ) + + is_run_to_add(log_file) = begin + m = match(r"(\d+)\.log", log_file) + contains("_long.log")(log_file) || + !isnothing(m) && ( + begin + num = parse(Int64, m[1]) + 20 <= num <= 23 || num == 27 || num == 28 + end + ) + end + + longrun_logs = readdir(logs_dir; join = true) |> filter(is_run_to_add) + # longrun_logs = readdir(logs_dir; join = true) |> filter(contains("_long.log")) + for longrun_log in longrun_logs + run_metadata = QaqcMasterLog.parse_master_log(longrun_log) + if isnothing(run_metadata) + continue + end + + if !isempty(DBInterface.execute(stmt_search_runid, (; runid = run_metadata.runid))) + # runid is already in the database + continue + end + + DBInterface.execute( + stmt_insert_runid, + ( + runid = run_metadata.runid, + campaign_id = get_campaign_id_from_run_id(run_metadata.runid), + run_datetime = run_metadata.timestamp, + note = "", + shifter = run_metadata.shifters, + logfile = splitdir(longrun_log) |> last, + shiftscript_ver = run_metadata.shiftscript_version, + ), + ) + end + + nothing +end + +function prepare_100test_table(table::DataFrame)::DataFrame + df = copy(table, copycols = true) + + transform!( + df, + Symbol("motherboard ID") => + ByRow(s -> if startswith("PS")(s) + parse(Int64, s[3:end]) + else + parse(Int64, s) + end) => :motherboard_id, + ) + transform!( + df, + Cols(:motherboard_id, :runid, 4:13) => + ByRow((psbid, runid, items...) -> if psbid == 484 && runid == 115 + missings(items |> length) + else + items + end) => names(df)[4:13], + ) + + df +end + +function add_qaqc_100test_result(db::SQLite.DB, table::DataFrame) + position_id_map = + ["B-$i-$j" for i in 0:1 for j in 1:9] |> enumerate .|> (x -> begin + (i, s) = x + s => i + end) |> Dict + + table = prepare_100test_table(table) + + stmt_search_runid = DBInterface.prepare( + db, + sql""" + SELECT id + FROM qaqc_runs + WHERE id = :runid + """, + ) + stmt_search_resistance_error = DBInterface.prepare( + db, + sql""" + SELECT psb_id + FROM qaqc_resistance_check + WHERE psb_id = :psboard_id AND passed = 0 + """, + ) + stmt_insert_result = DBInterface.prepare( + db, + sql""" + INSERT INTO + qaqc_extra_run_results ( + runid, + psboard_id, + position, + num_tests, + insufficient_reset_with_10, + reset_failed_though_reconfig_done, + always_hit_flag_true, + dac_is_0, + bcid_shift, + efficiency_99percent, + bcid_fail_111, + bcid_fail_000, + low_efficiency, + bcid_fail, + invalid_register_value, + power_out_of_range, + note + ) + VALUES ( + :runid, + :psboard_id, + :position, + 100, + :insufficient_reset_with_10, + :reset_failed_though_reconfig_done, + :always_hit_flag_true, + :dac_is_0, + :bcid_shift, + :efficiency_99percent, + :bcid_fail_111, + :bcid_fail_000, + :low_efficiency, + :bcid_fail, + :invalid_register_value, + :power_out_of_range, + :note + ) + """, + ) + + for row in eachrow(table) + # TODO: get runid from master log file + if DBInterface.execute(stmt_search_runid, (; runid = row.runid)) |> isempty + # search for resistance error + if !isempty( + DBInterface.execute(stmt_search_resistance_error, (; psboard_id = row.motherboard_id)), + ) + continue + end + end + + DBInterface.execute( + stmt_insert_result, + ( + runid = row.runid, + psboard_id = row.motherboard_id, + position = position_id_map[row.position], + insufficient_reset_with_10 = row.var"10回reset足りず", + reset_failed_though_reconfig_done = row.var"reconfig_done = 0なのにresetしていない", + always_hit_flag_true = row.var"always_hit_flag", + dac_is_0 = row.var"DAC = 0", + bcid_shift = row.var"DAC = 0", + efficiency_99percent = row.var"efficiency 99%", + bcid_fail_111 = row.var"BCID 0:0:0", + bcid_fail_000 = row.var"BCID 1:1:1", + low_efficiency = row.var"low efficiency", + bcid_fail = row.var"BCID fail", + invalid_register_value = row.var"invalid register values", + power_out_of_range = row.var"power out of range", + note = row.Column20, + ), + ) + end + + nothing +end diff --git a/src/parse_qaqc_master_log.jl b/src/parse_qaqc_master_log.jl new file mode 100644 index 0000000..2b94bf5 --- /dev/null +++ b/src/parse_qaqc_master_log.jl @@ -0,0 +1,56 @@ +module QaqcMasterLog + +using Dates + +""" +Metadata(not results) of QAQC run from master log. + +# Fields +- `timestamp`: in UTC +- `runid` +- `shifters` +- `shiftscript_version::VersionNumber` +""" +struct QaqcMasterLogMetadata + timestamp::DateTime + runid::Int64 + shifters::String + shiftscript_version::VersionNumber +end + +""" +Parse master log. +If the `logfile` is empty, return `nothing`. +""" +function parse_master_log(logfile::AbstractString) + open(logfile) do f + first_line = readline(f) + if isempty(first_line) + @debug "file $(logfile) is empty" + @assert read(logfile) |> isempty + return nothing + end + shiftscript_version = split(first_line) |> last |> VersionNumber + + @assert readline(f) |> contains("-----") + + date_line = readline(f) + @assert date_line |> split |> first |> contains("Date") + date_part = split(date_line) |> last + datetime, timezone = split(date_part, '+') + @assert timezone == "0000" "Unexpected timestamp: timezone is not UTC" + # Maybe use ZonedDateTime here + timestamp = datetime |> DateTime + + runid_line = readline(f) + runid = parse(Int64, runid_line |> split |> last) + + shifters_line = readline(f) + @assert shifters_line |> split |> first |> contains("Shifters") + shifters = shifters_line |> split |> last + + return QaqcMasterLogMetadata(timestamp, runid, shifters, shiftscript_version) + end +end + +end diff --git a/src/sql/create_table.sql b/src/sql/create_table.sql index 62ff50f..f7534ca 100644 --- a/src/sql/create_table.sql +++ b/src/sql/create_table.sql @@ -17,6 +17,7 @@ CREATE TABLE qaqc_single_run_results ( asdtp INTEGER, reset INTEGER, qaqc_result INTEGER, + note TEXT, FOREIGN KEY("runid") REFERENCES "qaqc_runs"("id"), FOREIGN KEY("psboard_id") REFERENCES "ps_boards"("id"), FOREIGN KEY("position") REFERENCES "qaqc_positions"("id") @@ -63,11 +64,27 @@ CREATE TABLE qaqc_extra_run_results ( runid INTEGER, psboard_id INTEGER NOT NULL, position INTEGER, + num_tests INTEGER, + insufficient_reset_with_10 INTEGER, + reset_failed_though_reconfig_done INTEGER, + always_hit_flag_true INTEGER, + dac_is_0 INTEGER, + bcid_shift INTEGER, + efficiency_99percent INTEGER, + bcid_fail_111 INTEGER, + bcid_fail_000 INTEGER, + low_efficiency INTEGER, + bcid_fail INTEGER, + invalid_register_value INTEGER, + power_out_of_range INTEGER, + note TEXT, FOREIGN KEY("runid") REFERENCES "qaqc_runs"("id"), FOREIGN KEY("psboard_id") REFERENCES "ps_boards"("id"), FOREIGN KEY("position") REFERENCES "qaqc_positions"("id") ); +-- TODO: add table for desciptions of each error? + CREATE TABLE qaqc_positions ( id INTEGER NOT NULL PRIMARY KEY, name TEXT NOT NULL UNIQUE, @@ -98,4 +115,5 @@ AS qaqc_runs WHERE qaqc_positions.id = qaqc_single_run_results.position AND - qaqc_runs.id = qaqc_single_run_results.runid + qaqc_runs.id = qaqc_single_run_results.runid; + diff --git a/test/input/.gitignore b/test/input/.gitignore new file mode 100644 index 0000000..e74f2f2 --- /dev/null +++ b/test/input/.gitignore @@ -0,0 +1,2 @@ +log/* +!log/57_long.log diff --git a/test/input/PS board QAQC Data Base - 100回試験結果.csv b/test/input/PS board QAQC Data Base - 100回試験結果.csv new file mode 100644 index 0000000..302588d --- /dev/null +++ b/test/input/PS board QAQC Data Base - 100回試験結果.csv @@ -0,0 +1,643 @@ +motherboard ID,position,runid,10回reset足りず,reconfig_done = 0なのにresetしていない,always_hit_flag,DAC = 0,efficiency 99%,BCID shift,BCID 0:0:0,BCID 1:1:1,low efficiency,BCID fail,power out of range,invalid register values,ダブルチェック(橋本),追試送り(黒箱行き),追試完了チェック,旧基準, +PS000049,B-0-1,20,,1,,,13,,,,,,,,,1,FALSE,, +PS000043,B-0-2,20,1,,,,,,,,,,,,,,,, +PS000051,B-0-3,20,2,,,,,,,1,,,,,,1,FALSE,, +PS000057,B-0-4,20,,,1,,,,,,,,,,,,,, +PS000059,B-0-5,20,,1,,,,,,,,,,,,,,, +PS000065,B-0-6,20,,,,,,,,,,,,,,,,, +PS000067,B-0-7,20,,,,,29,,,,,,,,,1,FALSE,, +PS000073,B-0-8,20,,,,,,,,,,,,,,,,, +PS000075,B-0-9,20,,,1,,,,,,,,,,,,,, +PS000050,B-1-1,20,5,,,,,,,,,,,,,,,, +PS000044,B-1-2,20,,,,87,,,,,,,,,,1,TRUE,, +44,B-0-3,90,,,,,,,,,,,,,,,,, +PS000052,B-1-3,20,,1,,,,,,,,,,,,,,, +PS000058,B-1-4,20,,,,,,,,,,,,,,,,, +PS000060,B-1-5,20,8,,,,,,,,,,,,,,,, +PS000066,B-1-6,20,,1,,,,,,,,,,,,,,, +PS000068,B-1-7,20,2,,,,,,,,,,,,,,,, +PS000074,B-1-8,20,,,,99,,,,,,,,,,1,TRUE,, +74,B-1-2,90,,2,,,,,,,,,,,,,,, +PS000076,B-1-9,20,,1,,,,1,,,,,,,,1,FALSE,, +PS000041,B-0-1,27,,,,,5,,,,,,,,,,,, +PS000045,B-0-2,27,,2,,,,,,,,,,,,,,, +PS000047,B-0-3,27,,1,,,,,,,,,,,,,,, +PS000053,B-0-4,27,1,,,,,1,,,,,,,,1,FALSE,, +PS000055,B-0-5,27,,,,,,,,,,,,,,,,, +PS000061,B-0-6,27,,,,100,,1,,,,,,,,1,FALSE,, +PS000063,B-0-7,27,,,,,10,,,,,,,,,1,FALSE,, +PS000069,B-0-8,27,,1,,,,,,,,,,,,,,, +PS000071,B-0-9,27,,2,,,,,,,,,,,,,,, +PS000042,B-1-1,27,,1,,,,3,,,,,,,,1,FALSE,, +PS000046,B-1-2,27,,,,,,,,,,,1,,,,,, +PS000048,B-1-3,27,,,,,,,,,,,,,,,,, +PS000054,B-1-4,27,,2,,,,,,,,,,,,,,, +PS000056,B-1-5,27,,,,,,,,,,,,,,,,, +PS000062,B-1-6,27,,,,,,,,,,,,100,,1,TRUE,, +62,B-1-7,90,,2,,,,,,,,,,,,,,, +PS000064,B-1-7,27,13,2,,,,,,,,,,,,1,TRUE,, +PS000070,B-1-8,27,18,,,,,,,,,,,,,1,FALSE,, +PS000072,B-1-9,27,,2,,,,,,,,,,,,,,, +PS000036,B-0-1,28,,,,,,,1,,,,,,,1,FALSE,, +PS000101,B-0-2,28,,,,,,,,,,,,,,,,, +PS000080,B-0-3,28,,1,,,,,,,,,,,,,,, +PS000116,B-0-4,28,,1,,,,,,,,,,,,,,, +PS000104,B-0-5,28,,1,,,,,,,,,,,,,,, +PS000108,B-0-6,28,1,,,,,,,,,,,,,,,, +PS000107,B-0-7,28,,4,,,1,,,,,,,,,,,, +PS000112,B-0-8,28,,,,,,,,,,,,,,,,, +PS000114,B-0-9,28,,2,,,,,,,,,,,,,,, +PS000078,B-1-1,28,4,1,,,,3,,,,,,,,1,FALSE,, +PS000077,B-1-2,28,1,,,,,,,,,,,,,,,, +PS000079,B-1-3,28,11,,,,,,,,,,,,,1,FALSE,, +PS000105,B-1-4,28,,1,,,,,,,,,,,,,,, +PS000109,B-1-5,28,,,,,,1,,,,,,,,1,FALSE,, +PS000110,B-1-6,28,,,,,,,,,,,,,,,,, +PS000106,B-1-7,28,,1,,,,,,,,,,,,,,, +PS000103,B-1-8,28,,,,100,,1,,,,,,,,1,TRUE,, +103,B-1-6,90,,,,,,,,,,,,,,,,, +PS000111,B-1-9,28,1,1,,,,1,,,,,,,,1,FALSE,, +PS000115,B-0-1,31,,,,,5,,,,,,,,,,,, +PS000118,B-0-2,31,,,,,,,,,,,,,,,,, +PS000180,B-0-3,31,,,,,,,,,,,,,,,,, +PS000182,B-0-4,31,8,1,,,,1,,,,,,,,1,FALSE,, +PS000183,B-0-5,31,,,,,,,,,1,,,,,1,TRUE,, +PS000187,B-0-6,31,,,,,,,,,,,,,,,,, +PS000189,B-0-7,31,,,,,,,,,,,,,,,,, +PS000193,B-0-8,31,1,1,,,,,,,,,,,,,,, +PS000190,B-0-9,31,,1,,,,,,,,,,,,,,, +PS000117,B-1-1,31,,1,,,,1,,,,,,,,1,FALSE,, +PS000119,B-1-2,31,,2,2,,,,,,,,,,,,,, +PS000181,B-1-3,31,,,,,,,,,,,,,,,,, +PS000185,B-1-4,31,,1,,,,,,,,,,,,,,, +PS000184,B-1-5,31,19,,,100,,,,,,,,,,1,TRUE,, +PS000188,B-1-6,31,,,,,,,,,,,,,,,,, +PS000186,B-1-7,31,,1,,,,,,,,,,,,,,, +PS000192,B-1-8,31,,1,,,,,,,,,,,,,,, +PS000191,B-1-9,31,,,,,,,,,,,,,,,,, +PS000170,B-0-1,34,,,,,7,,,,,,,,,,,, +PS000194,B-0-2,34,,1,,,,,,,,,,,,,,, +PS000113,B-0-3,34,10,,,,,,,,,,,,,1,FALSE,, +PS000198,B-0-4,34,,,,,,100,,,,,,,,1,TRUE,, +PS000160,B-0-5,34,,,,,,,,,,,,100,,1,TRUE,, +160,B-0-7,90,,1,,,6,,,,,,,,,1,,, +PS000168,B-0-6,34,,,,,,,,,,,,,,,,, +PS000167,B-0-7,34,,1,,,,1,1,,,,,,,1,FALSE,, +PS000166,B-0-8,34,2,2,,,,,,,,,,,,,,, +PS000165,B-0-9,34,,4,,,,,,1,,,,,,1,TRUE,, +PS000169,B-1-1,34,,3,,,,,,,,,,,,,,, +PS000195,B-1-2,34,,,,,,,,,,,,,,,,, +PS000196,B-1-3,34,,,,100,,,,,,,,,,1,TRUE,, +196,B-1-3,90,,,,,,,,,,,,,,,,, +PS000197,B-1-4,34,,,,,,,,,,,,,,,,, +PS000199,B-1-5,34,,1,,,,,,,,,,,,,,, +PS000162,B-1-6,34,,1,,,,,,,,,,,,,,, +PS000164,B-1-7,34,1,2,,,,,,97,,,,,,1,TRUE,, +164,B-1-9,90,1,,,,,,,,,,,,,,,, +PS000161,B-1-8,34,,,,,,,,,,,,,,,,, +PS000163,B-1-9,34,1,,,,,1,,,,,,,,1,FALSE,, +PS000173,B-0-1,36,,,,,25,,,,,,,,,,,, +PS000172,B-0-2,36,,,,,,,2,,,,,,,1,FALSE,, +PS000171,B-0-3,36,7,,,,,,,,,,,,,,,, +PS000179,B-0-4,36,3,,,,,,,,,,,,,,,, +PS000176,B-0-5,36,1,3,,,,,,,,,,,,,,, +PS000120,B-0-6,36,,,,,,,,,,,,,,,,, +PS000123,B-0-7,36,,,,,14,,,,,,,,,,TRUE,, +PS000126,B-0-8,36,1,,,,,,,,,,,,,,,, +PS000127,B-0-9,36,46,,,100,,,,,,,,,,1,TRUE,, +127,B-0-1,90,47,,,,8,1,1,,,,,,,1,,, +PS000174,B-1-1,36,,1,,,,,,,,,,,,,,, +PS000175,B-1-2,36,1,2,,,,,,,,,,,,,,, +PS000178,B-1-3,36,,1,1,,,,,,,,,,,,,, +PS000121,B-1-4,36,,3,,,,,,,,,,,,,,, +PS000177,B-1-5,36,1,,,,,,,,,,,,,,,, +PS000124,B-1-6,36,,1,,,,,,,,,,,,,,, +PS000122,B-1-7,36,1,,,,,,,,,,,,,,,, +PS000128,B-1-8,36,5,,,,,,,,,,,,,,,, +PS000125,B-1-9,36,,2,,,,,,,,,,,,,,, +PS000135,B-0-1,40,,,,100,39,,,,,,,,,1,TRUE,, +PS000130,B-0-2,40,,,,,,,,,,,,,,,,, +PS000129,B-0-3,40,,1,,,,,,,,,,,,,,, +PS000158,B-0-4,40,,,,,,,,,,,,,,,,, +PS000139,B-0-5,40,,,,,,,,,,,,,,,,, +PS000156,B-0-6,40,,,,,,,,,,,,,,,,, +PS000134,B-0-7,40,,,,,67,,,,,,,,,,TRUE,, +PS000157,B-0-8,40,,,,,,,,,,,,,,,,, +PS000153,B-0-9,40,,1,,,,,,,,,,,,,,, +PS000136,B-1-1,40,,1,,,,,,,,,,,,,,, +PS000137,B-1-2,40,,,,,,,,,,,,,,,TRUE,, +137,B-0-4,90,,,,,,,2,,,,,,,1,,, +PS000138,B-1-3,40,21,1,,,,,,,,,,,,1,FALSE,, +PS000133,B-1-4,40,,1,,,,,,,,,,,,,,, +PS000159,B-1-6,40,,,,,,,,,,,,,,,,, +PS000131,B-1-7,40,,,,,,,,,,,,,,,,, +PS000155,B-1-8,40,,,,,,,,,,,,,,,,, +PS000154,B-1-9,40,,,,,,,,,,,,,,,,, +PS000152,B-0-1,42,,,,,12,,,,,,,,,,TRUE,, +PS000148,B-0-2,42,,,,,,,,,,,,,,,,, +PS000150,B-0-3,42,,1,,,,,,,,,,,,,,, +PS000145,B-0-4,42,,2,,,,1,,,,,,,,1,FALSE,, +PS000147,B-0-5,42,,1,,,2,,,,2,2,,,,1,FALSE,, +PS000140,B-0-6,42,,,,,,,,,,,,,,,,, +PS000143,B-0-7,42,,1,,,7,,,,,,,,,,,, +PS000219,B-0-8,42,,1,,,,,,,,,,,,,,, +PS000218,B-0-9,42,,3,,,,,,,,,,,,,,, +PS000151,B-1-1,42,,2,,,,,,,,,,,,,,, +PS000144,B-1-2,42,7,,,,,,,,,,,,,,,, +PS000149,B-1-3,42,,,,,,,,,,,,100,,1,TRUE,, +149,B-0-9,90,,,,,,,,,,,,,,,,, +PS000142,B-1-4,42,,,,,,,,,,,,,,,,, +PS000146,B-1-5,42,,,,,,,,,,,,,,,,, +PS000200,B-1-6,42,,,,,,,,,,,,,,,,, +PS000141,B-1-7,42,26,,,,,,,,,,,,,1,FALSE,, +PS000216,B-1-8,42,1,,,,,,,,,,,,,,,, +PS000217,B-1-9,42,1,,,,,,,,,,,,,,,, +PS000214,B-0-1,46,,1,,,15,,,,,,,,,,TRUE,, +PS000213,B-0-2,46,,1,1,,,,,,,,,,,,,, +PS000212,B-0-3,46,,1,,,,,,,,,,,,,,, +PS000207,B-0-4,46,8,,,,,,,,,,,,,,,, +PS000208,B-0-5,46,,,,,2,,1,,2,3,,,,1,FALSE,, +PS000205,B-0-6,46,,3,,,,,,,,,,,,,,, +PS000203,B-0-7,46,,,,,25,,,,,,,,,,TRUE,, +PS000201,B-0-8,46,,,,,,,,,,,,,,,,, +PS000238,B-0-9,46,1,1,,,,,,,,,,,,,,, +PS000211,B-1-2,46,1,,,,,,,,,,,,,,,, +PS000210,B-1-3,46,,,,,,,,,,,,,,1,TRUE,, +PS000209,B-1-4,46,,,1,,,,,,,,,,,,,, +PS000206,B-1-5,46,,,,,,,,,,,,,,,,, +PS000204,B-1-6,46,,,,10,,,,,,,,,,1,TRUE,, +204,B-0-2,90,,2,,,,,,,,,,,,,,, +PS000202,B-1-7,46,1,2,,,,,,,,,,,,,,, +PS000239,B-1-8,46,,,,,,,,,,,,,,,,, +PS000237,B-1-9,46,,1,,,,,1,,,,,,,1,FALSE,, +PS000235,B-0-1,49,,,,,22,,,,,,,,,,TRUE,, +PS000231,B-0-2,49,,1,,,,1,,,,,,,,1,FALSE,, +PS000232,B-0-3,49,,,,,,1,1,,,,,,,1,FALSE,, +PS000228,B-0-4,49,,3,,,,,,,,,,,,,,, +PS000230,B-0-5,49,,1,,,,1,,,,,,,,1,FALSE,, +PS000225,B-0-6,49,,1,,,,1,,,,,,,,1,FALSE,, +PS000226,B-0-7,49,,,,100,7,,,,,,,,,1,TRUE,, +PS000222,B-0-8,49,1,1,,,,,,,,,,,,,,, +PS000221,B-0-9,49,,,,,,,,,,,,,,,,, +PS000215,B-1-1,49,,2,,,,,,,,,,,,,,, +PS000234,B-1-1,49,,,,,,,,,,,,,,,,, +PS000233,B-1-3,49,,,,,,,,,,,,,,1,TRUE,, +PS000227,B-1-4,49,1,,,,,1,,,,,,,,1,FALSE,, +PS000229,B-1-5,49,,,,,,,,,,,,,,,,, +PS000224,B-1-6,49,,,,,,,,,,,,,,,,, +PS000223,B-1-7,49,,,,,,,,,,,,,,,,, +PS000220,B-1-8,49,1,,,,,,1,,,,,,,1,FALSE,, +PS000100,,,,,,,,,,,,,,,,1,FALSE,, +PS000102,,,,,,,,,,,,,,,,1,FALSE,, +PS000132,B-0-8,90,,1,,,,,,,,,,,,,,, +PS000236,,,,,,,,,,,,,,,,1,FALSE,, +324,B-0-2,67,15,,,,,,,,,,,,TRUE,1,TRUE,, +321,B-0-3,67,,3,,,,,,,,,,,TRUE,,,, +320,B-0-4,67,1,1,,,,,,,,,,,TRUE,,,, +325,B-0-5,67,1,,,,,,,,,,,,TRUE,,,, +334,B-0-8,67,1,1,,,,,,,,,,,TRUE,,,, +332,B-0-9,67,,1,,,,,,,,,,,TRUE,,,, +327,B-1-2,67,,1,,,,,,1,,,,,TRUE,1,,, +323,B-1-3,67,,,,,,,,,,,,,TRUE,,,, +322,B-1-4,67,,,,,,,100,,,,,,TRUE,1,TRUE,, +322,B-1-1,90,4,1,,,,,,,,,,,FALSE,,,, +326,B-1-5,67,,1,,,,,,,,,,,TRUE,,,, +330,B-1-6,67,,,,,,,,,,,,,TRUE,,,, +328,B-1-7,67,1,1,,,,,,,,,,,TRUE,,,, +335,B-1-8,67,,1,,,,,,,,,,,TRUE,,,, +335,B-0-6,90,,,,,,,,,,,,,FALSE,,,, +333,B-1-9,67,,,,,,,,,,,,,TRUE,,,, +336,B-0-1,70,,,,,,,,,,,,,TRUE,,,, +331,B-0-2,70,,,,,,,,,,,,,TRUE,,,, +338,B-0-3,70,,,,,,1,,,,,,,TRUE,1,FALSE,, +260,B-0-4,70,,1,,,,,,,,,,,TRUE,,,, +262,B-0-5,70,,,,,,,,,,,,,TRUE,,,, +264,B-0-6,70,,,,,,,,,,,,,TRUE,,,, +267,B-0-7,70,,1,,,,,,,,,,,TRUE,,,, +268,B-0-8,70,,,,,,1,1,,,1,,,TRUE,1,FALSE,, +269,B-0-9,70,,,,,,,,,,,,,TRUE,,,, +337,B-1-1,70,,2,,,,2,,,,,,,TRUE,1,FALSE,, +329,B-1-2,70,,2,,,,,,,,,,,TRUE,,,, +339,B-1-3,70,,,,,,,,,,,,,TRUE,,,, +261,B-1-4,70,,1,,,,,,,,,,,TRUE,,,, +263,B-1-5,70,,,,,,,,,,,,,TRUE,,,, +265,B-1-6,70,,,,,,,,,,,,,TRUE,,,, +266,B-1-7,70,,,,,,,,,,,,,TRUE,,,, +270,B-1-8,70,,1,,,,,,,,,,,TRUE,,,, +270,B-1-4,90,,1,,,,,,,,,,,FALSE,,,, +271,B-1-9,70,,,,,,,,,,,,,TRUE,,,, +273,B-0-1,73,,,,,,,,,,,,,TRUE,,,, +272,B-0-2,73,2,1,,,,,,,,,,,TRUE,,,, +277,B-0-3,73,,2,,,,,,,,,,,TRUE,,,, +278,B-0-4,73,4,2,,,,2,4,,,4,,,TRUE,1,FALSE,, +318,B-0-5,73,,1,,,,,,,,,,,TRUE,,,, +316,B-0-6,73,71,1,,,,,,,,,,,TRUE,1,TRUE,, +315,B-0-7,73,,,,,,,,,,,,,TRUE,,,, +314,B-0-8,73,,1,1,,,1,,,,,,,TRUE,1,FALSE,, +311,B-0-9,73,1,,,,,,,,,,,,TRUE,,,, +274,B-1-1,73,2,,,,,1,,,,1,,,TRUE,1,FALSE,, +275,B-1-2,73,,3,,,,,,,,,,,TRUE,,,, +276,B-1-3,73,,,,,,,,,,,,,TRUE,,,, +279,B-1-4,73,,1,,,,,,,,,,,TRUE,,,, +317,B-1-5,73,3,,,,,,,,,,,,TRUE,,,, +319,B-1-6,73,2,,,,,,,,,,,,TRUE,,,, +310,B-1-7,73,,1,,,,,,,,,,,TRUE,,,, +313,B-1-8,73,,,,,,,,,,,,,TRUE,,,, +312,B-1-9,73,,2,,,,,,,,,,,TRUE,,,, +304,B-0-1,76,,1,,,,,,,,,,,TRUE,,,, +352,B-0-2,76,1,1,,,,,1,,,,,,TRUE,1,FALSE,, +357,B-0-3,76,,,,,,,,,,,,,TRUE,,,, +305,B-0-4,76,8,5,,,,,,1,,,,,TRUE,1,FALSE,, +305,B-1-5,90,,1,,,,,,,,,,,FALSE,,FALSE,, +300,B-0-5,76,,,,,,,,,,,,,TRUE,,,, +302,B-0-6,76,1,,,,,,,,,,,,TRUE,,,, +356,B-0-7,76,,,,,,,,,,,,,TRUE,,,, +356,B-0-5,90,,,,,,,,,,,,,FALSE,,,, +308,B-0-8,76,,,,,,,,,,,,,TRUE,,,, +307,B-0-9,76,,,,,,,,,,,,,TRUE,,,, +301,B-1-1,76,22,,,,,1,,,,,,,TRUE,1,FALSE,, +354,B-1-2,76,,1,,,,,,,,,,,TRUE,,,, +355,B-1-3,76,,3,2,,,,,,,,,,TRUE,,,, +306,B-1-4,76,,,,,,,,,,,,,TRUE,,,, +303,B-1-5,76,,1,,,,,,,,,,,TRUE,,,, +358,B-1-6,76,,3,,,,1,,,,,,,TRUE,1,FALSE,, +359,B-1-7,76,,1,,,,,,,,,,,TRUE,,,, +309,B-1-8,76,3,,,,,,,,,,,,TRUE,,,, +353,B-1-9,76,,1,,,,,,,,,,,TRUE,,,, +351,B-0-1,80,1,1,,,,,,,,,,,TRUE,,,, +349,B-0-2,80,1,,,,,,,,,,,,TRUE,,,, +346,B-0-3,80,,1,2,,,,,,,,,,TRUE,,,, +342,B-0-4,80,,,,,,,,,,,,,TRUE,,,, +348,B-0-5,80,,,,,,,,,,,,,TRUE,,,, +343,B-0-6,80,,,,,,,,,,,,,TRUE,,,, +340,B-0-7,80,1,,,,,,,,,,,,TRUE,,,, +380,B-0-8,80,,1,,,,,,,,,,,TRUE,,,, +382,B-0-9,80,1,4,6,,,,,1,,,,,TRUE,1,FALSE,, +350,B-1-1,80,13,1,,,,,,,,,,,TRUE,1,FALSE,, +347,B-1-2,80,,1,,,,,,,,,,,TRUE,,,, +345,B-1-3,80,,,,,,,,,,,,,TRUE,,,, +341,B-1-4,80,,1,,,,,,,,,,,TRUE,,,, +344,B-1-5,80,,,,,,,,,,,,,TRUE,,,, +399,B-1-6,80,,,,,,,,,,,,,TRUE,,,, +381,B-1-7,80,,,,,,,,,,,,,TRUE,,,, +398,B-1-8,80,1,,,,,,,,,,,,TRUE,,,, +397,B-1-9,80,,,,,,,,,,,,,TRUE,,,, +293,B-0-1,82,,,,,2,,,,,,,,TRUE,1,FALSE,, +296,B-0-2,82,,,,,,,,,,,,,TRUE,,,, +383,B-0-3,82,,,,,,,,,,,,,TRUE,,,, +388,B-0-4,82,,,,,,,,,,,,,TRUE,,,, +393,B-0-5,82,,,,,,,100,,,,,,TRUE,1,TRUE,, +386,B-0-6,82,,1,,,,,,,,,,,TRUE,,,, +390,B-0-7,82,,,,,,,,,,,,,TRUE,,,, +394,B-0-8,82,,,,,,,,,,,,,TRUE,,,, +392,B-0-9,82,,2,,,,,,,,,,,TRUE,,,, +298,B-1-1,82,2,,,,,,,,,,,,TRUE,,,, +297,B-1-2,82,,,,,,,,,,,,,TRUE,,,, +385,B-1-3,82,,1,,,,,,,,,,,TRUE,,,, +389,B-1-4,82,,,,,,,,1,,,,,TRUE,1,FALSE,, +391,B-1-5,82,,1,,,,,,,,,,,TRUE,,,, +387,B-1-6,82,7,1,,,,,,,,,,,TRUE,,,, +384,B-1-7,82,,,,,,,,,,,,,TRUE,,,, +396,B-1-8,82,,3,,,,,,,,,,,TRUE,,,, +395,B-1-9,82,,2,,,,,,,,,,,TRUE,,,, +280,B-1-8,90,,,,,4,,,,,,,,FALSE,1,,, +286,B-0-1,84,,1,,,5,,,,,,,,TRUE,1,FALSE,, +240,B-0-2,84,4,1,,,,,,,,,,,TRUE,,,, +241,B-0-3,84,,1,,,,,,,,,,,TRUE,,,, +282,B-0-4,84,,1,,,,,,,,,,,TRUE,,,, +289,B-0-6,84,,1,,,,,,,,,,,TRUE,,,, +287,B-0-7,84,,1,,,,,,,,,,,TRUE,,,, +294,B-0-8,84,1,1,,,,,,,,,,,TRUE,,,, +292,B-0-9,84,,,,,,,,,,,,1,TRUE,1,TRUE,, +283,B-1-1,84,,,,,,,,,,,,,TRUE,,,, +281,B-1-2,84,,,,,,,,,,,,,TRUE,,,, +242,B-1-3,84,,,,,,1,1,,,1,,,TRUE,1,FALSE,, +285,B-1-4,84,1,1,,,,,,,,,,,TRUE,,,, +284,B-1-5,84,7,,,,,,,,,,,,TRUE,,,, +288,B-1-6,84,,,,,,,,,,,,,TRUE,,,, +290,B-1-7,84,13,,1,,,,,1,,1,,,TRUE,1,FALSE,, +295,B-1-8,84,,1,,,,,,,,,,,TRUE,,,, +291,B-1-9,84,,100,200,,,,,,,,,1,TRUE,1,TRUE,, +256,B-0-1,86,,,,,,,,,,,,,TRUE,,,, +243,B-0-2,86,1,1,,,,,,,,,,,TRUE,,,, +255,B-0-3,86,,100,200,,,,,,,,,1,TRUE,1,FALSE,, +248,B-0-4,86,,4,,,,,,,,,,,TRUE,,,, +246,B-0-5,86,,2,,,,,,,,,,,TRUE,,,, +245,B-0-6,86,,2,,,,,,,,,,,TRUE,,,, +250,B-0-7,86,,,,,,,,,,,,,TRUE,,,, +254,B-0-8,86,,,,,,,,,,,,,TRUE,,,, +257,B-0-9,86,1,1,2,,,,1,,,1,,,TRUE,1,FALSE,, +258,B-1-1,86,4,1,2,,,1,,,,,,,TRUE,1,FALSE,, +247,B-1-2,86,,,,,,,,,,,,,TRUE,,,, +253,B-1-3,86,,,,,,,,,,,,,TRUE,,,, +249,B-1-4,86,23,,,,,,,,,,,,TRUE,1,FALSE,, +244,B-1-5,86,,3,2,,,,,,,,,,TRUE,,,, +251,B-1-6,86,,2,,,,,,,,,,,TRUE,,,, +259,B-1-7,86,,,,,,,,,,,,,TRUE,,,, +252,B-1-8,86,,2,,,,,,,,,,,TRUE,,,, +360,B-1-9,86,,,,,,,,,,,,,TRUE,,,, +365,B-0-1,88,,,,,,,,,,,,,TRUE,,,, +371,B-0-2,88,1,,,,,,,,,,,,TRUE,,,, +375,B-0-3,88,,2,,,,,,,,,,,TRUE,,,, +377,B-0-4,88,,,,,,,,,,,,,TRUE,,,, +378,B-0-5,88,,100,200,,,,,,,,,1,TRUE,1,TRUE,, +364,B-0-6,88,,3,,,,,,,,,,,TRUE,,,, +362,B-0-7,88,,1,2,,,,,,,,,,TRUE,,,, +372,B-0-8,88,,1,,,,,,,,,,,TRUE,,,, +374,B-0-9,88,,2,,,,,,,,,,,TRUE,,,, +367,B-1-1,88,,,,,,,,,,,,,TRUE,,,, +376,B-1-2,88,,1,2,,,,,,,,,,TRUE,,,, +373,B-1-3,88,,1,,,,,,,,,,,TRUE,,,, +363,B-1-4,88,,1,,,,,,,,,,,TRUE,,,, +366,B-1-5,88,,1,,,,,,,,,,,TRUE,,,, +368,B-1-6,88,,1,,,,,,,,,,,TRUE,,,, +361,B-1-7,88,,3,,,,,,,,,,,TRUE,,,, +370,B-1-8,88,,,,,,,,,,,,,TRUE,,,, +369,B-1-9,88,,,1,,,,,1,,,,,TRUE,1,FALSE,, +127,B-0-1,90,47,0,,,5,1,1,,,,,,TRUE,1,,, +204,B-0-2,90,,2,,,,,,,,,,,TRUE,,,, +44,B-0-3,90,,,,,,,,,,,,,TRUE,,,, +137,B-0-4,90,,,,,,,2,,,,,,TRUE,1,,, +356,B-0-5,90,,,,,,,,,,,,,TRUE,,,, +335,B-0-6,90,,,,,,,,,,,,,TRUE,,,, +160,B-0-7,90,,1,,,8,,,,,,,,TRUE,1,,, +149,B-0-9,90,,,,,,,,,,,,,TRUE,,,, +74,B-1-2,90,,2,,,,,,,,,,,TRUE,,,, +196,B-1-3,90,,,,,,,,,,,,,TRUE,,,, +270,B-1-4,90,,1,,,,,,,,,,,TRUE,,,, +305,B-1-5,90,,1,,,,,,,,,,,TRUE,,,, +103,B-1-6,90,,,,,,,,,,,,,TRUE,,,, +62,B-1-7,90,,2,2,,,,,,,,,,TRUE,,,, +280,B-1-8,90,,,,,4,,,,,,,,TRUE,,,, +322,B-1-1,90,4,1,,,,,,,,,,,TRUE,,,, +132,B-0-8,90,,,,,,,,,,,,,TRUE,,,, +164,B-1-9,90,1,,,,,,,,,,,,TRUE,,,, +127,B-0-1,93,50,,,,,,,,,,,,TRUE,1,,, +204,B-0-2,93,,1,,,,,,,,,,,TRUE,,,, +44,B-0-3,93,,,,,,,,,,,,,TRUE,,,, +137,B-0-4,93,,,,,,,,,,,,,TRUE,,,, +356,B-0-5,93,,1,,,,,,,,,,,TRUE,,,, +335,B-0-6,93,,,,,,,,,,,,,TRUE,,,, +160,B-0-7,93,,1,,,,,,,,,,,TRUE,,,, +149,B-0-9,93,1,,,,,,,,,,,,TRUE,,,, +74,B-1-2,93,,1,,,,,,,,,,,TRUE,,,, +196,B-1-3,93,,,,,,,,,,,,,TRUE,,,, +270,B-1-4,93,,2,,,,,,,,,,,TRUE,,,, +305,B-1-5,93,,,,,,1,1,,,,,,TRUE,1,,, +103,B-1-6,93,,,,,,,,,,,,,TRUE,,,, +62,B-1-7,93,,3,1,,,,,,,,,,TRUE,,,, +280,B-1-8,93,,1,,,,,,,,,,,TRUE,,,, +322,B-1-1,93,,,,,,,,,,,,,TRUE,,,, +132,B-0-8,93,,3,,,,,,,,,,,TRUE,,,, +164,B-1-9,93,,3,,,,,,,,,,,TRUE,,,, +393,B-0-3,95,,2,,,,,,,,,,,TRUE,,,, +378,B-0-4,95,,,,,,,,,,,,,TRUE,,,, +324,B-0-2,95,3,2,,,,1,1,,,,,,TRUE,1,,, +316,B-1-3,95,,,,,,,,,,,,,TRUE,,,, +292,B-1-5,95,,,,,,1,1,,,,,,TRUE,1,,, +291,B-0-5,95,,1,,,,,,,,,,,TRUE,,,, +255,B-0-6,95,,70,140,,,,,,,,,,TRUE,1,,, +233,B-1-4,95,1,,,,,,,,,,,,TRUE,,,, +226,B-1-7,95,1,1,,,,,,,,,,,TRUE,,,, +210,B-1-2,95,1,1,,,,,,,,,,,TRUE,,,, +203,B-0-7,95,1,1,,,,,,,,,,,TRUE,,,, +198,B-1-8,95,,,,,,100,,,,,,,TRUE,1,,, +184,B-1-1,95,,1,,,,,,,,,,,TRUE,,,, +183,B-1-6,95,,1,,,,,,,,,,,TRUE,,,, +165,B-1-9,95,,,,,,,,,,,,,TRUE,,,, +135,B-0-8,95,,,,,,,,,,,,,TRUE,,,, +64,B-0-9,95,10,,,,,,,,,,,,FALSE,1,,新基準スタート, +379,B-0-1,99,28,1,,,,,,,,,,,,1,,1, +401,B-0-2,99,,5,2,,,4,4,,,5,,,,1,,1, +403,B-0-3,99,,2,,,,,,,,,,,,,,, +405,B-0-4,99,7,2,,,,1,1,,,1,,,,,,1, +407,B-0-5,99,,,,,,,,,,,,,,,,, +409,B-0-6,99,,1,,,,,,,,,,,,,,, +411,B-0-7,99,,2,,,,1,1,,,1,,,,,,1, +413,B-0-8,99,,2,,,,,,,,,,,,,,, +415,B-0-9,99,,2,,,,,,,,,,,,,,, +400,B-1-1,99,3,2,,,,,1,,,1,,,,,,1, +402,B-1-2,99,,3,1,,,,,1,,1,,,,,,1, +404,B-1-3,99,,4,,,,,,,,,,,,,,, +406,B-1-4,99,1,1,,,,,,,,,,,,,,, +408,B-1-5,99,,2,,,,,,,,,,,,,,, +410,B-1-6,99,37,2,2,,,1,,,,1,,,,1,,1, +412,B-1-7,99,,4,,,,,,,,,,,,,,, +414,B-1-8,99,,,,,,,,,,,,,,,,, +416,B-1-9,99,,1,,,,,,,,,,,,,,, +417,B-0-1,102,,1,,,,,,,,,,,,,,, +419,B-0-2,102,,1,,,,,,,,,,,,,,, +421,B-0-3,102,,,,,,,,,,,,,,,,, +423,B-0-4,102,,,,,,,,,,,,,,,,, +425,B-0-5,102,67,,,,,,,,,,,,,1,,1, +427,B-0-6,102,,1,,,,,,,,,,,,,,, +429,B-0-7,102,,,,,,,,,,,,,,,,, +431,B-0-8,102,,2,,,,,,,,,,,,,,, +433,B-0-9,102,,,,,,,,,,,,,,,,, +418,B-1-1,102,1,2,,,,,,1,,1,,,,,,1, +420,B-1-2,102,,,,,,,,,,,,,,,,, +422,B-1-3,102,,,,,,,,,,,,,,,,, +424,B-1-4,102,,1,,,,,,,,,,,,,,, +426,B-1-5,102,,,,,,,,,,,,,,,,, +428,B-1-6,102,,,,,,,,,,,,,,,,, +430,B-1-7,102,,1,,,,,,,,,,,,,,, +432,B-1-8,102,,,,,,,,,,,,,,,,, +434,B-1-9,102,,,,,,,,,,,,,,,,, +435,B-0-1,104,,,,,,,,,,,,,,,,, +437,B-0-2,104,,,,,,,,,,,,,,,,, +439,B-0-3,104,,,,,,,,,,,,,,,,, +441,B-0-4,104,,,,,,1,1,,,1,,,,,,1, +443,B-0-5,104,,,,,,1,,,,1,,,,,,1, +445,B-0-6,104,,,,,,,,,,,,,,,,, +447,B-0-7,104,1,,,,,,,,,,,,,,,, +449,B-0-8,104,,2,,,,,,,,,,,,,,, +451,B-0-9,104,16,1,,,,,,,,,,,,1,,1, +436,B-1-1,104,,1,,,,,,,,,,,,,,, +438,B-1-2,104,,,,,,,,,,,,,,,,, +440,B-1-3,104,1,1,,,,1,1,,,1,,,,,,1, +442,B-1-4,104,,1,,,,,,,,,,,,,,, +444,B-1-5,104,,1,,,,,,,,,,,,,,, +446,B-1-6,104,30,,,,,,,,,,,,,1,,1, +448,B-1-7,104,,2,,,,,,,,,,,,,,, +450,B-1-8,104,,1,,,,,,,,,,,,,,, +452,B-1-9,104,,,,,,,,,,,,,,,,, +453,B-0-1,106,,1,,,,,,,,,,,,,,, +455,B-0-2,106,1,,,,,,,,,,,,,,,, +457,B-0-3,106,,,,,,,,,,,,,,,,, +459,B-0-4,106,5,,,,,,,,,,,,,,,, +461,B-0-5,106,,1,,,,,,,,,,,,,,, +463,B-0-6,106,,,,,,,,,,,,,,,,, +465,B-0-7,106,,,,,,,,,,,,,,,,, +467,B-0-8,106,,,,,,,,,,,,,,,,, +469,B-0-9,106,,1,,,,,,,,,,,,,,, +454,B-1-1,106,,100,200,,,,,,,,,,,1,,1, +456,B-1-2,106,,,,,,,,,,,,,,,,, +458,B-1-3,106,,1,,,,,,,,,,,,,,, +460,B-1-4,106,,,,,,,1,,,1,,,,,,1, +462,B-1-5,106,1,,,,,,,,,,,,,,,, +464,B-1-6,106,,1,,,,,,,,,,,,,,, +466,B-1-7,106,,,,,,1,,,,1,,,,,,1, +468,B-1-8,106,7,,,,,,,,,,,,,,,, +470,B-1-9,106,1,,,,,,,,,,,,,,,, +471,B-0-1,108,1,,,,,,,,,,,,,,,, +473,B-0-2,108,,,,,,,,,,,,,,,,, +475,B-0-3,108,,,,,,,,,,,,,,,,, +477,B-0-4,108,,3,,,,,,,,,,,,,,, +479,B-0-5,108,,,,,,,,,,,,,,,,, +481,B-0-6,108,,2,,,,,,,,,,,,,,, +483,B-0-7,108,,1,,,,,,,,,,,,,,, +485,B-0-8,108,,1,,,,,,,,,,,,,,, +487,B-0-9,108,,1,,,,,,,,,,,,,,, +472,B-1-1,108,,100,200,,,,,,,,,,,1,,1, +474,B-1-2,108,,2,,,,,,,,,,,,,,, +476,B-1-3,108,,1,,,,,,,,,,,,,,, +478,B-1-4,108,,1,1,,,,1,,,1,,,,,,1, +480,B-1-5,108,,1,,,,,,,,,,,,,,, +482,B-1-6,108,,2,,,,,,,,,,,,,,, +484,B-1-7,108,1,,,,,,,,,,,,,,,, +486,B-1-8,108,,,,,,,,,,,,,,,,, +488,B-1-9,108,,1,,,,,,,,,,,,,,, +471,B-0-1,115,,2,,,,,,,,,,,,,,, +473,B-0-2,115,8,,,,,,,,,,,,,,,, +475,B-0-3,115,4,,,,,,,,,,,,,,,, +477,B-0-4,115,,3,2,,,1,2,,,2,,,,,,1, +479,B-0-5,115,,,,,,,,,,,,,,,,, +481,B-0-6,115,1,1,,,,,,,,,,,,,,, +483,B-0-7,115,,1,,,,,,,,,,,,,,, +485,B-0-8,115,,1,,,,,,,,,,,,,,, +487,B-0-9,115,,4,,,,,,,,,,,,,,, +472,B-1-1,115,,,,,,,,,,,,,,,,, +474,B-1-2,115,,,,,,,,,,,,,,,,, +476,B-1-3,115,,2,4,,,,,,,,,,,,,, +478,B-1-4,115,,1,,,,,,,,,,,,,,, +480,B-1-5,115,,1,,,,,,,,,,,,,,, +482,B-1-6,115,,1,,,,,,,,,,,,,,, +484,B-1-7,115,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,未抽出だが過去に試験しているのでOK,,,,,,, +486,B-1-8,115,,1,,,,,,,,,,,,,,, +488,B-1-9,115,,,,,,,,,,,,,,,,, +489,B-0-1,118,2,1,1,,,,,2,,2,,,,,,1, +491,B-0-2,118,31,,,,,,,,,,,,,1,,1, +493,B-0-3,118,,1,,,,,,,,,,,,,,, +495,B-0-4,118,,,,,,1,2,,,2,,,,,,1, +497,B-0-5,118,,3,,,,,,,,,,,,,,, +499,B-0-6,118,,,,,,,,,,,,,,,,, +501,B-0-7,118,,,,,,,,,,,,,,,,, +503,B-0-8,118,,,,,,,,,,,,,,,,, +505,B-0-9,118,,,,,,,,,,,,,,,,, +490,B-1-1,118,,,,,,,1,,,1,,,,,,1, +492,B-1-2,118,,2,,,,1,1,,,1,,,,,,1, +494,B-1-3,118,,1,,,,,,,,,,,,,,, +496,B-1-4,118,,2,,,,,,,,,,,,,,, +498,B-1-5,118,1,,,,,,,,,,,,,,,, +500,B-1-6,118,1,,,,,,,,,,,,,,,, +502,B-1-7,118,,2,,,,,,,,,,,,,,, +504,B-1-8,118,,1,,,,,,,,,,,,,,, +506,B-1-9,118,,,,,,,,,,,,,,,,, +507,B-0-1,121,,,,,,,,,,,,,,,,, +509,B-0-2,121,,,,,,,,,,,,,,,,, +511,B-0-3,121,,,,,,,,,,,,,,,,, +513,B-0-4,121,1,,,,,,,,,,,,,,,, +515,B-0-5,121,8,,,,,,,,,,,,,,,, +517,B-0-6,121,,,,,,,,,,,,,,,,, +519,B-0-7,121,,,,,,,,,,,,,,,,, +521,B-0-8,121,,,,,,,,,,,,,,,,, +523,B-0-9,121,,2,,,,,,,,,,,,,,, +508,B-1-1,121,,2,,,,,,,,,,,,,,, +510,B-1-2,121,,,,,,,,,,,,,,,,, +512,B-1-3,121,1,2,,,,,,,,,,,,,,, +514,B-1-4,121,,1,,,,,1,,,1,,,,,,1, +516,B-1-5,121,,,,,,,,,,,,,,,,, +518,B-1-6,121,100,,,,,,,,,,,,,1,,1, +520,B-1-7,121,,,,,,,,,,,,,,,,, +522,B-1-8,121,,,,,,,,,,,,,,,,, +524,B-1-9,121,,1,,,,,,,,,,,,,,, +525,B-0-1,124,99,1,,,,,,,,,,,,1,,1, +527,B-0-2,124,,,,,,,,,,,,,,,,, +529,B-0-3,124,,,,,,,,,,,,,,,,, +531,B-0-4,124,,,,,,,,,,,,,,,,, +533,B-0-5,124,,1,,,,,,,,,,,,,,, +535,B-0-6,124,,2,,,,,,,,,,,,,,, +537,B-0-7,124,1,,,,,,,,,,,,,,,, +539,B-0-8,124,,3,,,,,,,,,,,,,,, +541,B-0-9,124,,,,,,,,1,,1,,,,,,1, +526,B-1-1,124,,,,,,,,,,,,,,,,, +528,B-1-2,124,,1,,,,,,,,,,,,,,, +530,B-1-3,124,,1,,,,,,,,,,,,,,, +532,B-1-4,124,,1,,,,,,,,,,,,,,, +534,B-1-5,124,,1,,,,1,1,,,1,,,,,,1, +536,B-1-6,124,,,,,,,,,,,,,,,,, +538,B-1-7,124,,2,2,,,,,,,,,,,,,, +540,B-1-8,124,,,,,,1,1,,,1,,,,,,1, +542,B-1-9,124,,1,,,,,,,,,,,,,,, +543,B-0-1,127,1,,,,,,,,,,,,,,,, +545,B-0-2,127,,1,,,,,,,,,,,,,,, +547,B-0-3,127,,,,,,,,,,,,,,,,, +548,B-0-4,127,,2,6,,,,,5,,5,,,,1,,1, +550,B-0-5,127,,1,3,,,,,1,,1,,,,,,1, +552,B-0-6,127,,1,,,,,,,,,,,,,,, +554,B-0-7,127,,,,,,,,,,,,,,,,, +556,B-0-8,127,,,,,,,,,,,,,,,,, +558,B-0-9,127,1,2,,,,,,,,,,,,,,, +544,B-1-1,127,,,,,,,,,,,,,,,,, +546,B-1-2,127,,1,,,,,,,,,,,,,,, +48,B-1-3,127,,1,,,,,,,,,,,,,,,ガンマ線照射後再測定 +549,B-1-4,127,4,,,,,,,,,,,,,,,, +551,B-1-5,127,,,,,,,,,,,,,,,,, +553,B-1-6,127,3,,,,,,,,,,,,,,,, +555,B-1-7,127,3,,,,,,,,,,,,,,,, +557,B-1-8,127,,1,,,,,,,,,,,,,,, +559,B-1-9,127,5,,,,,,,,,,,,,,,, +560,B-0-1,129,,1,,,,,,,,,,,,,,, +562,B-0-2,129,,,,,,,,,,,,,,,,, +564,B-0-3,129,3,1,,,,,,,,,,,,,,, +566,B-0-4,129,,,,,,,,,,,,,,,,, +568,B-0-5,129,,2,1,,,,,2,,2,,,,,,1, +570,B-0-6,129,,1,,,,,,,,,,,,,,, +572,B-0-7,129,,1,,,,,,,,,,,,,,, +574,B-0-8,129,,,,,,,,,,,,,,,,, +576,B-0-9,129,,,,,,,,,,,,,,,,, +561,B-1-1,129,,,,,,,,,,,,,,,,, +563,B-1-2,129,,1,,,,,,,,,,,,,,, +565,B-1-3,129,,1,,,,,,,,,,,,,,, +567,B-1-4,129,,,,,,,,,,,,,,,,, +569,B-1-5,129,,2,,,,,,,,,,,,,,, +571,B-1-6,129,1,,,,,,,,,,,,,,,, +573,B-1-7,129,,2,,,,,,,,,,,,,,, +575,B-1-8,129,5,,,,,1,1,,,1,,,,,,1, +577,B-1-9,129,,,,,,,,,,,,,,,,, +578,B-0-1,131,,,,,,,,,,,,,,,,, +580,B-0-2,131,,1,,,,,,,,,,,,,,, +582,B-0-3,131,,2,1,,,,,,,,,,,,,, +584,B-0-4,131,,1,,,,,,,,,,,,,,, +586,B-0-5,131,,,,,,,,,,,,,,,,, +588,B-0-6,131,,1,,,,1,,,,1,,,,,,1, +590,B-0-7,131,5,,,,,,,,,,,,,,,, +592,B-0-8,131,,,,,,,,,,,,,,,,, +594,B-0-9,131,,2,,,,,,,,,,,,,,, +579,B-1-1,131,,,,,,,,,,,,,,,,, +581,B-1-2,131,,2,,,,,,,,,,,,,,, +583,B-1-3,131,,2,,,,,,,,,,,,,,, +585,B-1-4,131,,2,,,,1,1,,,1,,,,,,1, +587,B-1-5,131,,1,,,,,,,,,,,,,,, +589,B-1-6,131,,,,,,,,,,,,,,,,, +591,B-1-7,131,,2,,,,,,,,,,,,,,, +593,B-1-8,131,1,1,,,,,,,,,,,,,,, +595,B-1-9,131,,,,,,,,,,,,,,,,, +379,B-0-1,133,,,,,,,,,,,,,,,,, +562,B-0-2,133,,,,,,,,,,,,,,,,, +491,B-0-3,133,,1,1,,,,,,,,,,,,,, +545,B-0-4,133,,,,,,,,,,,,,,,,, +538,B-0-5,133,,,,,,,100,,,100,,,,1,,1, +401,B-0-6,133,,,,,,,,,,,,,,,,, +350,B-0-7,133,,1,,,,,,,,,,,,,,, +460,B-0-8,133,6,,,,,,,,,,,,,,,, +589,B-0-9,133,1,,,,,,,,,,,,,,,, +454,B-1-1,133,,,,,,1,1,,,1,,,,,,1, +425,B-1-2,133,,3,1,,,,,1,,1,,,,,,1, +580,B-1-3,133,,2,,,,,,,,,,,,,,, +442,B-1-4,133,2,,,,,,,,,,,,,,,, +462,B-1-5,133,,1,,,,,,,,,,,,,,, +437,B-1-6,133,,,,,,,,,,,,,,,,, +472,B-1-7,133,,2,,,,,,,,,,,,,,, +595,B-1-8,133,,1,,,,,,,,,,,,,,, +579,B-1-9,133,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/test/input/PS board QAQC Data Base - 出荷.csv b/test/input/PS board QAQC Data Base - 出荷.csv new file mode 100644 index 0000000..50a8d9b --- /dev/null +++ b/test/input/PS board QAQC Data Base - 出荷.csv @@ -0,0 +1,463 @@ +第1回出荷,,,, +PS000141,追試送りとしていたが、誤ってGNDに出荷した,,, +PS000140,,,, +PS000144,,,, +PS000143,,,, +PS000150,,,, +PS000151,,,, +PS000142,,,, +PS000148,,,, +PS000152,,,, +PS000139,,,, +PS000158,,,, +PS000133,,,, +PS000134,,,, +PS000129,,,, +PS000138,追試送りとしていたが、誤ってGNDに出荷した,,, +PS000131,,,, +PS000156,,,, +PS000136,,,, +PS000159,,,, +PS000223,,,, +PS000173,,,, +PS000126,,,, +PS000174,,,, +PS000124,,,, +PS000175,,,, +PS000128,,,, +PS000171,,,, +PS000120,,,, +PS000178,,,, +PS000179,,,, +PS000125,,,, +PS000176,,,, +PS000122,,,, +PS000177,,,, +PS000123,,,, +PS000130,,,, +PS000154,,,, +PS000157,,,, +PS000155,,,, +PS000190,,,, +PS000101,,,, +PS000146,,,, +PS000114,,,, +PS000180,,,, +PS000192,,,, +PS000185,,,, +PS000181,,,, +PS000193,,,, +PS000118,,,, +PS000115,,,, +PS000107,,,, +PS000106,,,, +PS000119,,,, +PS000110,,,, +PS000105,,,, +PS000108,,,, +PS000188,,,, +PS000104,,,, +PS000116,,,, +PS000224,,,, +PS000225,追試送りとしていたが、誤ってGNDに出荷した,,, +PS000218,,,, +PS000238,,,, +PS000229,,,, +PS000200,,,, +PS000219,,,, +PS000217,,,, +PS000216,,,, +PS000214,,,, +PS000213,,,, +PS000205,,,, +PS000212,,,, +PS000211,,,, +PS000239,,,, +PS000201,,,, +PS000202,,,, +PS000235,,,, +PS000222,,,, +PS000234,,,, +PS000215,,,, +PS000112,,,, +PS000186,,,, +PS000189,,,, +PS000191,,,, +PS000169,,,, +PS000109,,,, +PS000197,,,, +PS000199,,,, +PS000170,,,, +PS000113,追試送りとしていたが、誤ってGNDに出荷した,,,reset10回なのでどちらでも良いが、2024/9/4ではTrueと判断した +PS000162,,,, +PS000168,,,, +PS000153,,,, +PS000166,,,, +PS000187,,,, +PS000121,,,, +PS000161,,,, +PS000194,,,, +PS000195,,,, +PS000228,,,, +第2回出荷,,,, +PS000276,,,, +PS000383,,,, +PS000384,,,, +PS000391,,,, +PS000295,,,, +PS000294,,,, +PS000288,,,, +PS000319,,,, +PS000281,,,, +PS000289,,,, +PS000275,,,, +PS000132,,,, +PS000283,,,, +PS000240,,,, +PS000277,,,, +PS000062,,,, +PS000287,,,, +PS000285,,,, +PS000241,,,, +PS000284,,,, +PS000335,,,, +PS000270,,,, +PS000356,,,, +PS000196,,,, +PS000074,,,, +PS000374,,,, +PS000366,,,, +PS000361,,,, +PS000149,,,, +PS000362,,,, +PS000363,,,, +PS000364,,,, +PS000373,,,, +PS000368,,,, +PS000371,,,, +PS000375,,,, +PS000372,,,, +PS000377,,,, +PS000376,,,, +PS000322,,,, +PS000365,,,, +PS000367,,,, +PS000360,,,, +PS000254,,,, +PS000317,,,, +PS000259,,,, +PS000251,,,, +PS000103,,,, +PS000250,,,, +PS000244,,,, +PS000252,,,, +PS000253,,,, +PS000245,,,, +PS000243,,,, +PS000246,,,, +PS000318,,,, +PS000247,,,, +PS000248,,,, +PS000315,,,, +PS000256,,,, +PS000370,,,, +PS000343,,,, +PS000397,,,, +PS000348,,,, +PS000340,,,, +PS000381,,,, +PS000346,,,, +PS000344,,,, +PS000296,,,, +PS000300,,,, +PS000387,,,, +PS000386,,,, +PS000394,,,, +PS000390,,,, +PS000395,,,, +PS000392,,,, +PS000297,,,, +PS000385,,,, +PS000282,,,, +PS000355,,,, +PS000331,,,, +PS000260,,,, +PS000269,,,, +PS000329,,,, +PS000311,,,, +PS000272,,,, +PS000312,,,, +PS000273,,,, +PS000313,,,, +PS000263,,,, +PS000262,,,, +PS000267,,,, +PS000261,,,, +PS000264,,,, +PS000266,,,, +PS000265,,,, +PS000271,,,, +PS000339,,,, +PS000279,,,, +PS000310,,,, +PS000303,,,, +PS000309,,,, +PS000302,,,, +PS000308,,,, +PS000304,,,, +PS000307,,,, +PS000353,,,, +PS000359,,,, +PS000351,,,, +PS000349,,,, +PS000380,,,, +PS000347,,,, +PS000298,,,, +PS000342,,,, +PS000345,,,, +PS000341,,,, +PS000207,,,, +PS000398,,,, +PS000399,,,, +PS000388,,,, +PS000135,,,, +PS000354,,,, +PS000332,,,, +PS000336,,,, +PS000328,,,, +PS000357,,,, +PS000326,,,, +PS000323,,,, +PS000321,,,, +PS000320,,,, +PS000330,,,, +PS000164,,,, +PS000306,,,, +PS000334,,,, +PS000327,追試送りとしていたが、誤ってGNDに出荷した,,, +PS000333,,,, +PS000221,,,, +PS000206,,,, +PS000209,,,, +PS000204,,,, +第3回出荷,,,, +PS000554,,,, +PS000553,,,, +PS000552,,,, +PS000551,,,, +PS000550,,,, +PS000549,,,, +PS000580,,,, +PS000547,,,, +PS000546,,,, +PS000544,,,, +PS000543,,,, +PS000542,,,, +PS000541,,,, +PS000540,,,, +PS000290,,,, +PS000278,,,, +PS000274,,,, +PS000268,,,, +PS000257,,,, +PS000242,,,, +PS000420,,,, +PS000421,,,, +PS000422,,,, +PS000423,,,, +PS000424,,,, +PS000460,,,, +PS000426,,,, +PS000427,,,, +PS000428,,,, +PS000429,,,, +PS000430,,,, +PS000431,,,, +PS000432,,,, +PS000433,,,, +PS000434,,,, +PS000435,,,, +PS000436,,,, +PS000438,,,, +PS000439,,,, +PS000440,,,, +PS000314,,,, +PS000338,,,, +PS000352,,,, +PS000382,,,, +PS000389,,,, +PS000396,,,, +PS000579,,,, +PS000526,,,, +PS000527,,,, +PS000528,,,, +PS000529,,,, +PS000530,,,, +PS000531,,,, +PS000532,,,, +PS000533,,,, +PS000534,,,, +PS000535,,,, +PS000536,,,, +PS000537,,,, +PS000539,,,, +PS000401,,,, +PS000524,,,, +PS000523,,,, +PS000522,,,, +PS000521,,,, +PS000520,,,, +PS000519,,,, +PS000589,,,, +PS000517,,,, +PS000516,,,, +PS000515,,,, +PS000514,,,, +PS000513,,,, +PS000512,,,, +PS000511,,,, +PS000510,,,, +PS000509,,,, +PS000508,,,, +PS000507,,,, +PS000506,,,, +PS000555,,,, +PS000556,,,, +PS000557,,,, +PS000558,,,, +PS000559,,,, +PS000560,,,, +PS000561,,,, +PS000563,,,, +PS000564,,,, +PS000565,,,, +PS000566,,,, +PS000567,,,, +PS000568,,,, +PS000569,,,, +PS000570,,,, +PS000571,,,, +PS000572,,,, +PS000573,,,, +PS000574,,,, +PS000575,,,, +PS000505,,,, +PS000504,,,, +PS000503,,,, +PS000502,,,, +PS000501,,,, +PS000500,,,, +PS000499,,,, +PS000498,,,, +PS000497,,,, +PS000496,,,, +PS000495,,,, +PS000494,,,, +PS000493,,,, +PS000492,,,, +PS000462,,,, +PS000490,,,, +PS000489,,,, +PS000488,,,, +PS000487,,,, +PS000486,,,, +PS000472,,,, +PS000465,,,, +PS000466,,,, +PS000467,,,, +PS000468,,,, +PS000469,,,, +PS000470,,,, +PS000471,,,, +PS000473,,,, +PS000474,,,, +PS000475,,,, +PS000476,,,, +PS000477,,,, +PS000478,,,, +PS000479,,,, +PS000480,,,, +PS000481,,,, +PS000482,,,, +PS000483,,,, +PS000484,,,, +PS000291,,,, +PS000233,,,, +PS000400,,,, +PS000379,,,, +PS000402,,,, +PS000403,,,, +PS000404,,,, +PS000405,,,, +PS000406,,,, +PS000407,,,, +PS000408,,,, +PS000409,,,, +PS000411,,,, +PS000412,,,, +PS000413,,,, +PS000414,,,, +PS000415,,,, +PS000416,,,, +PS000417,,,, +PS000418,,,, +PS000419,,,, +PS000464,,,, +PS000463,,,, +PS000461,,,, +PS000459,,,, +PS000458,,,, +PS000457,,,, +PS000456,,,, +PS000455,,,, +PS000453,,,, +PS000452,,,, +PS000450,,,, +PS000449,,,, +PS000448,,,, +PS000447,,,, +PS000485,,,, +PS000445,,,, +PS000444,,,, +PS000443,,,, +PS000441,,,, +PS000576,,,, +PS000577,,,, +PS000578,,,, +PS000562,,,, +PS000581,,,, +PS000582,,,, +PS000583,,,, +PS000584,,,, +PS000585,,,, +PS000586,,,, +PS000587,,,, +PS000588,,,, +PS000442,,,, +PS000590,,,, +PS000591,,,, +PS000592,,,, +PS000593,,,, +PS000594,,,, +PS000454,,,, +PS000545,,,, +PS000491,,,, +PS000350,,,, +PS000595,,,, +PS000286,,,, +PS000316,,,, +PS000258,,,, +PS000203,,,, +PS000337,,,, +PS000369,,,, +PS000293,,,, +PS000160,,,, +PS000305,,,, +PS000325,,,, +PS000358,,,, +PS000378,,,, +PS000183,,,, +PS000393,,,, +PS000165,,,, +PS000184,,,, +PS000210,,,, \ No newline at end of file diff --git a/test/input/log/57_long.log b/test/input/log/57_long.log new file mode 100644 index 0000000..ab9647d --- /dev/null +++ b/test/input/log/57_long.log @@ -0,0 +1,49 @@ +Shift script: 1.0.2 +---------------------- +Date: 2024-07-26T10:33:05+0000 +QAQC runid: 57 +Shifters: Otsubo +---------------------- +PBS Assignment: +Position / assigned-ID : B-0-1 / PS000206 +Position / assigned-ID : B-1-1 / PS999999 +Position / assigned-ID : B-0-2 / PS999999 +Position / assigned-ID : B-1-2 / PS999999 +Position / assigned-ID : B-0-3 / PS999999 +Position / assigned-ID : B-1-3 / PS999999 +Position / assigned-ID : B-0-4 / PS999999 +Position / assigned-ID : B-1-4 / PS999999 +Position / assigned-ID : B-0-5 / PS999999 +Position / assigned-ID : B-1-5 / PS999999 +Position / assigned-ID : B-0-6 / PS000221 +Position / assigned-ID : B-1-6 / PS999999 +Position / assigned-ID : B-0-7 / PS000135 +Position / assigned-ID : B-1-7 / PS999999 +Position / assigned-ID : B-0-8 / PS999999 +Position / assigned-ID : B-1-8 / PS999999 +Position / assigned-ID : B-0-9 / PS999999 +Position / assigned-ID : B-1-9 / PS999999 +====================== + QAQC status| QSPIp | Recov | Power | Clock | ASDTP | Reset | Result | + ---------------------------------------------------------------------- + Station0 + JATHub_ 1| 0| 0| 0| 0| 0| 0| 0| + JATHub_ 2| 2| 3| 3| 3| 2| 15| 2| + JATHub_ 3| 2| 3| 3| 1| 3| 10| 2| + JATHub_ 4| 2| 3| 3| 0| 3| 6| 2| + JATHub_ 5| 3| 1| 2| 1| 3| 0| 2| + JATHub_ 6| 0| 1| 1| 0| 1| 0| 1| + JATHub_ 7| 0| 1| 2| 0| 1| 0| 2| + JATHub_ 8| 3| 1| 3| 1| 2| 3| 2| + JATHub_ 9| 1| 1| 2| 1| 3| 2| 2| + Station1 + JATHub_11| 0| 1| 1| 0| 1| 0| 1| + JATHub_12| 1| 3| 3| 2| 2| 12| 2| + JATHub_13| 0| 3| 3| 1| 3| 14| 2| + JATHub_14| 1| 1| 2| 2| 2| 11| 2| + JATHub_15| 0| 3| 2| 0| 2| 0| 2| + JATHub_16| 3| 1| 3| 1| 3| 6| 2| + JATHub_17| 1| 1| 3| 0| 2| 5| 2| + JATHub_18| 0| 3| 3| 3| 3| 10| 2| + JATHub_19| 2| 1| 3| 1| 2| 9| 2| +====================== diff --git a/test/runtests.jl b/test/runtests.jl index 05011f4..dbd8151 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,14 +1,32 @@ using Test using PSBoardDataBase using CSV, DataFrames +using Dates true || include("../src/PSBoardDataBase.jl") @testset "PSBoardDataBase" begin + @testset "parse master log" begin + masterlog_metadata::PSBoardDataBase.QaqcMasterLog.QaqcMasterLogMetadata = + PSBoardDataBase.QaqcMasterLog.parse_master_log("input/log/57_long.log") + @test masterlog_metadata.shifters == "Otsubo" + @test masterlog_metadata.timestamp == DateTime(2024, 07, 26, 10, 33, 05) + @test masterlog_metadata.runid == 57 + @test masterlog_metadata.shiftscript_version == v"1.0.2" + end + @testset "prepare dataframe" begin + single_result_df = + CSV.read("input/PS board QAQC Data Base - 本番1回試験・追加検証試験.csv", DataFrame) + @test PSBoardDataBase.prepare_single_result_df(single_result_df) isa DataFrame + @test PSBoardDataBase.prepare_dispatch_table( CSV.read("input/PS board QAQC Data Base - 出荷.csv", DataFrame), ) isa DataFrame + + @test PSBoardDataBase.prepare_100test_table( + CSV.read("input/PS board QAQC Data Base - 100回試験結果.csv", DataFrame), + ) isa DataFrame end @testset "full integrated test" begin @@ -23,8 +41,6 @@ true || include("../src/PSBoardDataBase.jl") CSV.read("input/PS board QAQC Data Base - 本番1回試験・追加検証試験.csv", DataFrame) runlist_table = CSV.read("input/PS board QAQC Data Base - RUNLIST.csv", DataFrame) - @test PSBoardDataBase.prepare_single_result_df(single_result_df) isa DataFrame - @test PSBoardDataBase.add_psboard_ids(db, single_result_df) |> isnothing @test PSBoardDataBase.add_qaqc_runlist(db, runlist_table) |> isnothing @@ -33,7 +49,16 @@ true || include("../src/PSBoardDataBase.jl") dispatch_table = CSV.read("input/PS board QAQC Data Base - 出荷.csv", DataFrame) - @test PSBoardDataBase.add_qaqcdispatch(db, dispatch_table) |> isnothing + @test PSBoardDataBase.add_qaqc_dispatch(db, dispatch_table) |> isnothing + + @test PSBoardDataBase.add_qaqc_runlist_from_masterlogs(db, "input/log/") |> + isnothing + + extra_100test_result_df = + CSV.read("input/PS board QAQC Data Base - 100回試験結果.csv", DataFrame) + + @test PSBoardDataBase.add_qaqc_100test_result(db, extra_100test_result_df) |> + isnothing run(`sqlitebrowser $dbpath`) end