esoe
3 months ago
13 changed files with 459 additions and 105 deletions
@ -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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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