esoe
3 months ago
13 changed files with 459 additions and 105 deletions
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
public class Building { |
||||
private long id; |
||||
private String name_short;//Сокращенное наименование (абревиатура)
|
||||
private String name_full;//Полное наименование
|
||||
private String code_short;//Краткий код
|
||||
private String code_full;//Полный код
|
||||
} |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
import java.util.Date; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
public class Course { |
||||
private long id;//уникальный идентификатор курса
|
||||
private String place;//место проведения занятий
|
||||
private Date start_date;//дата начала курса
|
||||
private Date protocol_date;//дата протокола
|
||||
private String protocol_number;//номер протокола
|
||||
private String report_period;//отчетный период (наименование месяца)
|
||||
private Teacher teacher;//сведения о преподаватле
|
||||
private Program program;//сведения о программе обучения
|
||||
private Building building;//сведения об объекте строиbernate
|
||||
|
||||
} |
@ -0,0 +1,70 @@
@@ -0,0 +1,70 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map.Entry; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.Getter; |
||||
import lombok.NoArgsConstructor; |
||||
import lombok.Setter; |
||||
import ru.molokoin.storagers.model.XlsxCell; |
||||
import ru.molokoin.storagers.util.Stringer; |
||||
|
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@Data |
||||
public class Cretarea { |
||||
private long id; |
||||
private String name;//Наименование
|
||||
private String nameShort;//Наименование : сокращенно
|
||||
|
||||
public Cretarea(String nameShort) { |
||||
setNameShort(nameShort); |
||||
} |
||||
|
||||
public Cretarea(List<XlsxCell> cells) { |
||||
this(cells.get(Headers.CRETAREA_NAME_SHORT.column()).getContent()); |
||||
} |
||||
|
||||
public Cretarea(Entry<Integer, List<XlsxCell>> entry) { |
||||
this(entry.getValue()); |
||||
} |
||||
|
||||
public void setNameShort(String nameShort) { |
||||
if (!Stringer.isEmpty(nameShort)){ |
||||
this.nameShort = Stringer.clear(nameShort); |
||||
} else { |
||||
this.nameShort = ""; |
||||
} |
||||
} |
||||
|
||||
public String getNameShort() { |
||||
return this.nameShort; |
||||
} |
||||
|
||||
/** |
||||
* Сравнение критериев по полю name_short - "Наименование : сокращенно" |
||||
* остальные поля будут пустыми при чтении документа |
||||
* |
||||
* @param cretarea |
||||
* @return true - если совпадают |
||||
*/ |
||||
public boolean isSimilar(Cretarea cretarea) { |
||||
return this.nameShort.equals(cretarea.getNameShort()); |
||||
} |
||||
|
||||
/** |
||||
* Проверка наличия сокращенного наименования критерия |
||||
* @return true - если пусто |
||||
*/ |
||||
public boolean isEmpty() { |
||||
return this.nameShort == null |
||||
|| this.nameShort.isEmpty() |
||||
|| this.nameShort.trim().isEmpty() |
||||
|| this.nameShort.equals(""); |
||||
} |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@Data |
||||
public class EducationEntry { |
||||
private long id; |
||||
private String sertificate_number;//номер удостоверения
|
||||
private String frdo_number;//ФРДО номер по реестру
|
||||
private String eisot_number;//ЕИСОТ номер по реестру
|
||||
private String ones;//единички (вспомогатльный столбец)
|
||||
private Course course;//сведения о курсе
|
||||
private Student student;//сведения о студенте
|
||||
|
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,49 @@
@@ -0,0 +1,49 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
/** |
||||
* Список заголовков таблицы |
||||
* добавить поле, для хранения типа данных столбца |
||||
*/ |
||||
public enum Headers { |
||||
|
||||
ORGANIZATION_TYPE(0, "Тип организации"), |
||||
ORGANIZATION_NAME_FULL(1, "ПСК"), |
||||
STUDENT_DIRECTION(2, "Структурное подразделение"), |
||||
STUDENT_FULL_NAME(3, "ФИО обучающегося"), |
||||
STUDENT_PROFESSION(4, "Профессия"), |
||||
COURSE_PLACE(5, "Место проведения обучения"), |
||||
PROGRAM_NAME(6, "Программа обучения"), |
||||
COURSE_START_DATE(7, "Дата начала обучения"), |
||||
PROGRAM_LENGHT(8, "Продолжительность программы"), |
||||
COURSE_PROTOCOL_DATE(9, "Дата протокола"), |
||||
STUDENT_CATEGORY(10, "Категория обучаемых"), |
||||
PROGRAMM_STADY_DIRECTION(11, "Направление обучения"), |
||||
CRETAREA_NAME_SHORT(12, "Критерий"), |
||||
COURSE_PROTOCOL_NUMBER(13, "Номер протокола"), |
||||
EDUCATION_SERTIFICATE_NUMBER(14, "Номер удостоверения"), |
||||
PROGRAM_PRICE(15, "Стоимость обучения"), |
||||
EDUCATIONS_ONES(16, "Единички"), |
||||
COURSE_REPORT_PERIOD(17, "Отчетный период"), |
||||
TEACHER_FULL_NAME(18, "Преподаватель"), |
||||
BUILDING_NAME_SHORT(19, "Объект"); |
||||
|
||||
|
||||
private Headers(int column, String title) { |
||||
this.column = column; |
||||
this.title = title; |
||||
} |
||||
|
||||
public int column() { |
||||
return column; |
||||
} |
||||
|
||||
public String title() { |
||||
return title; |
||||
} |
||||
|
||||
private int column; |
||||
private String title; |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@Data |
||||
public class Organization { |
||||
private long id; |
||||
private String ownership;//Форма собственности ПСК
|
||||
private String name_short;//Сокращенное наименование
|
||||
private String name_full;//Полное наименование (1)
|
||||
private String type;//вид ПСК - производственная/сервисная (0)
|
||||
private String inn;//ИНН организации
|
||||
|
||||
} |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@Data |
||||
public class Program { |
||||
private long id; |
||||
private String name;//Наименование
|
||||
private Integer lenght;//длительность программы в часах
|
||||
|
||||
/** |
||||
* Направление обучения: |
||||
* - Обязательное обучение |
||||
* - Производственное обучение |
||||
* - Обучение вновь внедряемым процедурам |
||||
* - Обучение водителей |
||||
*/ |
||||
private String study_direction; |
||||
private Integer price;//рублей
|
||||
private Cretarea cretarea; |
||||
|
||||
} |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
import java.util.Date; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@Data |
||||
public class Student { |
||||
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;//Организация - работодатель
|
||||
|
||||
} |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
package ru.molokoin.storagers.model.educations; |
||||
|
||||
public class Teacher { |
||||
private long id; |
||||
private String first_name;//Имя
|
||||
private String second_name;//Фамилия
|
||||
private String last_name;//Отчество
|
||||
private String employee_id; |
||||
private String snils; |
||||
|
||||
} |
@ -0,0 +1,72 @@
@@ -0,0 +1,72 @@
|
||||
package ru.molokoin.storagers.util; |
||||
|
||||
/** |
||||
* Класс для работы со строками |
||||
*/ |
||||
public class Stringer { |
||||
|
||||
/** |
||||
* Проверяет, является ли переданная строка null, пустой строкой или состоит только из пробелов. |
||||
* |
||||
* @param str Строка для проверки |
||||
* @return True если строка является null, пустой строкой или состоит только из пробелов |
||||
* False в противном случае |
||||
*/ |
||||
public static Boolean checkForEmpty(String str) { |
||||
// Check if the string is null
|
||||
if (str == null) { |
||||
return true; |
||||
} |
||||
// Check if the string is empty or consists only of whitespace characters
|
||||
if (str.isEmpty() || str.trim().isEmpty()) { |
||||
return true; |
||||
} |
||||
// The string is not null, not empty and does not consist only of whitespace characters
|
||||
return false; |
||||
} |
||||
|
||||
/** |
||||
* Удаляет регулярным выражением лишние пробельные символы из строки. |
||||
* |
||||
* Заменяет знаки переноса строки на пробелы с помощью использования регулярного выражения |
||||
* \s+ - пробелы (и все ниже приведенные пробельные символы) |
||||
* \t - табуляция |
||||
* \v - вертикальная табуляция |
||||
* \r - перенос в начало строки |
||||
* \n - перенос строки |
||||
* \f - форматированный перенос строки |
||||
* |
||||
* Осавляет по одному пробелу между словами, если слов больше одного |
||||
* Возвращает пустую строку, если получена строка null |
||||
* |
||||
* @param string строка для обработки |
||||
* @return строку без лишних пробелов или пустую строку |
||||
*/ |
||||
public static String clear(String string) { |
||||
// Проверяем, не является ли строка null. Если строка null, возвращаем пустую строку.
|
||||
if (string == null) { |
||||
return ""; |
||||
} |
||||
|
||||
// Удаляем лишние пробелы из строки.
|
||||
return string.replaceAll("\\s+", " ").trim(); |
||||
} |
||||
|
||||
/** |
||||
* |
||||
* @param str |
||||
* @return |
||||
*/ |
||||
public static boolean isEmpty(String str) { |
||||
// Check if the string is null
|
||||
if (str == null) { |
||||
return true; |
||||
} |
||||
// Check if the string is empty or consists only of whitespace characters
|
||||
if (str.isEmpty() || str.trim().isEmpty()) { |
||||
return true; |
||||
} |
||||
// The string is not null, not empty and does not consist only of whitespace characters
|
||||
return false; |
||||
} |
||||
} |
Loading…
Reference in new issue