diff --git a/API/data/connect.py b/API/data/connect.py index 5d5f395..d1215a9 100644 --- a/API/data/connect.py +++ b/API/data/connect.py @@ -1,4 +1,4 @@ -from sqlalchemy import create_engine, Column, Integer, VARCHAR, Float, ForeignKey, Date, Text, DateTime +from sqlalchemy import create_engine, Column, Integer, VARCHAR, Float, ForeignKey, Date, Text, Boolean, DateTime from sqlalchemy.orm import Session, sessionmaker, relationship from sqlalchemy.ext.declarative import declarative_base @@ -33,7 +33,7 @@ class User(base): office = Column(VARCHAR(10)) birthday = Column(Date) other_info = Column(Text) - login = Column(VARCHAR(100)) + email = Column(VARCHAR(100)) password = Column(VARCHAR(150)) helper_id = Column(Integer, ForeignKey('users.id')) @@ -47,7 +47,7 @@ class DepartmentUser(base): id = Column(Integer, primary_key=True, autoincrement=True) department_id = Column(Integer, ForeignKey('departments.id')) - user_id = Column(Integer, ForeignKey('user.id')) + user_id = Column(Integer, ForeignKey('users.id')) class DocumentCategory(base): @@ -158,6 +158,14 @@ class UserEvent(base): user_id = Column(Integer, ForeignKey('users.id')) +class WorkingCalendar(base): + __tablename__ = 'workingcalendar' + + id = Column(Integer, primary_key=True, autoincrement=True) + exceptiondate = Column(Date) + isworkingday = Column(Boolean) + + def init_db(): eng = create_engine( 'postgresql+psycopg2://postgres:2509@localhost:5432/prb1' diff --git a/API/main.py b/API/main.py index 54b08a6..95d1dd8 100644 --- a/API/main.py +++ b/API/main.py @@ -1,2 +1,9 @@ +from data.connect import init_db, connect + + +def main(): + init_db() + + if __name__ == '__main__': - pass + main() diff --git a/Импорт/departments.csv b/Импорт/departments.csv new file mode 100644 index 0000000..0fa7d11 --- /dev/null +++ b/Импорт/departments.csv @@ -0,0 +1,52 @@ +title +1. Административный департамент +1.1. Административный департамент +1.2. Договорной отдел +1.3. Общий отдел +1.4. Отдел закупок +1.5. Отдел протокольного сопровождения +1.6. Управление административно-хозяйственной деятельности +1.6.1. Отдел ИТ +1.6.2. Управление административно-хозяйственной деятельности +1.7. Управление безопасности +1.8. Управление по обеспечению безопасности +2. Академия Умные дороги +2.1. Академия Умные дороги +2.2. Отдел сетевых программ +2.3. Проектно-аналитический отдел +2.4. Учебно-организационный отдел +3. Аппарат управления +4. Департамент коммуникаций +4.1. Департамент коммуникаций +4.2. Управление по PR-проектам +4.2.1. Отдел по организации и сопровождению мероприятий +4.2.2. Отдел по работе с корпорациями +4.3. Управление Пресс-службы +4.3.1. Отдел по работе со СМИ +4.3.2. Отдел цифровых коммуникаций +4.3.3. Управление Пресс-службы +5. Департамент маркетинга и партнерских отношений +5.1. Департамент маркетинга и партнерских отношений +5.2. Управление маркетинга +5.2.1. Лицензионный отдел +5.2.2. Управление маркетинга +5.3. Управление по развитию бизнеса +5.3.1. Отдел по привлечению новых клиентов +5.3.2. Отдел по организации мероприятий +5.4. Управление по развитию партнерских отношений +6. Департамент по организации корпоративов +7. Департамент по работе с персоналом +8. Департамент по работе с промышленностью +9. Департамент стратегии и планирования +9.1. Аналитический отдел +9.2. Отдел проектного управления +10. Управление Финансового планирования и контроля +11. Финансово-экономический департамент +11.1. Управление бухгалтерского и налогового учета +11.2. Управление казначейства +11.2.1. Операционный отдел +11.3. Финансово-экономический департамент +11.4. Финансово-экономическое управление +12. Юридический департамент +12.1. Управление нормативного обеспечения и договорной работы +12.2. Юридический департамент \ No newline at end of file diff --git a/Импорт/departments.xlsx b/Импорт/departments.xlsx new file mode 100644 index 0000000..b5392cc Binary files /dev/null and b/Импорт/departments.xlsx differ diff --git a/Импорт/import.py b/Импорт/import.py new file mode 100644 index 0000000..c0486c1 --- /dev/null +++ b/Импорт/import.py @@ -0,0 +1,31 @@ +from API.data.connect import init_db, Post, connect + + +def main(): + init_db() + + with open('users.csv', 'r', encoding='utf-8') as file: + data = file.read().split('\n') + + resp = '' + + for row in data: + splited_row = row.split(';') + + role_name = splited_row[0] + + if role_name == 'post_id': + continue + + with connect() as session: + post = session.query(Post).filter(Post.title == role_name).first() + splited_row[0] = str(post.id) + + resp += ';'.join(splited_row) + '\n' + + with open('users.csv', 'w', encoding='utf-8') as file1: + file1.write(resp) + + +if __name__ == '__main__': + main() diff --git a/Импорт/posts.csv b/Импорт/posts.csv new file mode 100644 index 0000000..8f11a4b --- /dev/null +++ b/Импорт/posts.csv @@ -0,0 +1,47 @@ +title +Административный директор-руководитель аппарата +Руководитель контрольно-ревизионного направления +Начальник отдела +Старший специалист +Руководитель проекта +Специалист +Менеджер проектов +Ведущий специалист +Водитель +Курьер +Начальник управления +Руководитель проектов +Специалист по складской работе +Руководитель направления +Директор Академии +Заместитель директора Академии по практической подготовке +Главный специалист +Ведущий специалист по договорной работе +Генеральный директор +Заместитель генерального директора по внедрению стандартов +Заместитель генерального директора по исследованиям и разработкам +Заместитель генерального директора по коммуникациям +Заместитель генерального директора по маркетингу и партнерским отношениям +Заместитель генерального директора по организации корпоративов +Заместитель генерального директора по подготовке кадров +Первый заместитель генерального директора +Помощник генерального директора +Советник генерального директора по стратегическому развитию +Советник генерального директора по оперативному планированию +Заместитель директора департамента +Специалист технического сопровождения +Руководитель управления +Руководитель проекта по разработке дизайна +Руководитель проекта по рекламе +Директор департамента +Специалист по охране труда +Финансовый контролер +Бухгалтер +Бухгалтер по расчету заработной платы +Ведущий бухгалтер +Начальник управления - Заместитель главного бухгалтера +Старший бухгалтер +Специалист казначейства +Руководитель департамента - Главный бухгалтер +Начальник финансово - экономического отдела + diff --git a/Импорт/users.csv b/Импорт/users.csv new file mode 100644 index 0000000..5dd0bbb --- /dev/null +++ b/Импорт/users.csv @@ -0,0 +1,120 @@ +post_id;last_name;first_name;patronymic;birthday;work_phone;office;email +1;Белоусов;Семен;Агафонович;25.04.1971;+7 (179) 370-26-88;402А;белоусов@гкдр.ру +2;Матвеев;Вадим;Юрьевич;20.06.1989;+7 (711) 977-16-52;402А;матвеев@гкдр.ру +3;Ермакова;Юнона;Руслановна;14.04.1979;+7 (210) 088-64-36;482;ермакова@гкдр.ру +4;Евсеева;Генриетта;Дмитриевна;18.05.1967;+7 (904) 027-35-92;482;евсеева@гкдр.ру +4;Шарапова;Дария;Андреевна;21.08.1971;+7 (212) 625-28-08;482;шарапова@гкдр.ру +3;Кузьмина;Галина;Максовна;15.01.1969;+7 (370) 519-03-10;479;кузьмина@гкдр.ру +5;Гурьева;Янина;Тимофеевна;29.12.1964;+7 (401) 189-86-51;479;гурьева@гкдр.ру +6;Большакова;Снежана;Тарасовна;23.05.1984;+7 (223) 503-67-44;479;большакова@гкдр.ру +4;Миронова;Диша;Митрофановна;15.12.1977;+7 (084) 252-77-53;479;миронова@гкдр.ру +4;Жданова;Виоланта;Иосифовна;13.05.1996;+7 (900) 353-41-72;479;жданова@гкдр.ру +3;Колесников;Анатолий;Владленович;26.02.1990;+7 (438) 363-52-14;482;колесников@гкдр.ру +4;Мухин;Флор;Иванович;31.10.1975;+7 (487) 123-91-17;482;мухин@гкдр.ру +7;Воронова;Устинья;Митрофановна;07.08.1999;+7 (708) 393-49-39;483;воронова@гкдр.ру +3;Ковалёва;Муза;Тарасовна;26.01.1964;+7 (624) 457-34-25;483;ковалёва@гкдр.ру +3;Крылов;Флор;Максович;07.10.1996;+7 (902) 340-55-48;483;крылов@гкдр.ру +4;Зимин;Илья;Серапионович;02.05.1971;+7 (565) 435-79-80;483;зимин@гкдр.ру +8;Зайцев;Парамон;Феликсович;15.10.1984;+7 (454) 252-05-25;525;зайцев@гкдр.ру +9;Маслов;Модест;Дамирович;27.04.1968;+7 (664) 602-03-71;525;маслов@гкдр.ру +9;Исаков;Велорий;Витальевич;26.06.1960;+7 (098) 359-34-95;525;исаков@гкдр.ру +9;Шашков;Донат;Владленович;08.01.1980;+7 (051) 523-43-73;525;шашков@гкдр.ру +10;Тарасов;Эрнест;Якунович;22.06.1988;+7 (131) 790-43-24;525;тарасов@гкдр.ру +11;Зимин;Лев;Евсеевич;25.09.1998;+7 (609) 728-78-87;525;зимин@гкдр.ру +12;Суханов;Эрнест;Петрович;23.04.1966;+7 (342) 350-52-75;525;суханов@гкдр.ру +6;Харитонов;Любомир;Андреевич;29.05.2001;+7 (933) 010-23-01;525;харитонов@гкдр.ру +13;Евдокимов;Павел;Пётрович;20.01.1997;+7 (676) 507-65-30;525;евдокимов@гкдр.ру +11;Кулагин;Аввакум;Альбертович;25.04.1983;+7 (091) 411-45-67;489;кулагин@гкдр.ру +6;Рогов;Май;Филатович;06.04.1967;+7 (046) 142-05-62;489;рогов@гкдр.ру +11;Фролов;Мартин;Константинович;07.08.2002;+7 (604) 952-64-10;527;фролов@гкдр.ру +14;Копылов;Власий;Валентинович;03.07.2000;+7 (710) 970-74-65;527;копылов@гкдр.ру +14;Воронцов;Мстислав;Лаврентьевич;08.04.1968;+7 (154) 776-83-19;527;воронцов@гкдр.ру +14;Стрелков;Аркадий;Никитевич;02.06.1990;+7 (938) 736-81-71;527;стрелков@гкдр.ру +14;Кононов;Август;Германнович;29.04.1968;+7 (812) 849-39-84;527;кононов@гкдр.ру +14;Горбачёв;Глеб;Мэлсович;07.11.1974;+7 (626) 861-82-67;527;горбачёв@гкдр.ру +14;Беляев;Тарас;Владленович;15.07.2001;+7 (909) 176-65-42;527;беляев@гкдр.ру +15;Селезнёва;Мэри;Фроловна;22.12.2002;+7 (956) 710-49-22;477;селезнёва@гкдр.ру +16;Филиппова;Аза;Николаевна;23.05.1989;+7 (163) 312-43-14;477;филиппова@гкдр.ру +8;Галкина;Эрика;Лукьяновна;26.11.1969;+7 (567) 060-46-69;404;галкина@гкдр.ру +3;Лихачёва;Динара;Георгьевна;04.12.1990;+7 (624) 064-06-24;404;лихачёва@гкдр.ру +6;Лобанова;Дебора;Владимировна;25.06.1970;+7 (318) 827-54-60;404;лобанова@гкдр.ру +6;Коновалова;Карина;Анатольевна;25.07.1982;+7 (800) 239-60-38;404;коновалова@гкдр.ру +8;Дьячков;Гордей;Юрьевич;10.12.1992;+7 (462) 807-37-94;415;дьячков@гкдр.ру +17;Дементьев;Людвиг;Дмитриевич;30.10.1984;+7 (232) 050-93-59;415;дементьев@гкдр.ру +3;Тетерин;Терентий;Артёмович;25.03.1979;+7 (855) 470-76-70;415;тетерин@гкдр.ру +6;Шарапов;Нинель;Артемович;29.05.2001;+7 (064) 865-03-57;415;шарапов@гкдр.ру +18;Быкова;Роксалана;Евгеньевна;10.05.1995;+7 (640) 077-77-65;479;быкова@гкдр.ру +3;Карпова;Берта;Васильевна;26.01.1989;+7 (424) 549-00-75;479;карпова@гкдр.ру +6;Князева;Эрида;Михайловна;09.02.1985;+7 (476) 265-08-34;479;князева@гкдр.ру +6;Боброва;Анэля;Григорьевна;19.07.1961;+7 (197) 497-66-92;479;боброва@гкдр.ру +19;Ефремов;Вальтер;Платонович;12.03.1999;+7 (210) 001-40-01;Ресепшн;ефремов@гкдр.ру +20;Смирнов;Аввакум;Проклович;07.04.2001;+7 (234) 327-27-37;406А;смирнов@гкдр.ру +21;Сидорова;Богдана;Степановна;01.03.1992;+7 (333) 007-73-86;406А;сидорова@гкдр.ру +22;Медведева;Анфиса;Куприяновна;22.06.1968;+7 (352) 984-89-47;406А;медведева@гкдр.ру +23;Соколова;Злата;Донатовна;11.05.1976;+7 (263) 295-98-84;406А;соколова@гкдр.ру +24;Максимова;Антонина;Наумовна;29.09.1988;+7 (059) 049-11-97;406А;максимова@гкдр.ру +25;Емельянова;Лали;Адольфовна;18.11.1974;+7 (643) 148-48-83;406А;емельянова@гкдр.ру +26;Лобанов;Андрей;Владленович;13.05.1985;+7 (749) 358-03-33;406А;лобанов@гкдр.ру +27;Бирюков;Валерий;Леонидович;20.08.1977;+7 (882) 562-21-24;Ресепшн;бирюков@гкдр.ру +28;Рябов;Влас;Богданович;07.04.1978;+7 (673) 157-65-87;406А;рябов@гкдр.ру +29;Мельников;Модест;Тихонович;14.04.1961;+7 (480) 955-36-17;406А;мельников@гкдр.ру +30;Никифорова;Любава;Васильевна;21.02.1967;+7 (890) 112-51-51;406;никифорова@гкдр.ру +14;Денисова;Веселина;Демьяновна;19.01.1965;+7 (606) 810-72-96;489А;денисова@гкдр.ру +14;Лобанова;Георгина;Евсеевна;02.03.1972;+7 (760) 683-71-57;406;лобанова@гкдр.ру +3;Калашникова;Маргарита;Адольфовна;25.03.1977;+7 (567) 984-10-59;404;калашникова@гкдр.ру +14;Корнилов;Давид;Михайлович;12.05.1965;+7 (535) 508-09-63;404;корнилов@гкдр.ру +14;Мишина;Сабрина;Всеволодовна;05.11.1979;+7 (123) 099-67-67;489А;мишина@гкдр.ру +6;Давыдова;Крис;Алексеевна;21.05.1967;+7 (086) 732-87-28;489А;давыдова@гкдр.ру +31;Тетерина;Сабрина;Евсеевна;30.10.1983;+7 (305) 078-20-93;489А;тетерина@гкдр.ру +32;Мишина;Зоряна;Семёновна;17.05.1980;+7 (941) 758-60-21;489А;мишина@гкдр.ру +30;Филиппова;Ирэн;Рудольфовна;03.04.2002;+7 (791) 893-63-24;406;филиппова@гкдр.ру +14;Сорокина;Виктория;Альбертовна;27.06.1965;+7 (256) 543-71-97;489А;сорокина@гкдр.ру +33;Фролова;Эрида;Юлиановна;24.12.1964;+7 (382) 787-58-02;489А;фролова@гкдр.ру +14;Дементьева;Дарьяна;Пантелеймоновна;06.08.1977;+7 (772) 653-55-16;410Б;дементьева@гкдр.ру +34;Денисова;Эдилия;Святославовна;29.07.1983;+7 (661) 640-32-15;410Б;денисова@гкдр.ру +12;Борисова;Варвара;Богуславовна;25.10.1988;+7 (625) 163-29-48;410Б;борисова@гкдр.ру +14;Сафонова;Алина;Михайловна;15.07.1993;+7 (949) 247-53-70;402Б;сафонова@гкдр.ру +14;Моисеев;Павел;Витальевич;29.03.1990;+7 (395) 842-89-60;411;моисеев@гкдр.ру +14;Денисова;Альжбета;Валерьевна;29.06.1967;+7 (405) 652-62-30;411;денисова@гкдр.ру +7;Калинина;Лариса;Улебовна;14.04.1975;+7 (459) 094-61-74;402Б;калинина@гкдр.ру +12;Громова;Роксалана;Егоровна;17.03.1961;+7 (790) 385-88-79;402Б;громова@гкдр.ру +6;Авдеева;Лика;Лаврентьевна;15.10.1969;+7 (905) 571-85-23;402Б;авдеева@гкдр.ру +17;Фадеева;Юлиана;Святославовна;22.02.1966;+7 (325) 978-22-94;401;фадеева@гкдр.ру +35;Королёва;Диана;Созоновна;01.04.1979;+7 (198) 515-56-04;401;королёва@гкдр.ру +6;Михеева;Георгина;Борисовна;03.07.1983;+7 (951) 095-81-15;401;михеева@гкдр.ру +36;Михеева;Георгина;Борисовна;28.05.1971;+7 (818) 456-17-32;401;михеева@гкдр.ру +35;Савельева;Диша;Данииловна;28.01.1986;+7 (145) 189-60-52;410Б;савельева@гкдр.ру +14;Щербакова;Лира;Витальевна;26.03.1965;+7 (066) 097-49-63;410Б;щербакова@гкдр.ру +12;Калинина;Радмила;Пётровна;29.12.1960;+7 (041) 340-67-42;410Б;калинина@гкдр.ру +12;Харитонова;Видана;Николаевна;07.09.1962;+7 (686) 601-90-65;410Б;харитонова@гкдр.ру +12;Рожкова;Сильвия;Мартыновна;18.10.1974;+7 (141) 793-69-11;410Б;рожкова@гкдр.ру +5;Нестерова;Данна;Игнатьевна;28.12.1982;+7 (383) 545-59-27;487;нестерова@гкдр.ру +5;Корнилова;Ангелина;Алексеевна;07.06.1977;+7 (195) 929-02-05;487;корнилова@гкдр.ру +6;Аксёнова;Мирра;Григорьевна;28.12.1978;+7 (614) 995-85-89;487;аксёнова@гкдр.ру +5;Фадеева;Влада;Семёновна;17.02.1987;+7 (060) 326-14-90;421;фадеева@гкдр.ру +5;Кононова;Майя;Максовна;10.12.1979;+7 (673) 181-26-22;421;кононова@гкдр.ру +17;Некрасова;Лилу;Константиновна;29.06.1995;+7 (885) 634-33-04;401;некрасова@гкдр.ру +11;Баранова;Диана;Леонидовна;28.01.1989;+7 (174) 853-49-83;401;баранова@гкдр.ру +6;Гришина;Азалия;Агафоновна;11.11.1999;+7 (017) 495-66-09;401;гришина@гкдр.ру +37;Архипова;Наталья;Юрьевна;06.09.1967;+7 (325) 282-73-59;401;архипова@гкдр.ру +38;Рожкова;Мила;Кирилловна;29.10.1969;+7 (644) 679-57-32;488;рожкова@гкдр.ру +38;Богданова;Эллада;Георгиевна;28.05.1997;+7 (366) 341-61-81;488;богданова@гкдр.ру +38;Яковлева;Аделия;Геласьевна;09.07.1960;+7 (990) 358-79-57;488;яковлева@гкдр.ру +38;Соловьёва;Габриэлла;Созоновна;18.12.1969;+7 (298) 353-76-77;488;соловьёва@гкдр.ру +39;Щукина;Розалина;Витальевна;04.05.1992;+7 (041) 888-17-81;488;щукина@гкдр.ру +40;Никитина;Азалия;Алексеевна;02.06.1983;+7 (379) 582-61-58;488;никитина@гкдр.ру +41;Дроздова;Береслава;Максимовна;27.10.1962;+7 (812) 542-65-16;488;дроздова@гкдр.ру +42;Галкина;Божена;Филипповна;31.03.1974;+7 (120) 462-91-94;488;галкина@гкдр.ру +42;Казакова;Земфира;Федосеевна;20.03.1967;+7 (312) 173-95-22;488;казакова@гкдр.ру +43;Доронина;Эдуарда;Дмитрьевна;12.07.1972;+7 (398) 556-52-52;421;доронина@гкдр.ру +43;Гурьева;Фанни;Андреевна;07.04.1965;+7 (192) 794-90-18;421;гурьева@гкдр.ру +43;Кононова;Нонна;Анатольевна;03.03.1988;+7 (049) 956-85-86;421;кононова@гкдр.ру +3;Блинова;Милослава;Андреевна;21.05.1969;+7 (134) 370-87-86;524;блинова@гкдр.ру +44;Щукина;Владислава;Альбертовна;04.02.1968;+7 (441) 380-03-70;524;щукина@гкдр.ру +43;Громова;Архелия;Святославовна;26.08.1983;+7 (834) 538-57-98;524;громова@гкдр.ру +43;Соколова;Фанни;Григорьевна;28.11.2002;+7 (787) 780-96-88;524;соколова@гкдр.ру +45;Веселова;Регина;Натановна;27.05.1980;+7 (695) 489-78-71;523;веселова@гкдр.ру +6;Субботина;Инга;Васильевна;17.08.1985;+7 (955) 709-44-45;523;субботина@гкдр.ру +11;Исаков;Аполлон;Ефимович;02.05.1998;+7 (952) 550-14-44;421;исаков@гкдр.ру +35;Галкин;Никифор;Евсеевич;13.01.1975;+7 (270) 482-96-24;524;галкин@гкдр.ру +30;Харитонова;Ангелина;Мэлоровна;21.06.1990;+7 (800) 847-84-22;524;харитонова@гкдр.ру