From 3022a857ca806f31f1ac3d23430901f345dcc570 Mon Sep 17 00:00:00 2001 From: esoe Date: Thu, 16 May 2024 10:36:23 +0300 Subject: [PATCH] qq --- .../controllers/ProgramController.java | 2 +- .../controllers/StudentController.java | 153 ++++++++++++++++++ .../entities/Student.java | 55 +++++++ .../main/resources/templates/student-add.html | 76 +++++++++ .../resources/templates/student-edit.html | 76 +++++++++ .../main/resources/templates/students.html | 98 +++++++++++ .../src/main/docs/erd/erd/ERD.svg | 1 + .../src/main/docs/erd/erd-course.puml | 4 +- .../src/main/docs/erd/erd-program.puml | 4 +- .../src/main/docs/erd/erd-psk.puml | 2 +- .../src/main/docs/erd/erd-student.puml | 4 +- .../src/main/docs/erd/erd-teacher.puml | 2 +- .../resources/static/content/images/ERD.svg | 2 +- 13 files changed, 469 insertions(+), 10 deletions(-) create mode 100644 client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/StudentController.java create mode 100644 client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/entities/Student.java create mode 100644 client-service-teachers/src/main/resources/templates/student-add.html create mode 100644 client-service-teachers/src/main/resources/templates/student-edit.html create mode 100644 client-service-teachers/src/main/resources/templates/students.html create mode 100644 out/resource-service-api/src/main/docs/erd/erd/ERD.svg diff --git a/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/ProgramController.java b/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/ProgramController.java index 20130ab..7d5c70f 100644 --- a/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/ProgramController.java +++ b/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/ProgramController.java @@ -140,7 +140,7 @@ public class ProgramController { public String updateProgram(@PathVariable Long id , @ModelAttribute("p") @Validated Program program) throws JsonMappingException, JsonProcessingException{ client.post() - .uri("/teacher/update/" + program.getId()) + .uri("/program/update/" + program.getId()) .body(Mono.just(program), Program.class) .retrieve() .toBodilessEntity() diff --git a/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/StudentController.java b/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/StudentController.java new file mode 100644 index 0000000..36d9b2e --- /dev/null +++ b/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/controllers/StudentController.java @@ -0,0 +1,153 @@ +package ru.molokoin.clientserviceteachers.controllers; + +import java.time.Duration; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.reactive.function.client.WebClient; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; + +import reactor.core.publisher.Mono; +import ru.molokoin.clientserviceteachers.entities.Organization; +import ru.molokoin.clientserviceteachers.entities.Student; + +@Controller +@RequestMapping(path = "/") +public class StudentController { + @Autowired + private WebClient client; + + @GetMapping("/students") + public String studentList(Model model) throws JsonMappingException, JsonProcessingException{ + List students = client.method(HttpMethod.GET) + .uri("/student/list") + .retrieve() + .bodyToMono(new ParameterizedTypeReference >(){}) + .block(); + + model.addAttribute("students", students); + model.addAttribute("stu", new Student()); + System.out.println("STUDENTS:" + students.toString()); + return "students"; + } + + @GetMapping("/student-edit/{id}") + public String studentById(Model model, @PathVariable Long id) { + /** + * получение списка организаций из ресурсов + * - для select поля формы + */ + List orgs = client.get() + .uri("/organization/list") + .retrieve() + .bodyToMono(new ParameterizedTypeReference >(){}) + .timeout(Duration.ofSeconds(1)) + .block(); + model.addAttribute("orgs", orgs); + + /** + * Получение сведений о студенте из ресурсов + */ + Student stu = client.get() + .uri("/student/" + id) + .retrieve() + .bodyToMono(Student.class) + .timeout(Duration.ofSeconds(1)) + .block(); + model.addAttribute("student", stu); + return "student-edit"; + } + + @PostMapping( + path = "/student/add", + consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, + produces = { + MediaType.APPLICATION_JSON_VALUE + }) + public String addStudent(Model model, @ModelAttribute("student") @Validated Student stu) throws JsonMappingException, JsonProcessingException{ + /** + * получение списка организаций из ресурсов + * - для select поля формы + */ + List orgs = client.get() + .uri("/organization/list") + .retrieve() + .bodyToMono(new ParameterizedTypeReference >(){}) + .timeout(Duration.ofSeconds(1)) + .block(); + model.addAttribute("orgs", orgs); + + client.post() + .uri("/student/create") + .body(Mono.just(stu), Student.class) + .retrieve() + .toBodilessEntity() + .timeout(Duration.ofSeconds(1)) + .block(); + return "redirect:/students"; + } + + @GetMapping(path = "/student/add") + public String addStudentFrame(Model model){ + /** + * получение списка организаций из ресурсов + * - для select поля формы + */ + List orgs = client.get() + .uri("/organization/list") + .retrieve() + .bodyToMono(new ParameterizedTypeReference >(){}) + .timeout(Duration.ofSeconds(1)) + .block(); + model.addAttribute("orgs", orgs); + + /** + * Создание нового объекта, для последующего заполнения данными из формы + */ + Student student = new Student(); + model.addAttribute("newStudent", student); + return "student-add"; + } + + @GetMapping(path = "/student/delete/{id}") + public String deleteStudent(@PathVariable Long id) throws JsonMappingException, JsonProcessingException{ + client.delete() + .uri("/student/delete/" + id) + .retrieve() + .bodyToMono(String.class) + .timeout(Duration.ofSeconds(1)) + .block(); + return "redirect:/students"; + } + + @PostMapping( + path = "/student/update/{id}", + consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, + produces = { + MediaType.APPLICATION_JSON_VALUE + }) + public String updateStudent(@PathVariable Long id + , @ModelAttribute("stu") @Validated Student student) throws JsonMappingException, JsonProcessingException{ + client.post() + .uri("/student/update/" + student.getId()) + .body(Mono.just(student), Student.class) + .retrieve() + .toBodilessEntity() + .timeout(Duration.ofSeconds(1)) + .block(); + return "redirect:/students"; + } +} diff --git a/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/entities/Student.java b/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/entities/Student.java new file mode 100644 index 0000000..99daf57 --- /dev/null +++ b/client-service-teachers/src/main/java/ru/molokoin/clientserviceteachers/entities/Student.java @@ -0,0 +1,55 @@ +package ru.molokoin.clientserviceteachers.entities; + +import java.io.Serializable; +import java.util.Date; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class Student implements Serializable{ + private long id; + private String first_name;//Имя + private String second_name;//Отчество + private String last_name;//Фамилия + private String profession;//Профессия + private String category;//Категория (ИТР или рабочий) + private String direction;//Структурное подразделение + private String snils;//СНИЛС + private Date berth;//Дата рождения + private String sitizenship;//Гражданство + private String sex;//Пол (Муж/Жен) + private Organization organization;//Организация - работодатель + + /** + * Конструктор со всеми полями сущности кроме id + * @param first_name + * @param second_name + * @param last_name + * @param profession + * @param category + * @param direction + * @param snils + * @param berth + * @param sitizenship + * @param sex + * @param organization + */ + public Student(String first_name, String second_name, String last_name, String profession, String category, + String direction, String snils, Date berth, String sitizenship, String sex, Organization organization) { + this.first_name = first_name; + this.second_name = second_name; + this.last_name = last_name; + this.profession = profession; + this.category = category; + this.direction = direction; + this.snils = snils; + this.berth = berth; + this.sitizenship = sitizenship; + this.sex = sex; + this.organization = organization; + } +} diff --git a/client-service-teachers/src/main/resources/templates/student-add.html b/client-service-teachers/src/main/resources/templates/student-add.html new file mode 100644 index 0000000..7a45d0d --- /dev/null +++ b/client-service-teachers/src/main/resources/templates/student-add.html @@ -0,0 +1,76 @@ + + + + + Student-add + + + + +
+ add : student +
+
+

Добавление сведений о суденте:

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+ +
+
+ \ No newline at end of file diff --git a/client-service-teachers/src/main/resources/templates/student-edit.html b/client-service-teachers/src/main/resources/templates/student-edit.html new file mode 100644 index 0000000..1a29763 --- /dev/null +++ b/client-service-teachers/src/main/resources/templates/student-edit.html @@ -0,0 +1,76 @@ + + + + + Student-edit + + + + +
+ edit : student +
+
+

Редактирование сведений о студенте:

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+ +
+
+ \ No newline at end of file diff --git a/client-service-teachers/src/main/resources/templates/students.html b/client-service-teachers/src/main/resources/templates/students.html new file mode 100644 index 0000000..7397df6 --- /dev/null +++ b/client-service-teachers/src/main/resources/templates/students.html @@ -0,0 +1,98 @@ + + + + + Students + + + + + +
+

Students

+ menu : auth : Students +
+
+
+
+

Перечень студентов:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idfirst_namesecond_namelast_nameprofessioncategorydirectionsnilsberthsitizenshipsexorganization + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+ +
+
+ + + \ No newline at end of file diff --git a/out/resource-service-api/src/main/docs/erd/erd/ERD.svg b/out/resource-service-api/src/main/docs/erd/erd/ERD.svg new file mode 100644 index 0000000..486c9bc --- /dev/null +++ b/out/resource-service-api/src/main/docs/erd/erd/ERD.svg @@ -0,0 +1 @@ +Entity Relationship Diagram (ERD): education-records (учет обучений)Программы обученияid: SERIAL >>"Идентификатор"name: VARCHAR[200] >>"Наименование программы"lenght: TIME >>"Продолжительность программы обучения"study_direction: VARCHAR[80] >>"Обязательное или производственное обучения"price: VARCHAR[80] >>"Стоимость обучения"cretarea_id: INTEGER >>"Идентификатор направления обучения"program_cretareasid: SERIAL >>"Идентификатор"name: VARCHAR[200] >>"Наименование направления обучения"name_short: VARCHAR[200] >>"Сокращенное наименование направления обучения"Преподавателиid: SERIAL >>"Идентификатор"first_name: VARCHAR[80] >>"Имя"second_name: VARCHAR[80] >>"Отчество"last_name: VARCHAR[80] >>"Фамилия"tabel_number: INTEGER >>"Табельный номер"snils: VARCHAR[80] >>"СНИЛС"ОграниченияКурсid: SERIAL >>"Идентификатор"place: VARCHAR[10] >>"Место проведения занятий"start_date: DATE >>"Дата начала обучения"protocol_date: DATE >>"Дата протокола"protocol_number: VARCHAR[80] >>"Номер протокола"report_period: VARCHAR[80] >>"Отчетный период"teacher_id: VARCHAR[80] >>"Идентификатор преподавателя"programm_id: INTEGER >>"Идентификатор программы обучения"building_id: INTEGER >>"Идентификатор объекта строительства"Объекты строительстваid: SERIAL >>"Идентификатор"name_short: VARCHAR[80] >>"Сокращенное наименование"name_full: VARCHAR[80] >>"Полное наименование"code_full: VARCHAR[80] >>"Код проекта"code_short: VARCHAR[80] >>"Сокращенный код проекта"ПСКid: SERIAL >>"Идентификатор"ownership: VARCHAR[10] >>"Форма собственности ПСК"name_full: VARCHAR[120] >>"Наименование ПСК полное"name_short: VARCHAR[60] >>"Наименование ПСК сокращенное"type: VARCHAR[60] >>"Вид ПСК"inn: VARCHAR[60] >>"ИНН ПСК"Студентыid: SERIAL >>"Идентификатор"first_name: VARCHAR[80] >>"Имя обучающегося"second_name: VARCHAR[80] >>"Отчество обучающегося"last_name: VARCHAR[80] >>"Фамилия обучающегося"profession: VARCHAR[80] >>"Профессия обучающегося"category: VARCHAR[80] >>"Категория обучающегося"direction: VARCHAR[80] >>"Структурное подразделение"snils: VARCHAR[20] >>"СНИЛС"berth: DATE >>"Дата рождения"sitezenship: VARCHAR[30] >>"Гражданство"sex: VARCHAR[30] >>"Пол"psk_id: INTEGER >>"Данные о ПСК"aside_reestrdocument_type: VARCHAR[20] >>"Наименование документа о образовании"document_sery: VARCHAR[20] >>"Серия документа о образовании"document_number: VARCHAR[20] >>"Номер документа о образовании"document_reg_number: VARCHAR[20]>>"Регистрационный номер документа о образовании"document_date: DATE >>"Дата выдачи документа о образовании"first_name: VARCHAR[80] >>"Имя по докумету об образовании"second_name: VARCHAR[80] >>"Отчество по докумету об образовании"last_name: VARCHAR[80] >>"Фамилия по докумету об образовании"profession: VARCHAR[80] >>"Профессия докумету об образовании"student_id: INTEGER >>"Идентификатор студента"Реестр обученныхid: LONGSERIAL >>"Идентификатор"certificate_number: VARCHAR[80] >>"Номер удостоверения"frdo_number: VARCHAR[80] >>"Номер по ФРДО"eisot_number: VARCHAR[80] >>"Номер по ЕИСОТ"ones: INTEGER >>"Единички"courses_id: INTEGER >>"Данные о Курсе"student_id: INTEGER >>"Данные о студенте" \ No newline at end of file diff --git a/resource-service-api/src/main/docs/erd/erd-course.puml b/resource-service-api/src/main/docs/erd/erd-course.puml index 748f023..d86c98d 100644 --- a/resource-service-api/src/main/docs/erd/erd-course.puml +++ b/resource-service-api/src/main/docs/erd/erd-course.puml @@ -13,7 +13,7 @@ title "Entity Relationship Diagram (ERD): course (данные о группе entity "Курс" as courses entity "Объекты строительства" as building_objects -table(courses){ +table(courses) #338AFF { primary_key(id): SERIAL >>"Идентификатор" column(place): VARCHAR[10] >>"Место проведения занятий" column(start_date): DATE >>"Дата начала обучения" @@ -25,7 +25,7 @@ table(courses){ foreign_key(building_id): INTEGER >>"Идентификатор объекта строительства" } -table(building_objects){ +table(building_objects) #338AFF { primary_key(id): SERIAL >>"Идентификатор" column(name_short): VARCHAR[80] >>"Сокращенное наименование" column(name_full): VARCHAR[80] >>"Полное наименование" diff --git a/resource-service-api/src/main/docs/erd/erd-program.puml b/resource-service-api/src/main/docs/erd/erd-program.puml index 4477ce3..546d189 100644 --- a/resource-service-api/src/main/docs/erd/erd-program.puml +++ b/resource-service-api/src/main/docs/erd/erd-program.puml @@ -13,7 +13,7 @@ title "Entity Relationship Diagram (ERD): psk (данные производст entity "Программы обучения" as programms -table(programms){ +table(programms) #338AFF{ primary_key(id): SERIAL >>"Идентификатор" column(name): VARCHAR[200] >>"Наименование программы" column(lenght): TIME >>"Продолжительность программы обучения" @@ -22,7 +22,7 @@ table(programms){ foreign_key(cretarea_id): INTEGER >>"Идентификатор направления обучения" } -table(program_cretareas){ +table(program_cretareas) #338AFF{ primary_key(id): SERIAL >>"Идентификатор" column(name): VARCHAR[200] >>"Наименование направления обучения" column(name_short): VARCHAR[200] >>"Сокращенное наименование направления обучения" diff --git a/resource-service-api/src/main/docs/erd/erd-psk.puml b/resource-service-api/src/main/docs/erd/erd-psk.puml index 829c553..cdd80eb 100644 --- a/resource-service-api/src/main/docs/erd/erd-psk.puml +++ b/resource-service-api/src/main/docs/erd/erd-psk.puml @@ -9,7 +9,7 @@ title "Entity Relationship Diagram (ERD): psk (данные производст entity "ПСК" as psk -table(psk){ +table(psk) #338AFF{ primary_key(id): SERIAL >>"Идентификатор" column(ownership): VARCHAR[10] >>"Форма собственности ПСК" column(name_full): VARCHAR[120] >>"Наименование ПСК полное" diff --git a/resource-service-api/src/main/docs/erd/erd-student.puml b/resource-service-api/src/main/docs/erd/erd-student.puml index abf27a2..29d6a9d 100644 --- a/resource-service-api/src/main/docs/erd/erd-student.puml +++ b/resource-service-api/src/main/docs/erd/erd-student.puml @@ -13,7 +13,7 @@ title "Entity Relationship Diagram (ERD): students (данные об обуче entity "Студенты" as students -table(students){ +table(students) #338AFF{ primary_key(id): SERIAL >>"Идентификатор" column(first_name): VARCHAR[80] >>"Имя обучающегося" column(second_name): VARCHAR[80] >>"Отчество обучающегося" @@ -28,7 +28,7 @@ table(students){ foreign_key(psk_id): INTEGER >>"Данные о ПСК" } -table(aside_reestr){ +table(aside_reestr) #338AFF{ column(document_type): VARCHAR[20] >>"Наименование документа о образовании" column(document_sery): VARCHAR[20] >>"Серия документа о образовании" column(document_number): VARCHAR[20] >>"Номер документа о образовании" diff --git a/resource-service-api/src/main/docs/erd/erd-teacher.puml b/resource-service-api/src/main/docs/erd/erd-teacher.puml index c0aaf05..15725ff 100644 --- a/resource-service-api/src/main/docs/erd/erd-teacher.puml +++ b/resource-service-api/src/main/docs/erd/erd-teacher.puml @@ -9,7 +9,7 @@ title "Entity Relationship Diagram (ERD): teachers (данные о препод entity "Преподаватели" as teachers -table(teachers){ +table(teachers) #338AFF{ primary_key(id): SERIAL >>"Идентификатор" column(first_name): VARCHAR[80] >>"Имя" column(second_name): VARCHAR[80] >>"Отчество" diff --git a/resource-service-api/src/main/resources/static/content/images/ERD.svg b/resource-service-api/src/main/resources/static/content/images/ERD.svg index af57630..486c9bc 100644 --- a/resource-service-api/src/main/resources/static/content/images/ERD.svg +++ b/resource-service-api/src/main/resources/static/content/images/ERD.svg @@ -1 +1 @@ -Entity Relationship Diagram (ERD): education-records (учет обучений)Программы обученияid: SERIAL >>"Идентификатор"name: VARCHAR[200] >>"Наименование программы"lenght: TIME >>"Продолжительность программы обучения"study_direction: VARCHAR[80] >>"Обязательное или производственное обучения"price: VARCHAR[80] >>"Стоимость обучения"cretarea_id: INTEGER >>"Идентификатор направления обучения"program_cretareasid: SERIAL >>"Идентификатор"name: VARCHAR[200] >>"Наименование направления обучения"name_short: VARCHAR[200] >>"Сокращенное наименование направления обучения"Преподавателиid: SERIAL >>"Идентификатор"first_name: VARCHAR[80] >>"Имя"second_name: VARCHAR[80] >>"Отчество"last_name: VARCHAR[80] >>"Фамилия"tabel_number: INTEGER >>"Табельный номер"snils: VARCHAR[80] >>"СНИЛС"ОграниченияКурсid: SERIAL >>"Идентификатор"place: VARCHAR[10] >>"Место проведения занятий"start_date: DATE >>"Дата начала обучения"protocol_date: DATE >>"Дата протокола"protocol_number: VARCHAR[80] >>"Номер протокола"report_period: VARCHAR[80] >>"Отчетный период"teacher_id: VARCHAR[80] >>"Идентификатор преподавателя"programm_id: INTEGER >>"Идентификатор программы обучения"building_object_id: INTEGER >>"Идентификатор объекта строительства"Объекты строительстваid: SERIAL >>"Идентификатор"name_short: VARCHAR[80] >>"Сокращенное наименование"name_full: VARCHAR[80] >>"Полное наименование"code_full: VARCHAR[80] >>"Код проекта"code_short: VARCHAR[80] >>"Сокращенный код проекта"ПСКid: SERIAL >>"Идентификатор"ownership: VARCHAR[10] >>"Форма собственности ПСК"name_full: VARCHAR[120] >>"Наименование ПСК полное"name_short: VARCHAR[60] >>"Наименование ПСК сокращенное"type: VARCHAR[60] >>"Вид ПСК"inn: VARCHAR[60] >>"ИНН ПСК"Студентыid: SERIAL >>"Идентификатор"first_name: VARCHAR[80] >>"Имя обучающегося"second_name: VARCHAR[80] >>"Отчество обучающегося"last_name: VARCHAR[80] >>"Фамилия обучающегося"profession: VARCHAR[80] >>"Профессия обучающегося"category: VARCHAR[80] >>"Категория обучающегося"direction: VARCHAR[80] >>"Структурное подразделение"snils: VARCHAR[20] >>"СНИЛС"berth: DATE >>"Дата рождения"sitezenship: VARCHAR[30] >>"Гражданство"sex: VARCHAR[30] >>"Пол"psk_id: INTEGER >>"Данные о ПСК"aside_reestrdocument_type: VARCHAR[20] >>"Наименование документа о образовании"document_sery: VARCHAR[20] >>"Серия документа о образовании"document_number: VARCHAR[20] >>"Номер документа о образовании"document_reg_number: VARCHAR[20]>>"Регистрационный номер документа о образовании"document_date: DATE >>"Дата выдачи документа о образовании"first_name: VARCHAR[80] >>"Имя по докумету об образовании"second_name: VARCHAR[80] >>"Отчество по докумету об образовании"last_name: VARCHAR[80] >>"Фамилия по докумету об образовании"profession: VARCHAR[80] >>"Профессия докумету об образовании"student_id: INTEGER >>"Идентификатор студента"Реестр обученныхid: LONGSERIAL >>"Идентификатор"certificate_number: VARCHAR[80] >>"Номер удостоверения"frdo_number: VARCHAR[80] >>"Номер по ФРДО"eisot_number: VARCHAR[80] >>"Номер по ЕИСОТ"ones: INTEGER >>"Единички"courses_id: INTEGER >>"Данные о Курсе"student_id: INTEGER >>"Данные о студенте" \ No newline at end of file +Entity Relationship Diagram (ERD): education-records (учет обучений)Программы обученияid: SERIAL >>"Идентификатор"name: VARCHAR[200] >>"Наименование программы"lenght: TIME >>"Продолжительность программы обучения"study_direction: VARCHAR[80] >>"Обязательное или производственное обучения"price: VARCHAR[80] >>"Стоимость обучения"cretarea_id: INTEGER >>"Идентификатор направления обучения"program_cretareasid: SERIAL >>"Идентификатор"name: VARCHAR[200] >>"Наименование направления обучения"name_short: VARCHAR[200] >>"Сокращенное наименование направления обучения"Преподавателиid: SERIAL >>"Идентификатор"first_name: VARCHAR[80] >>"Имя"second_name: VARCHAR[80] >>"Отчество"last_name: VARCHAR[80] >>"Фамилия"tabel_number: INTEGER >>"Табельный номер"snils: VARCHAR[80] >>"СНИЛС"ОграниченияКурсid: SERIAL >>"Идентификатор"place: VARCHAR[10] >>"Место проведения занятий"start_date: DATE >>"Дата начала обучения"protocol_date: DATE >>"Дата протокола"protocol_number: VARCHAR[80] >>"Номер протокола"report_period: VARCHAR[80] >>"Отчетный период"teacher_id: VARCHAR[80] >>"Идентификатор преподавателя"programm_id: INTEGER >>"Идентификатор программы обучения"building_id: INTEGER >>"Идентификатор объекта строительства"Объекты строительстваid: SERIAL >>"Идентификатор"name_short: VARCHAR[80] >>"Сокращенное наименование"name_full: VARCHAR[80] >>"Полное наименование"code_full: VARCHAR[80] >>"Код проекта"code_short: VARCHAR[80] >>"Сокращенный код проекта"ПСКid: SERIAL >>"Идентификатор"ownership: VARCHAR[10] >>"Форма собственности ПСК"name_full: VARCHAR[120] >>"Наименование ПСК полное"name_short: VARCHAR[60] >>"Наименование ПСК сокращенное"type: VARCHAR[60] >>"Вид ПСК"inn: VARCHAR[60] >>"ИНН ПСК"Студентыid: SERIAL >>"Идентификатор"first_name: VARCHAR[80] >>"Имя обучающегося"second_name: VARCHAR[80] >>"Отчество обучающегося"last_name: VARCHAR[80] >>"Фамилия обучающегося"profession: VARCHAR[80] >>"Профессия обучающегося"category: VARCHAR[80] >>"Категория обучающегося"direction: VARCHAR[80] >>"Структурное подразделение"snils: VARCHAR[20] >>"СНИЛС"berth: DATE >>"Дата рождения"sitezenship: VARCHAR[30] >>"Гражданство"sex: VARCHAR[30] >>"Пол"psk_id: INTEGER >>"Данные о ПСК"aside_reestrdocument_type: VARCHAR[20] >>"Наименование документа о образовании"document_sery: VARCHAR[20] >>"Серия документа о образовании"document_number: VARCHAR[20] >>"Номер документа о образовании"document_reg_number: VARCHAR[20]>>"Регистрационный номер документа о образовании"document_date: DATE >>"Дата выдачи документа о образовании"first_name: VARCHAR[80] >>"Имя по докумету об образовании"second_name: VARCHAR[80] >>"Отчество по докумету об образовании"last_name: VARCHAR[80] >>"Фамилия по докумету об образовании"profession: VARCHAR[80] >>"Профессия докумету об образовании"student_id: INTEGER >>"Идентификатор студента"Реестр обученныхid: LONGSERIAL >>"Идентификатор"certificate_number: VARCHAR[80] >>"Номер удостоверения"frdo_number: VARCHAR[80] >>"Номер по ФРДО"eisot_number: VARCHAR[80] >>"Номер по ЕИСОТ"ones: INTEGER >>"Единички"courses_id: INTEGER >>"Данные о Курсе"student_id: INTEGER >>"Данные о студенте" \ No newline at end of file