% wyekstrahowane z bazy danych SQL dla grupy HARD19 % wywołanie: python extract_dzn.py -H localhost -P 5432 -d jss_db -u postgres -p postgres -o c:\jss-saas-backend\app\data_import_from_sql\hard19_test6.dzn -g HARD19 no_mach = 6; no_jobs = 10; no_task = 60; no_optt = 170; tasks = [1..6, 7..12, 13..18, 19..24, 25..30, 31..36, 37..42, 43..48, 49..54, 55..60]; optts = [1..3, 4..7, 8..10, 11..14, 15..19, 20..22, 23..24, {25}, 26..30, 31..33, 34..35, 36..37, 38..40, 41..43, 44..46, 47..50, 51..52, 53..56, 57..58, 59..61, 62..65, 66..68, {69}, {70}, 71..72, 73..75, {76}, 77..78, {79}, 80..81, 82..84, 85..86, 87..89, 90..93, 94..97, 98..101, 102..103, 104..107, 108..110, 111..113, 114..117, 118..119, 120..123, 124..126, 127..129, 130..132, 133..134, 135..137, 138..139, 140..141, {142}, 143..145, 146..147, 148..151, 152..154, 155..157, 158..161, 162..165, 166..167, 168..170]; optt_mach = [1, 4, 6, 1, 2, 3, 6, 3, 5, 6, 1, 4, 5, 6, 2, 3, 4, 5, 6, 2, 4, 6, 1, 2, 2, 1, 2, 3, 5, 6, 1, 4, 5, 3, 5, 3, 6, 1, 3, 6, 1, 2, 3, 3, 4, 5, 1, 2, 4, 5, 2, 5, 3, 4, 5, 6, 1, 5, 1, 2, 3, 1, 2, 3, 6, 2, 4, 5, 5, 6, 1, 3, 1, 2, 4, 3, 4, 6, 5, 5, 6, 1, 3, 6, 2, 5, 2, 3, 6, 2, 4, 5, 6, 1, 2, 5, 6, 2, 4, 5, 6, 1, 5, 1, 2, 3, 6, 1, 3, 4, 3, 4, 6, 3, 4, 5, 6, 4, 6, 1, 2, 5, 6, 1, 2, 6, 2, 3, 4, 1, 2, 4, 4, 5, 3, 4, 6, 1, 6, 1, 2, 3, 3, 4, 6, 2, 5, 1, 2, 5, 6, 1, 4, 5, 2, 4, 6, 2, 3, 5, 6, 1, 2, 4, 5, 5, 6, 3, 5, 6]; optt_dur = [333, 333, 333, 991, 991, 991, 991, 996, 996, 996, 123, 123, 123, 123, 145, 145, 145, 145, 145, 234, 234, 234, 333, 333, 111, 663, 663, 663, 663, 663, 456, 456, 456, 785, 785, 532, 532, 252, 252, 252, 222, 222, 222, 222, 222, 222, 789, 789, 789, 789, 214, 214, 586, 586, 586, 586, 222, 222, 204, 204, 204, 114, 114, 114, 114, 876, 876, 876, 752, 532, 255, 255, 477, 477, 477, 123, 543, 543, 143, 142, 142, 555, 555, 555, 566, 566, 456, 456, 456, 210, 210, 210, 210, 698, 698, 698, 698, 573, 573, 573, 573, 558, 558, 899, 899, 899, 899, 789, 789, 789, 124, 124, 124, 532, 532, 532, 532, 12, 12, 888, 888, 888, 888, 965, 965, 965, 876, 876, 876, 537, 537, 537, 145, 145, 14, 14, 14, 889, 889, 588, 588, 543, 854, 854, 854, 247, 247, 527, 527, 527, 527, 999, 999, 999, 889, 889, 889, 210, 210, 210, 210, 632, 632, 632, 632, 451, 451, 856, 856, 856]; first_day_of_schedule = "17.08.2026"; first_shift_start_time = ["08:00"]; task_desc = ["Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie", "Cięcie", "Toczenie", "Frezowanie", "Montaż części", "Kontrola jakości", "Pakowanie"]; task_opno = ["10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60", "10", "20", "30", "40", "50", "60"]; machine_desc = ["Piła taśmowa", "Tokarka CNC", "Frezarka CNC", "Wiertarka pionowa", "Prasa krawędziowa", "Robot spawalniczy"]; job_desc = ["HARD19-001 100 sz", "HARD19-002 200 sz", "HARD19-003 300 sz", "HARD19-004 400 sz", "HARD19-005 500 sz", "HARD19-006 600 sz", "HARD19-007 700 sz", "HARD19-008 800 sz", "HARD19-009 900 sz", "HARD19-010 1000 sz"];