通勤認定エクセルツール対応11
This commit is contained in:
@@ -1,41 +1,46 @@
|
|||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 1, '職員番号', 'CSHAINNO', TRUE, 'CHAR', 8, NULL, FALSE, FALSE, '', TRUE, NULL, '', FALSE, FALSE, 'updsv7');
|
DELETE FROM sh_csv_item_definition WHERE CODE = 'TUK';
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 2, '事実発生年月日', 'DJJ_HA_DTE', TRUE, 'DATE', NULL, NULL, FALSE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 1, '職員番号', '', TRUE, 'CHAR', 8, NULL, FALSE, FALSE, '', TRUE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 3, '提出年月日', 'DTEISHUTU_DTE', FALSE, 'DATE', NULL, NULL, FALSE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 2, '事実発生年月日', '', TRUE, 'DATE', NULL, NULL, FALSE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 4, '受理年月日', 'DJURI_DTE', FALSE, 'DATE', NULL, NULL, FALSE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 3, '提出年月日', '', FALSE, 'DATE', NULL, NULL, FALSE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 5, '届出の事由コード', 'TUKIN_TODOKE_CDE', TRUE, 'MASTER', 2, NULL, FALSE, FALSE, '', TRUE, NULL, '220', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 4, '受理年月日', '', FALSE, 'DATE', NULL, NULL, FALSE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 6, '届出の備考', 'TODOKE_BIKO_NME', FALSE, 'VARCHAR', 40, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 5, '届出の事由コード', '', TRUE, 'MASTER', 2, NULL, FALSE, FALSE, '', TRUE, NULL, '220', FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 7, '住所1', 'ADRESS1_NME', FALSE, 'VARCHAR', 60, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 6, '届出の備考', '', FALSE, 'VARCHAR', 40, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 8, '住所2', 'ADRESS2_NME', FALSE, 'VARCHAR', 40, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 7, '住所1', '', FALSE, 'VARCHAR', 60, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 9, '運賃改正・法改正年月日', 'DKAISEI_DTE', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 8, '住所2', '', FALSE, 'VARCHAR', 40, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 10, '出勤予定日数', 'SYUKIN_DATE_NUM', FALSE, 'NUMBER', 2, NULL, FALSE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 9, '運賃改正・法改正年月日', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 11, '往復区分', 'OUFUKU_KBN', FALSE, 'ENUM', 1, NULL, FALSE, FALSE, '', TRUE, '{1,2}', '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 10, '出勤予定日数', '', FALSE, 'NUMBER', 2, NULL, FALSE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 12, '交替制', 'KOTAISEI_CDE', FALSE, 'ENUM', 1, NULL, FALSE, FALSE, '', TRUE, '{0,1}', '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 11, '往復区分', '', FALSE, 'ENUM', 1, NULL, FALSE, FALSE, '', TRUE, '{1, 2}', NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 13, '算出式', 'SANSYUTU_SIKI', FALSE, 'VARCHAR', 80, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 12, '交替制', '', FALSE, 'ENUM', 1, NULL, FALSE, FALSE, '', TRUE, '{0, 1}', NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 14, '自動車等使用距離', 'CAR_NUM', FALSE, 'NUMBER', 4, 1, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 13, '算出式', '', FALSE, 'VARCHAR', 80, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 15, '自動車等支給額', 'CAR_SHIKYU_NUM', FALSE, 'NUMBER', 6, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 14, '自動車等使用距離', '', FALSE, 'NUMBER', 3, 1, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 16, '自動車等駐車場代', '', FALSE, 'NUMBER', 6, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 15, '自動車等支給額', '', FALSE, 'NUMBER', 6, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 17, '区間1区間コード', 'KUKAN', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 16, '自動車等駐車場代', '', FALSE, 'NUMBER', 6, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 18, '区間1券種', 'KENSHU_1', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0,1,2,3}', '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 17, '区間1区間コード', '', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 19, '区間1コード', 'KAN_CDE', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 18, '区間1券種', '', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0, 1, 2, 3}', NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 20, '区間1支給開始年月', 'KUKAN', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 19, '区間1コード', '', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 21, '区間2区間コード', 'KUKAN', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 20, '区間1定期支給期間', '', FALSE, 'NUMBER', 2, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 22, '区間2券種', 'KENSHU_2', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0,1,2,3}', '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 21, '区間1支給開始年月', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 23, '区間2コード', 'KAN_CDE', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 22, '区間2区間コード', '', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 24, '区間2支給開始年月', 'KUKAN', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 23, '区間2券種', '', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0, 1, 2, 3}', NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 25, '区間3区間コード', 'KUKAN', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 24, '区間2コード', '', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 26, '区間3券種', 'KENSHU_3', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0,1,2,3}', '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 25, '区間2定期支給期間', '', FALSE, 'NUMBER', 2, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 27, '区間3コード', 'KAN_CDE', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 26, '区間2支給開始年月', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 28, '区間3支給開始年月', 'KUKAN', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 27, '区間3区間コード', '', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 29, '区間4区間コード', 'KUKAN', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 28, '区間3券種', '', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0, 1, 2, 3}', NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 30, '区間4券種', 'KENSHU_4', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0,1,2,3}', '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 29, '区間3コード', '', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 31, '区間4コード', 'KAN_CDE', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 30, '区間3定期支給期間', '', FALSE, 'NUMBER', 2, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 32, '区間4支給開始年月', 'KUKAN', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, TRUE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 31, '区間3支給開始年月', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 33, '決定事項区分コード', 'KETTEI_CDE', FALSE, 'MASTER', 1, NULL, TRUE, FALSE, '', TRUE, NULL, '223', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 32, '区間4区間コード', '', FALSE, 'NUMBER', 5, NULL, TRUE, FALSE, '', TRUE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 34, '非該当の理由', 'HIGAITO_NME', FALSE, 'VARCHAR', 80, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 33, '区間4券種', '', FALSE, 'ENUM', 1, NULL, TRUE, FALSE, '', TRUE, '{0, 1, 2, 3}', NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 35, '非該当者認定簿出力区分', 'HIGAITO_KBN', FALSE, 'ENUM', 1, NULL, FALSE, FALSE, '', TRUE, '{1,2}', '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 34, '区間4コード', '', FALSE, 'CHAR', 3, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 36, '手当月額の決定区分コード', 'GETSUGAKU_CDE', FALSE, 'MASTER', 2, NULL, TRUE, FALSE, '', TRUE, NULL, '224', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 35, '区間4定期支給期間', '', FALSE, 'NUMBER', 2, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 37, '支給の始期', 'DNINTEI_DTE', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 36, '区間4支給開始年月', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, TRUE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 38, '備考', 'TSUKIN_BIKO_NME', FALSE, 'VARCHAR', 80, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 37, '決定事項区分コード', '', FALSE, 'MASTER', 1, NULL, TRUE, FALSE, '', TRUE, NULL, '223', FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 39, '所属コード', 'SZK_CDE', FALSE, 'VARCHAR', 10, NULL, TRUE, TRUE, '', FALSE, NULL, '', FALSE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 38, '非該当の理由', '', FALSE, 'VARCHAR', 80, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 40, '認定年月日', 'DNINTEI_DTE', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, '', TRUE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 39, '非該当者認定簿出力区分', '', FALSE, 'ENUM', 1, NULL, FALSE, FALSE, '', TRUE, '{1, 2}', NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
INSERT INTO sh_csv_item_definition (code, item_seq, item_title, item_name, is_duplicate_check_key, data_type, precision, scale, nullable, enable_format_check, format_regex, enable_exist_check, allowed_values, master_sybt, enable_relation_check, json_ignore, cmnuser) VALUES ('TUK', 41, '(各庁の長)官職コード', 'KANSHOKU_CDE', FALSE, 'MASTER', 3, NULL, TRUE, FALSE, '', TRUE, NULL, '507', TRUE, FALSE, 'updsv7');
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 40, '手当月額の決定区分コード', '', FALSE, 'MASTER', 2, NULL, TRUE, FALSE, '', TRUE, NULL, '224', FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 41, '支給の始期', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 42, '備考', '', FALSE, 'VARCHAR', 80, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 43, '所属コード', '', FALSE, 'VARCHAR', 10, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, FALSE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 44, '認定年月日', '', FALSE, 'DATE', NULL, NULL, TRUE, TRUE, '', FALSE, NULL, NULL, TRUE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
|
INSERT INTO SH_CSV_ITEM_DEFINITION VALUES ('TUK', 45, '(各庁の長)官職コード', '', FALSE, 'MASTER', 3, NULL, TRUE, FALSE, '', TRUE, NULL, '507', TRUE, FALSE, 'updsv7', CURRENT_TIMESTAMP);
|
||||||
|
|||||||
@@ -162,6 +162,7 @@ Private Function GenerateSqlForRow(ws As Worksheet, rowNum As Long, codePrefix A
|
|||||||
nums = Trim(Left(nums, InStr(nums, ")") - 1))
|
nums = Trim(Left(nums, InStr(nums, ")") - 1))
|
||||||
precision = nums
|
precision = nums
|
||||||
If InStr(UCase(dataType), "NUMBER") > 0 And InStr(nums, ",") > 0 Then
|
If InStr(UCase(dataType), "NUMBER") > 0 And InStr(nums, ",") > 0 Then
|
||||||
|
precision = Trim(Mid(nums, 1, InStr(nums, ",") - 1))
|
||||||
vScale = Trim(Mid(nums, InStr(nums, ",") + 1))
|
vScale = Trim(Mid(nums, InStr(nums, ",") + 1))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -152,11 +152,12 @@ Private Function LookupM2Cache() As Object
|
|||||||
Dim r As Long
|
Dim r As Long
|
||||||
For r = startRow To lastRow
|
For r = startRow To lastRow
|
||||||
Dim kukanCode As String: kukanCode = Trim(ws.Cells(r, 3).Value) ' C column
|
Dim kukanCode As String: kukanCode = Trim(ws.Cells(r, 3).Value) ' C column
|
||||||
Dim kanshu As String: kanshu = Trim(ws.Cells(r, 9).Value) ' I column
|
Dim kenshu As String: kenshu = Trim(ws.Cells(r, 9).Value) ' I column
|
||||||
Dim code As String: code = Trim(ws.Cells(r, 10).Value) ' J column
|
Dim code As String: code = Trim(ws.Cells(r, 10).Value) ' J column
|
||||||
Dim name As String: name = Trim(ws.Cells(r, 11).Value) ' K column
|
Dim name As String: name = Trim(ws.Cells(r, 11).Value) ' K column
|
||||||
|
Dim teikikikanNum As String: teikikikanNum = Trim(ws.Cells(r, 14).Value) ' N column
|
||||||
|
|
||||||
If kukanCode = "" Or kanshu = "" Or code = "" Then GoTo NextRow
|
If kukanCode = "" Or kenshu = "" Or code = "" Then GoTo NextRow
|
||||||
|
|
||||||
' Outer level: kukanCode
|
' Outer level: kukanCode
|
||||||
If Not resultCache.Exists(kukanCode) Then
|
If Not resultCache.Exists(kukanCode) Then
|
||||||
@@ -164,17 +165,28 @@ Private Function LookupM2Cache() As Object
|
|||||||
resultCache.Add kukanCode, innerDict
|
resultCache.Add kukanCode, innerDict
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Middle level: kanshu
|
' Middle level: kenshu
|
||||||
Set innerDict = resultCache(kukanCode)
|
Set innerDict = resultCache(kukanCode)
|
||||||
If Not innerDict.Exists(kanshu) Then
|
If Not innerDict.Exists(kenshu) Then
|
||||||
Dim innermostDict As Object: Set innermostDict = CreateObject("Scripting.Dictionary")
|
Dim innermostDict As Object: Set innermostDict = CreateObject("Scripting.Dictionary")
|
||||||
innerDict.Add kanshu, innermostDict
|
innerDict.Add kenshu, innermostDict
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Inner level: code -> name
|
' Inner level: code -> {name, teikikikanNumList}
|
||||||
Set innermostDict = innerDict(kanshu)
|
Set innermostDict = innerDict(kenshu)
|
||||||
|
Dim infoDict As Object
|
||||||
If Not innermostDict.Exists(code) Then
|
If Not innermostDict.Exists(code) Then
|
||||||
innermostDict.Add code, name
|
Set infoDict = CreateObject("Scripting.Dictionary")
|
||||||
|
infoDict.Add "name", name
|
||||||
|
infoDict.Add "teikikikanNum", Array(teikikikanNum)
|
||||||
|
innermostDict.Add code, infoDict
|
||||||
|
Else
|
||||||
|
' Already exists, add teikikikanNum to the list
|
||||||
|
Set infoDict = innermostDict(code)
|
||||||
|
Dim oldList As Variant: oldList = infoDict("teikikikanNum")
|
||||||
|
ReDim Preserve oldList(UBound(oldList) + 1)
|
||||||
|
oldList(UBound(oldList)) = teikikikanNum
|
||||||
|
infoDict("teikikikanNum") = oldList
|
||||||
End If
|
End If
|
||||||
|
|
||||||
NextRow:
|
NextRow:
|
||||||
@@ -274,7 +286,7 @@ Private Sub RefreshSheetDict()
|
|||||||
sheetConf("CSV_Encoding") = "shift_jis"
|
sheetConf("CSV_Encoding") = "shift_jis"
|
||||||
sheetConf("HasHeader") = True
|
sheetConf("HasHeader") = True
|
||||||
sheetConf("ExpectedColumnCount") = 41
|
sheetConf("ExpectedColumnCount") = 41
|
||||||
sheetConf("HeaderColumns") = Array("C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "W", "X", "Y", "Z", "AD", "AE", "AF", "AG", "AK", "AL", "AM", "AN", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC")
|
sheetConf("HeaderColumns") = Array("C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "W", "X", "Y", "Z", "AA", "AE", "AF", "AG", "AH", "AI", "AM", "AN", "AO", "AP", "AQ", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", "BD", "BE", "BF", "BG")
|
||||||
sheetConf("AlwaysQuote") = False
|
sheetConf("AlwaysQuote") = False
|
||||||
sheetConf("FilterRow") = 7
|
sheetConf("FilterRow") = 7
|
||||||
Set sheetConfDict("C1") = sheetConf
|
Set sheetConfDict("C1") = sheetConf
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ Option Explicit
|
|||||||
' - BuildKoutaiList
|
' - BuildKoutaiList
|
||||||
' - BuildKetteiList
|
' - BuildKetteiList
|
||||||
' - BuildHigaitouList
|
' - BuildHigaitouList
|
||||||
' - BuildMonthAmountKbnList
|
|
||||||
' - BuildKanshokuList
|
' - BuildKanshokuList
|
||||||
' - BuildKenshuList
|
' - BuildKenshuList
|
||||||
' ============================================================
|
' ============================================================
|
||||||
@@ -127,24 +126,6 @@ Public Function BuildHigaitouList()
|
|||||||
BuildHigaitouList = dropdownList
|
BuildHigaitouList = dropdownList
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' Create MonthAmountKbn (AX) dropdown
|
|
||||||
Public Function BuildMonthAmountKbnList()
|
|
||||||
Dim z3Cache As Object: Set z3Cache = GetCache("Z3")
|
|
||||||
|
|
||||||
Dim dropdownList As String
|
|
||||||
Dim key As Variant
|
|
||||||
For Each key In z3Cache.Keys
|
|
||||||
Dim displayText As String
|
|
||||||
displayText = MakeSelect(key, z3Cache(key)(0))
|
|
||||||
If dropdownList = "" Then
|
|
||||||
dropdownList = displayText
|
|
||||||
Else
|
|
||||||
dropdownList = dropdownList & "," & displayText
|
|
||||||
End If
|
|
||||||
Next key
|
|
||||||
BuildMonthAmountKbnList = dropdownList
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Create Kanshoku (BC) dropdown
|
' Create Kanshoku (BC) dropdown
|
||||||
Public Function BuildKanshokuList()
|
Public Function BuildKanshokuList()
|
||||||
Dim o2Cache As Object: Set o2Cache = GetCache("O2")
|
Dim o2Cache As Object: Set o2Cache = GetCache("O2")
|
||||||
|
|||||||
51
src/sh/tuk/module/Common_Shape.bas
Normal file
51
src/sh/tuk/module/Common_Shape.bas
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
Attribute VB_Name = "Common_Shape"
|
||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' ================= 通用排版引擎(仅调整位置) =================
|
||||||
|
|
||||||
|
Public Sub AlignIconsByCenter(sheetName As String, anchorAddr As String, _
|
||||||
|
iconArr As Variant, gapPt As Double)
|
||||||
|
Dim ws As Worksheet
|
||||||
|
Dim anchor As Range
|
||||||
|
Dim shp As Shape
|
||||||
|
Dim i As Long
|
||||||
|
Dim shapeCount As Long
|
||||||
|
|
||||||
|
On Error Resume Next
|
||||||
|
Set ws = ThisWorkbook.Worksheets(sheetName)
|
||||||
|
On Error GoTo 0
|
||||||
|
If ws Is Nothing Then Exit Sub
|
||||||
|
|
||||||
|
Set anchor = ws.Range(anchorAddr)
|
||||||
|
shapeCount = UBound(iconArr) - LBound(iconArr) + 1
|
||||||
|
|
||||||
|
' 第一个图标左边对齐B3左边
|
||||||
|
Dim curX As Double: curX = anchor.Left
|
||||||
|
Dim prevX As Double: prevX = 0
|
||||||
|
Dim cy As Double: cy = anchor.Top + anchor.Height / 2
|
||||||
|
|
||||||
|
Application.ScreenUpdating = False
|
||||||
|
For i = LBound(iconArr) To UBound(iconArr)
|
||||||
|
Set shp = ws.Shapes(iconArr(i))
|
||||||
|
shp.Placement = xlFreeFloating
|
||||||
|
shp.Left = curX
|
||||||
|
shp.Top = cy - shp.Height / 2
|
||||||
|
If i = LBound(iconArr) Then
|
||||||
|
Debug.Print iconArr(i) & ": left=" & curX & ", width=" & shp.Width
|
||||||
|
Else
|
||||||
|
Debug.Print iconArr(i) & ": left=" & curX & ", gap=" & (curX - prevX) & ", width=" & shp.Width
|
||||||
|
End If
|
||||||
|
prevX = curX + shp.Width
|
||||||
|
curX = curX + shp.Width + gapPt
|
||||||
|
Next i
|
||||||
|
Application.ScreenUpdating = True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' ================= 你的专属调用入口 =================
|
||||||
|
Sub RunAlignForMySheet()
|
||||||
|
AlignIconsByCenter _
|
||||||
|
sheetName:="M1", _
|
||||||
|
anchorAddr:="B3", _
|
||||||
|
iconArr:=Array("input", "check", "output", "sort", "filter", "fit", "load"), _
|
||||||
|
gapPt:=10
|
||||||
|
End Sub
|
||||||
@@ -21,37 +21,42 @@
|
|||||||
Const CSHAINNO_COL As String = "C"
|
Const CSHAINNO_COL As String = "C"
|
||||||
Const ADDRESS1_COL As String = "I"
|
Const ADDRESS1_COL As String = "I"
|
||||||
Const ADDRESS2_COL As String = "J"
|
Const ADDRESS2_COL As String = "J"
|
||||||
|
Const MMONTH_AMOUNT_KBN_COL As String = "BB"
|
||||||
|
|
||||||
Private Function KUKAN_CODE_COLS() As Variant
|
Private Function KUKAN_CODE_COLS() As Variant
|
||||||
KUKAN_CODE_COLS = Array(19, 26, 33, 40) ' S, Z, AG, AN
|
KUKAN_CODE_COLS = Array(19, 27, 35, 43) ' S, AA, AI, AQ
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function KUKAN_TRANSPORT_COLS() As Variant
|
Private Function KUKAN_TRANSPORT_COLS() As Variant
|
||||||
KUKAN_TRANSPORT_COLS = Array(20, 27, 34, 41) ' T, AA, AH, AO
|
KUKAN_TRANSPORT_COLS = Array(20, 28, 36, 44) ' T, AB, AJ, AR
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function KUKAN_STATION_COLS() As Variant
|
Private Function KUKAN_STATION_COLS() As Variant
|
||||||
KUKAN_STATION_COLS = Array(21, 28, 35, 42) ' U, AB, AI, AP
|
KUKAN_STATION_COLS = Array(21, 29, 37, 45) ' U, AC, AK, AS
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function KUKAN_ARRIVAL_COLS() As Variant
|
Private Function KUKAN_ARRIVAL_COLS() As Variant
|
||||||
KUKAN_ARRIVAL_COLS = Array(22, 29, 36, 43) ' V, AC, AJ, AQ
|
KUKAN_ARRIVAL_COLS = Array(22, 30, 38, 46) ' V, AD, AL, AT
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function KUKAN_TICKET_COLS() As Variant
|
Private Function KUKAN_TICKET_COLS() As Variant
|
||||||
KUKAN_TICKET_COLS = Array(23, 30, 37, 44) ' W, AD, AK, AR
|
KUKAN_TICKET_COLS = Array(23, 31, 39, 47) ' W, AE, AM, AU
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function KUKAN_CODE2_COLS() As Variant
|
Private Function KUKAN_CODE2_COLS() As Variant
|
||||||
KUKAN_CODE2_COLS = Array(24, 31, 38, 45) ' X, AE, AL, AS
|
KUKAN_CODE2_COLS = Array(24, 32, 40, 48) ' X, AF, AN, AV
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function KUKAN_TEIKI_COLS() As Variant
|
||||||
|
KUKAN_TEIKI_COLS = Array(25, 33, 41, 49) ' Y, AG, AO, AW
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function KUKAN_START_DAY_COLS() As Variant
|
Private Function KUKAN_START_DAY_COLS() As Variant
|
||||||
KUKAN_START_DAY_COLS = Array(25, 32, 39, 46) ' Y, AF, AM, AT
|
KUKAN_START_DAY_COLS = Array(26, 34, 42, 50) ' Z, AH, AP, AX
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function DATE_COLS() As Variant
|
Private Function DATE_COLS() As Variant
|
||||||
DATE_COLS = Array(4, 5, 6, 25, 32, 39, 46, 51, 54) ' D, E, F, Y, AF, AM, AT, AY, BB
|
DATE_COLS = Array(4, 5, 6, 26, 34, 42, 50, 56, 59) ' D, E, F, Z, AH, AP, AX, BC, BF
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function NUMBER_COLS() As Variant
|
Private Function NUMBER_COLS() As Variant
|
||||||
@@ -89,11 +94,10 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
.Columns("F"), _
|
.Columns("F"), _
|
||||||
.Columns("G"), _
|
.Columns("G"), _
|
||||||
.Columns("I"), _
|
.Columns("I"), _
|
||||||
.Columns("S:W"), _
|
.Columns("S:X"), _
|
||||||
.Columns("Z:AD"), _
|
.Columns("AA:AF"), _
|
||||||
.Columns("AG:AK"), _
|
.Columns("AI:AN"), _
|
||||||
.Columns("AN:AR"), _
|
.Columns("AQ:AV") _
|
||||||
.Columns("BB") _
|
|
||||||
)
|
)
|
||||||
End With
|
End With
|
||||||
Dim intersectRng As Range: Set intersectRng = Application.Intersect(Target, watchArea)
|
Dim intersectRng As Range: Set intersectRng = Application.Intersect(Target, watchArea)
|
||||||
@@ -167,7 +171,7 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' === Transport column changes (T, AA, AH, AO) ===
|
' === Transport column changes (T, AB, AJ, AR) ===
|
||||||
idx = GetIdx(Target.Column, KUKAN_TRANSPORT_COLS)
|
idx = GetIdx(Target.Column, KUKAN_TRANSPORT_COLS)
|
||||||
If idx >= 0 Then
|
If idx >= 0 Then
|
||||||
Dim cellT As Range
|
Dim cellT As Range
|
||||||
@@ -180,7 +184,7 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' === Station column changes (U, AB, AI, AP) ===
|
' === Station column changes (U, AC, AK, AS) ===
|
||||||
idx = GetIdx(Target.Column, KUKAN_STATION_COLS)
|
idx = GetIdx(Target.Column, KUKAN_STATION_COLS)
|
||||||
If idx >= 0 Then
|
If idx >= 0 Then
|
||||||
Dim cellU As Range
|
Dim cellU As Range
|
||||||
@@ -193,7 +197,7 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' === Arrival column changes (V, AC, AJ, AQ) ===
|
' === Arrival column changes (V, AD, AL, AT) ===
|
||||||
idx = GetIdx(Target.Column, KUKAN_ARRIVAL_COLS)
|
idx = GetIdx(Target.Column, KUKAN_ARRIVAL_COLS)
|
||||||
If idx >= 0 Then
|
If idx >= 0 Then
|
||||||
Dim cellV As Range
|
Dim cellV As Range
|
||||||
@@ -210,7 +214,7 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' === Kukan code column changes (S, Z, AG, AN) ===
|
' === Kukan code column changes (S, AA, AI, AQ) ===
|
||||||
idx = GetIdx(Target.Column, KUKAN_CODE_COLS)
|
idx = GetIdx(Target.Column, KUKAN_CODE_COLS)
|
||||||
If idx >= 0 Then
|
If idx >= 0 Then
|
||||||
Dim cellK As Range
|
Dim cellK As Range
|
||||||
@@ -219,7 +223,7 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' === Ticket column changes (W, AD, AK, AR) ===
|
' === Ticket column changes (W, AE, AM, AU) ===
|
||||||
idx = GetIdx(Target.Column, KUKAN_TICKET_COLS)
|
idx = GetIdx(Target.Column, KUKAN_TICKET_COLS)
|
||||||
If idx >= 0 Then
|
If idx >= 0 Then
|
||||||
Dim cellTi As Range
|
Dim cellTi As Range
|
||||||
@@ -228,7 +232,22 @@ Private Sub Worksheet_Change(ByVal Target As Range)
|
|||||||
Dim code2Col As Long: code2Col = KUKAN_CODE2_COLS(idx)
|
Dim code2Col As Long: code2Col = KUKAN_CODE2_COLS(idx)
|
||||||
Me.Cells(cellTi.Row, code2Col).ClearContents
|
Me.Cells(cellTi.Row, code2Col).ClearContents
|
||||||
Me.Cells(cellTi.Row, code2Col).Validation.Delete
|
Me.Cells(cellTi.Row, code2Col).Validation.Delete
|
||||||
Call CreateM2CodeDropdown(cellTi.Row, KUKAN_CODE_COLS(idx), KUKAN_TICKET_COLS(idx), code2Col)
|
' Also clear teiki column
|
||||||
|
Dim teikiCol As Long: teikiCol = KUKAN_TEIKI_COLS(idx)
|
||||||
|
Me.Cells(cellTi.Row, teikiCol).ClearContents
|
||||||
|
Me.Cells(cellTi.Row, teikiCol).Validation.Delete
|
||||||
|
Call BuildM2CodeDropdown(cellTi.Row, KUKAN_CODE_COLS(idx), KUKAN_TICKET_COLS(idx), code2Col)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
' === Code2 column changes (X, AF, AN, AV) ===
|
||||||
|
idx = GetIdx(Target.Column, KUKAN_CODE2_COLS)
|
||||||
|
If idx >= 0 Then
|
||||||
|
Dim cellCode2 As Range
|
||||||
|
For Each cellCode2 In Target
|
||||||
|
If Trim(cellCode2.Value) <> "" Then
|
||||||
|
Call CreateTeikiDropdown(cellCode2.Row, idx)
|
||||||
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -266,7 +285,22 @@ Private Sub Refresh(ws As Worksheet, ByVal startRow As Long, ByVal lastDataRow A
|
|||||||
Call BuildAddress2Dropdown(r, cshainno)
|
Call BuildAddress2Dropdown(r, cshainno)
|
||||||
Call ReFillAddress2(r, cshainno)
|
Call ReFillAddress2(r, cshainno)
|
||||||
Call RebuildDropdowns(r)
|
Call RebuildDropdowns(r)
|
||||||
|
|
||||||
Call ReFillFromDropdowns(r)
|
Call ReFillFromDropdowns(r)
|
||||||
|
|
||||||
|
' Refresh teiki dropdowns for all 4 sections
|
||||||
|
Dim idx As Long
|
||||||
|
For idx = 0 To 3
|
||||||
|
Dim kukanCode As String: kukanCode = Trim(Me.Cells(r, KUKAN_CODE_COLS(idx)).Value)
|
||||||
|
Dim kenshu As String: kenshu = GetCode(Trim(Me.Cells(r, KUKAN_TICKET_COLS(idx)).Value))
|
||||||
|
Dim code As String: code = GetCode(Trim(Me.Cells(r, KUKAN_CODE2_COLS(idx)).Value))
|
||||||
|
Call BuildM2CodeDropdown(r, KUKAN_CODE_COLS(idx), KUKAN_TICKET_COLS(idx), KUKAN_CODE2_COLS(idx))
|
||||||
|
Call ReFillM2CodeDropdown(r, KUKAN_CODE_COLS(idx), KUKAN_TICKET_COLS(idx), KUKAN_CODE2_COLS(idx))
|
||||||
|
If kukanCode <> "" And kenshu <> "" And code <> "" Then
|
||||||
|
Dim teikiColIndex As Long: teikiColIndex = KUKAN_TEIKI_COLS(idx)
|
||||||
|
Call BuildTeikiDropdown(r, kukanCode, kenshu, code, ColLetter(teikiColIndex))
|
||||||
|
End If
|
||||||
|
Next idx
|
||||||
Next r
|
Next r
|
||||||
|
|
||||||
Application.EnableEvents = True
|
Application.EnableEvents = True
|
||||||
@@ -281,16 +315,15 @@ Private Sub RebuildDropdowns(ByVal rowNum As Long)
|
|||||||
Dim dropdowns As Variant
|
Dim dropdowns As Variant
|
||||||
dropdowns = Array( _
|
dropdowns = Array( _
|
||||||
Array("T", "BuildTransportList"), _
|
Array("T", "BuildTransportList"), _
|
||||||
Array("AA", "BuildTransportList"), _
|
Array("AB", "BuildTransportList"), _
|
||||||
Array("AH", "BuildTransportList"), _
|
Array("AJ", "BuildTransportList"), _
|
||||||
Array("AO", "BuildTransportList"), _
|
Array("AR", "BuildTransportList"), _
|
||||||
Array("G", "BuildTodokeList"), _
|
Array("G", "BuildTodokeList"), _
|
||||||
Array("M", "BuildOufukuList"), _
|
Array("M", "BuildOufukuList"), _
|
||||||
Array("N", "BuildKoutaiList"), _
|
Array("N", "BuildKoutaiList"), _
|
||||||
Array("AU", "BuildKetteiList"), _
|
Array("AY", "BuildKetteiList"), _
|
||||||
Array("AW", "BuildHigaitouList"), _
|
Array("BA", "BuildHigaitouList"), _
|
||||||
Array("AX", "BuildMonthAmountKbnList"), _
|
Array("BG", "BuildKanshokuList") _
|
||||||
Array("BC", "BuildKanshokuList") _
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Dim i As Long
|
Dim i As Long
|
||||||
@@ -302,22 +335,32 @@ Private Sub RebuildDropdowns(ByVal rowNum As Long)
|
|||||||
.InCellDropdown = True
|
.InCellDropdown = True
|
||||||
End With
|
End With
|
||||||
Next i
|
Next i
|
||||||
|
|
||||||
|
Call BuildDropdownFromCacheNamedRange(Me, MMONTH_AMOUNT_KBN_COL, rowNum, "Z3")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ReFillFromDropdowns(ByVal rowNum As Long)
|
Private Sub ReFillFromDropdowns(ByVal rowNum As Long)
|
||||||
|
|
||||||
|
Dim z3Cache As Object: Set z3Cache = GetCache("Z3")
|
||||||
|
Dim valueStrMonthAmountKbn As String: valueStrMonthAmountKbn = Trim(Me.Cells(rowNum, MMONTH_AMOUNT_KBN_COL).Value)
|
||||||
|
Dim monthAmountKbn As String: monthAmountKbn = GetCode(valueStrMonthAmountKbn)
|
||||||
|
If z3Cache.Exists(monthAmountKbn) Then
|
||||||
|
Me.Cells(rowNum, MMONTH_AMOUNT_KBN_COL).Value = MakeSelect(monthAmountKbn, z3Cache(monthAmountKbn)(0))
|
||||||
|
End If
|
||||||
|
|
||||||
Dim dropdowns As Variant
|
Dim dropdowns As Variant
|
||||||
dropdowns = Array( _
|
dropdowns = Array( _
|
||||||
Array("T", "BuildTransportList"), _
|
Array("T", "BuildTransportList"), _
|
||||||
Array("AA", "BuildTransportList"), _
|
Array("AB", "BuildTransportList"), _
|
||||||
Array("AH", "BuildTransportList"), _
|
Array("AJ", "BuildTransportList"), _
|
||||||
Array("AO", "BuildTransportList"), _
|
Array("AR", "BuildTransportList"), _
|
||||||
Array("G", "BuildTodokeList"), _
|
Array("G", "BuildTodokeList"), _
|
||||||
Array("M", "BuildOufukuList"), _
|
Array("M", "BuildOufukuList"), _
|
||||||
Array("N", "BuildKoutaiList"), _
|
Array("N", "BuildKoutaiList"), _
|
||||||
Array("AU", "BuildKetteiList"), _
|
Array("AY", "BuildKetteiList"), _
|
||||||
Array("AW", "BuildHigaitouList"), _
|
Array("BA", "BuildHigaitouList"), _
|
||||||
Array("AX", "BuildMonthAmountKbnList"), _
|
Array("BG", "BuildKanshokuList") _
|
||||||
Array("BC", "BuildKanshokuList") _
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Dim i As Long
|
Dim i As Long
|
||||||
@@ -645,7 +688,7 @@ Private Sub ClearKukanValidation(ByVal rowNum As Long, ByVal col As Long)
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Create dropdown from M2 cache: get code (J) list for kukanCode + kanshu
|
' Create dropdown from M2 cache: get code (J) list for kukanCode + kanshu
|
||||||
Private Sub CreateM2CodeDropdown(ByVal rowNum As Long, ByVal kukanCodeCol As Long, ByVal kanshuCol As Long, ByVal codeCol As Long)
|
Private Sub BuildM2CodeDropdown(ByVal rowNum As Long, ByVal kukanCodeCol As Long, ByVal kanshuCol As Long, ByVal codeCol As Long)
|
||||||
Dim m2Cache As Object: Set m2Cache = GetCache("M2")
|
Dim m2Cache As Object: Set m2Cache = GetCache("M2")
|
||||||
|
|
||||||
Dim kukanCode As String: kukanCode = Trim(Me.Cells(rowNum, kukanCodeCol).Value)
|
Dim kukanCode As String: kukanCode = Trim(Me.Cells(rowNum, kukanCodeCol).Value)
|
||||||
@@ -661,10 +704,12 @@ Private Sub CreateM2CodeDropdown(ByVal rowNum As Long, ByVal kukanCodeCol As Lon
|
|||||||
Dim innermostDict As Object: Set innermostDict = innerDict(kanshu)
|
Dim innermostDict As Object: Set innermostDict = innerDict(kanshu)
|
||||||
Dim code As Variant
|
Dim code As Variant
|
||||||
For Each code In innermostDict.Keys
|
For Each code In innermostDict.Keys
|
||||||
|
Dim infoDict As Object: Set infoDict = innermostDict(code)
|
||||||
|
Dim codeName As String: codeName = infoDict("name")
|
||||||
If dropdownList = "" Then
|
If dropdownList = "" Then
|
||||||
dropdownList = MakeSelect(code, innermostDict(code))
|
dropdownList = MakeSelect(code, codeName)
|
||||||
Else
|
Else
|
||||||
dropdownList = dropdownList & "," & code
|
dropdownList = dropdownList & "," & MakeSelect(code, codeName)
|
||||||
End If
|
End If
|
||||||
Next code
|
Next code
|
||||||
End If
|
End If
|
||||||
@@ -680,25 +725,44 @@ Private Sub CreateM2CodeDropdown(ByVal rowNum As Long, ByVal kukanCodeCol As Lon
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReFillM2CodeDropdown(ByVal rowNum As Long, ByVal kukanCodeCol As Long, ByVal kanshuCol As Long, ByVal codeCol As Long)
|
||||||
|
Dim m2Cache As Object: Set m2Cache = GetCache("M2")
|
||||||
|
|
||||||
|
Dim kukanCode As String: kukanCode = Trim(Me.Cells(rowNum, kukanCodeCol).Value)
|
||||||
|
Dim kenshu As String: kenshu = GetCode(Trim(Me.Cells(rowNum, kanshuCol).Value))
|
||||||
|
If kukanCode = "" Or kenshu = "" Then
|
||||||
|
Me.Cells(rowNum, codeCol).ClearContents
|
||||||
|
Me.Cells(rowNum, codeCol).Validation.Delete
|
||||||
|
Me.Cells(rowNum, codeCol).Interior.Color = vbWhite
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim code As String: code = GetCode(Trim(Me.Cells(rowNum, codeCol).Value))
|
||||||
|
If m2Cache.Exists(kukanCode) Then
|
||||||
|
Dim innerDict As Object: Set innerDict = m2Cache(kukanCode)
|
||||||
|
If innerDict.Exists(kenshu) Then
|
||||||
|
Dim innermostDict As Object: Set innermostDict = innerDict(kenshu)
|
||||||
|
If innermostDict.Exists(code) Then
|
||||||
|
Dim infoDict As Object: Set infoDict = innermostDict(code)
|
||||||
|
Dim codeName As String: codeName = infoDict("name")
|
||||||
|
Me.Cells(rowNum, codeCol).Value = MakeSelect(code, codeName)
|
||||||
|
End IF
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
' Clear row data and validation
|
' Clear row data and validation
|
||||||
Private Sub ClearRowData(ByVal rowNum As Long)
|
Private Sub ClearRowData(ByVal rowNum As Long)
|
||||||
Dim sheetConfDict As Object: Set sheetConfDict = GetSheetConfig()
|
Dim sheetConfDict As Object: Set sheetConfDict = GetSheetConfig()
|
||||||
Dim sheetConf As Object: Set sheetConf = sheetConfDict(Me.CodeName)
|
Dim sheetConf As Object: Set sheetConf = sheetConfDict(Me.CodeName)
|
||||||
|
|
||||||
Dim startCol As String: startCol = sheetConf("StartCol")
|
Dim startCol As String: startCol = sheetConf("ErrorCol")
|
||||||
Dim endCol As String: endCol = sheetConf("EndCol")
|
Dim endCol As String: endCol = sheetConf("EndCol")
|
||||||
Dim errorCol As String: errorCol = sheetConf("ErrorCol")
|
|
||||||
|
|
||||||
Me.Range(Me.Cells(rowNum, startCol), Me.Cells(rowNum, endCol)).ClearContents
|
Me.Range(Me.Cells(rowNum, startCol), Me.Cells(rowNum, endCol)).ClearContents
|
||||||
|
Me.Range(Me.Cells(rowNum, startCol), Me.Cells(rowNum, endCol)).Validation.Delete
|
||||||
Me.Range(Me.Cells(rowNum, startCol), Me.Cells(rowNum, endCol)).Interior.Color = vbWhite
|
Me.Range(Me.Cells(rowNum, startCol), Me.Cells(rowNum, endCol)).Interior.Color = vbWhite
|
||||||
Me.Cells(rowNum, errorCol).ClearContents
|
|
||||||
|
|
||||||
Dim clearValidationCols As Variant
|
|
||||||
clearValidationCols = Array("I", "J", "U", "V", "X", "AB", "AC", "AE", "AI", "AJ", "AL", "AP", "AQ", "AS")
|
|
||||||
Dim col As Variant
|
|
||||||
For Each col In clearValidationCols
|
|
||||||
Me.Range(col & rowNum).Validation.Delete
|
|
||||||
Next col
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Validation logic
|
' Validation logic
|
||||||
@@ -717,7 +781,7 @@ Public Sub Validate(ws As Worksheet, ByVal rowNum As Long, ByVal lastDataRow As
|
|||||||
|
|
||||||
' Required columns: C-G, K-N, AW
|
' Required columns: C-G, K-N, AW
|
||||||
Dim requiredCols As Variant
|
Dim requiredCols As Variant
|
||||||
requiredCols = Array("C", "D", "E", "F", "G", "L", "M", "N", "AW")
|
requiredCols = Array("C", "D", "E", "F", "G", "L", "M", "N", "BA")
|
||||||
Dim col As Variant
|
Dim col As Variant
|
||||||
For Each col In requiredCols
|
For Each col In requiredCols
|
||||||
If Trim(Me.Range(col & rowNum).Value & "") = "" Then
|
If Trim(Me.Range(col & rowNum).Value & "") = "" Then
|
||||||
@@ -847,6 +911,7 @@ Public Sub Validate(ws As Worksheet, ByVal rowNum As Long, ByVal lastDataRow As
|
|||||||
' Validate KUKAN_TICKET_COLS and KUKAN_CODE2_COLS
|
' Validate KUKAN_TICKET_COLS and KUKAN_CODE2_COLS
|
||||||
Dim ticketCol As Long: ticketCol = KUKAN_TICKET_COLS(kukanIdx)
|
Dim ticketCol As Long: ticketCol = KUKAN_TICKET_COLS(kukanIdx)
|
||||||
Dim code2Col As Long: code2Col = KUKAN_CODE2_COLS(kukanIdx)
|
Dim code2Col As Long: code2Col = KUKAN_CODE2_COLS(kukanIdx)
|
||||||
|
Dim teikiCol As Long: teikiCol = KUKAN_TEIKI_COLS(kukanIdx)
|
||||||
Dim ticketVal As String: ticketVal = GetCode(Trim(Me.Cells(rowNum, ticketCol).Value))
|
Dim ticketVal As String: ticketVal = GetCode(Trim(Me.Cells(rowNum, ticketCol).Value))
|
||||||
Dim code2Val As String: code2Val = GetCode(Trim(Me.Cells(rowNum, code2Col).Value))
|
Dim code2Val As String: code2Val = GetCode(Trim(Me.Cells(rowNum, code2Col).Value))
|
||||||
Dim ticketLetter As String: ticketLetter = Split(Me.Cells(1, ticketCol).Address, "$")(1)
|
Dim ticketLetter As String: ticketLetter = Split(Me.Cells(1, ticketCol).Address, "$")(1)
|
||||||
@@ -886,6 +951,14 @@ Public Sub Validate(ws As Worksheet, ByVal rowNum As Long, ByVal lastDataRow As
|
|||||||
Me.Cells(rowNum, errorCol).Value = code2Letter & " column is invalid"
|
Me.Cells(rowNum, errorCol).Value = code2Letter & " column is invalid"
|
||||||
Me.Range(code2Letter & rowNum).Interior.Color = RGB(255, 0, 0)
|
Me.Range(code2Letter & rowNum).Interior.Color = RGB(255, 0, 0)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
|
Else
|
||||||
|
Dim teikiValue As String: teikiValue = Trim(Me.Cells(rowNum, teikiCol).Value)
|
||||||
|
If ticketVal = "1" And teikiValue = "" Then
|
||||||
|
Dim teikiLetter As String: teikiLetter = ColLetter(teikiCol)
|
||||||
|
Me.Cells(rowNum, errorCol).Value = teikiLetter & " column is required"
|
||||||
|
Me.Range(teikiLetter & rowNum).Interior.Color = RGB(255, 0, 0)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -925,33 +998,33 @@ Public Sub Validate(ws As Worksheet, ByVal rowNum As Long, ByVal lastDataRow As
|
|||||||
|
|
||||||
' Validate H, BB, BC columns
|
' Validate H, BB, BC columns
|
||||||
Dim linkCellValue As String: linkCellValue = Me.Cells(3, "H").Value
|
Dim linkCellValue As String: linkCellValue = Me.Cells(3, "H").Value
|
||||||
Dim ColBB As String: ColBB = "BB"
|
Dim ColBF As String: ColBF = "BF"
|
||||||
Dim ColBC As String: ColBC = "BC"
|
Dim ColBG As String: ColBG = "BG"
|
||||||
Dim valBB As String: valBB = Trim(Me.Cells(rowNum, ColBB).Value)
|
Dim valBF As String: valBF = Trim(Me.Cells(rowNum, ColBF).Value)
|
||||||
Dim valBC As String: valBC = Trim(Me.Cells(rowNum, ColBC).Value)
|
Dim valBG As String: valBG = Trim(Me.Cells(rowNum, ColBG).Value)
|
||||||
|
|
||||||
If linkCellValue = "1" Then
|
If linkCellValue = "1" Then
|
||||||
' If code = "1", BB and BC must be empty
|
' If code = "1", BB and BC must be empty
|
||||||
If valBB <> "" Then
|
If valBF <> "" Then
|
||||||
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E005", ColBB & rowNum)
|
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E005", ColBF & rowNum)
|
||||||
Me.Range(ColBB & rowNum).Interior.Color = RGB(255, 0, 0)
|
Me.Range(ColBF & rowNum).Interior.Color = RGB(255, 0, 0)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
If valBC <> "" Then
|
If valBG <> "" Then
|
||||||
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E005", ColBC & rowNum)
|
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E005", ColBG & rowNum)
|
||||||
Me.Range(ColBC & rowNum).Interior.Color = RGB(255, 0, 0)
|
Me.Range(ColBG & rowNum).Interior.Color = RGB(255, 0, 0)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
ElseIf linkCellValue = "2" Then
|
ElseIf linkCellValue = "2" Then
|
||||||
' If code = "2", BB and BC must have value
|
' If code = "2", BB and BC must have value
|
||||||
If valBB = "" Then
|
If valBF = "" Then
|
||||||
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E002", ColBB & rowNum)
|
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E002", ColBF & rowNum)
|
||||||
Me.Range(ColBB & rowNum).Interior.Color = RGB(255, 0, 0)
|
Me.Range(ColBF & rowNum).Interior.Color = RGB(255, 0, 0)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
If valBC = "" Then
|
If valBG = "" Then
|
||||||
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E002", ColBC & rowNum)
|
Me.Cells(rowNum, errorCol).Value = GetErrorMsg("E002", ColBG & rowNum)
|
||||||
Me.Range(ColBC & rowNum).Interior.Color = RGB(255, 0, 0)
|
Me.Range(ColBG & rowNum).Interior.Color = RGB(255, 0, 0)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -962,3 +1035,57 @@ Public Sub Validate(ws As Worksheet, ByVal rowNum As Long, ByVal lastDataRow As
|
|||||||
ErrHandler:
|
ErrHandler:
|
||||||
lastErrorMsg = Err.Description
|
lastErrorMsg = Err.Description
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
' Create teiki dropdown based on M2 cache
|
||||||
|
Private Sub CreateTeikiDropdown(ByVal row As Long, ByVal idx As Long)
|
||||||
|
' Get kukanCode from KUKAN_CODE_COLS
|
||||||
|
Dim kukanCol As Long: kukanCol = KUKAN_CODE_COLS(idx)
|
||||||
|
Dim kukanCode As String: kukanCode = Trim(Me.Cells(row, kukanCol).Value)
|
||||||
|
' Get kenshu from KUKAN_TICKET_COLS
|
||||||
|
Dim kenshu As String: kenshu = GetCode(Trim(Me.Cells(row, KUKAN_TICKET_COLS(idx)).Value))
|
||||||
|
' Get code2 from KUKAN_CODE2_COLS
|
||||||
|
Dim code As String: code = GetCode(Trim(Me.Cells(row, KUKAN_CODE2_COLS(idx)).Value))
|
||||||
|
|
||||||
|
If kukanCode = "" Or kenshu = "" Or code = "" Then Exit Sub
|
||||||
|
If Not kenshu = "1" Then Exit Sub
|
||||||
|
|
||||||
|
Dim teikiColIndex As Long: teikiColIndex = KUKAN_TEIKI_COLS(idx)
|
||||||
|
Call BuildTeikiDropdown(row, kukanCode, kenshu, code, ColLetter(teikiColIndex))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub BuildTeikiDropdown(ByVal rowNum As Long, ByVal kukanCode As String, ByVal kenshu As String, ByVal code As String, ByVal targetCell As String)
|
||||||
|
Dim M2Cache As Object: Set M2Cache = GetCache("M2")
|
||||||
|
Dim kenshuDict As Object: Set kenshuDict = M2Cache(kukanCode)
|
||||||
|
Dim codeDict As Object: Set codeDict = kenshuDict(kenshu)
|
||||||
|
Dim teikiArray As Object: Set teikiArray = codeDict(code)
|
||||||
|
|
||||||
|
If teikiArray Is Nothing Then Exit Sub
|
||||||
|
If Not teikiArray.Exists("teikikikanNum") Then Exit Sub
|
||||||
|
|
||||||
|
Dim teikiList As Variant: teikiList = teikiArray("teikikikanNum")
|
||||||
|
If Not IsArray(teikiList) Then Exit Sub
|
||||||
|
If UBound(teikiList) < LBound(teikiList) Then Exit Sub
|
||||||
|
|
||||||
|
' Build dropdown list
|
||||||
|
Dim dropdownList As String: dropdownList = ""
|
||||||
|
Dim i As Long
|
||||||
|
For i = LBound(teikiList) To UBound(teikiList)
|
||||||
|
Dim val As String: val = CStr(teikiList(i))
|
||||||
|
If val <> "" Then
|
||||||
|
If dropdownList = "" Then
|
||||||
|
dropdownList = val
|
||||||
|
Else
|
||||||
|
dropdownList = dropdownList & "," & val
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next i
|
||||||
|
|
||||||
|
If dropdownList <> "" Then
|
||||||
|
With Me.Range(targetCell & rowNum).Validation
|
||||||
|
.Delete
|
||||||
|
.Add Type:=xlValidateList, Formula1:=dropdownList
|
||||||
|
.IgnoreBlank = True
|
||||||
|
.InCellDropdown = True
|
||||||
|
End With
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ Private Sub FillKFromJ(ByVal ws As Worksheet, ByVal rowNum As Long)
|
|||||||
ws.Range("K" & rowNum).Value = Trim(cacheVal(0))
|
ws.Range("K" & rowNum).Value = Trim(cacheVal(0))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Select Case iValue
|
Select Case kenshu
|
||||||
Case "1"
|
Case "1"
|
||||||
Exit Sub
|
Exit Sub
|
||||||
Case "2"
|
Case "2"
|
||||||
|
|||||||
BIN
通勤手当テンプレート20260525.xlsm
Normal file
BIN
通勤手当テンプレート20260525.xlsm
Normal file
Binary file not shown.
Reference in New Issue
Block a user