Compare commits

...

9 Commits

Author SHA1 Message Date
esoe 6698e7c635 qq 2 years ago
esoe ff3bfba86a йй 2 years ago
esoe b2b9043359 qq 2 years ago
esoe a66649b466 qq 2 years ago
esoe 3948b8fef2 qq 2 years ago
esoe 2833ef44f5 11 2 years ago
esoe 39ddbdebb9 qq 2 years ago
esoe 6a4b179c49 qq 2 years ago
esoe 74b5449704 molokoin 2 years ago
  1. 2
      README.md
  2. 0
      docs/diagrams/src/egspt/anyreport.puml
  3. 0
      docs/diagrams/src/egspt/package.puml
  4. 0
      docs/diagrams/src/egspt/use-case.puml
  5. 8
      docs/diagrams/src/molokoin/class.puml
  6. 6
      docs/diagrams/src/molokoin/sequence.puml
  7. 20
      docs/diagrams/src/molokoin/sql.puml
  8. 13
      docs/diagrams/src/molokoin/usecase.puml
  9. 15
      dsk05-task.md
  10. 6
      pom.xml
  11. 5
      src/main/java/ru/egspt/Access.java
  12. 2
      src/main/java/ru/egspt/Base.java
  13. 1
      src/main/java/ru/egspt/implant/Runner.java
  14. 7
      src/main/java/ru/molokoin/Runner.java
  15. BIN
      src/main/puml/ERD-moodle.png
  16. 37
      src/main/puml/moodle-erd.puml
  17. 120
      src/main/sql/script.sql
  18. BIN
      target/classes/ru/egspt/Access.class
  19. BIN
      target/classes/ru/egspt/implant/Runner.class
  20. BIN
      target/classes/ru/molokoin/Runner.class
  21. 9
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  22. 44
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  23. BIN
      target/moodle-anyreport-0.1-jar-with-dependencies.jar
  24. BIN
      target/moodle-anyreport-0.1.jar

2
README.md

@ -1,4 +1,4 @@
#muudle-anyreport # muudle-anyreport
скачать можно тут: http://molokoin.ru:3000/esoe/moodle-anyreport/src/branch/master/target/moodle-anyreport-0.1-jar-with-dependencies.jar скачать можно тут: http://molokoin.ru:3000/esoe/moodle-anyreport/src/branch/master/target/moodle-anyreport-0.1-jar-with-dependencies.jar

0
docs/diagrams/src/anyreport.puml → docs/diagrams/src/egspt/anyreport.puml

0
docs/diagrams/src/package.puml → docs/diagrams/src/egspt/package.puml

0
docs/diagrams/src/use-case.puml → docs/diagrams/src/egspt/use-case.puml

8
docs/diagrams/src/molokoin/class.puml

@ -0,0 +1,8 @@
@startuml class
title "moodle-anyreport: classes"
/'Программа реализует основной функционал обычного калькулятора'/
class Runner /'Запускает программу на выполнение'/
class SwingFace /'Реализация графического интерфейса'/
class ConsoleFace /'Реализация консольного интерфейса'/
class Calculator /'Хранит данные о запросах пользователя'/
@enduml

6
docs/diagrams/src/molokoin/sequence.puml

@ -0,0 +1,6 @@
@startuml sequence
title "moodle-anyreport: sequence (logic)"
participant "Пользователь" as user
participant "Программа" as app
participant "Хранилище" as storage
@enduml

20
docs/diagrams/src/molokoin/sql.puml

@ -0,0 +1,20 @@
@startuml sql
title "moodle-anyreport: database structure"
/' структура необходимых таблиц базы данных moodle '/
!define primary_key(x) <b><color:#b8861b><&key></color> x</b>
!define foreign_key(x) <color:#aaaaaa><&key></color> x
!define column(x) <color:#efefef><&media-record></color> x
!define table(x) entity x << (T, white) >>
table( user ) {
primary_key( id ): UUID
column( isActive ): BOOLEAN
foreign_key( cityId ): INTEGER <<FK>>
}
table( city ) {
primary_key( id ): UUID
column( name ): CHARACTER VARYING
column( country ): CHARACTER VARYING
column( postCode ): INTEGER
}
user }|--|| city
@enduml

13
docs/diagrams/src/molokoin/usecase.puml

@ -0,0 +1,13 @@
@startuml usecase
title "moodle-anyreport: usecases"
left to right direction
actor "Пользователь" as user
usecase "Калькулятор" as program
user -> program : "Целые числа"
user -> program : "Дробные числа" /'.'/
user -> program : "Сбрасывать значения" /'С'/
user -> program : "Указывать математические операции" /'+-*'/
user -> program : "Запрашивать расчет переданного выражения" /'='/
user <-down- program : "Показывать текущее поле" /''/
user <-down- program : "Показывать результат вычислений" /''/
@enduml

15
dsk05-task.md

@ -0,0 +1,15 @@
Прошу сделать выгрузку по следующим вопросам:
1. Сколько человек приняло участие в тестировании (всего).
<code>
-- участвовали в тестировании (имеют попытку сдачи) --> 345
SELECT count(DISTINCT mdl_user.id)
FROM mdl_quiz_attempts
LEFT JOIN mdl_user
on mdl_quiz_attempts.userid=mdl_user.id
WHERE username LIKE "dsk05-%";
</code>
2. Результат по каждой группе тестов, на каждого специалиста
3. Время прохождения тестов по каждому специалисту (на каждую группу в отдельности и общее время на весь этап тестирования).
4. Список лиц, которые вообще не начали похождение тестов.
(сделал в заявке)

6
pom.xml

@ -62,6 +62,12 @@
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version> <version>8.0.28</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.0.3</version>
</dependency>
<dependency> <dependency>
<groupId>org.junit.jupiter</groupId> <groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId> <artifactId>junit-jupiter-api</artifactId>

5
src/main/java/ru/egspt/Access.java

@ -7,7 +7,8 @@ public class Access {
* @param link the link to set * @param link the link to set
*/ */
public void setLink(String link) { public void setLink(String link) {
this.link = "jdbc:MySQL://" + link + ":3306/moodle"; //this.link = "jdbc:MySQL://" + link + ":3306/moodle";
this.link = "jdbc:mariadb://" + link + ":3306/moodle";
} }
/** /**
* @return the link * @return the link
@ -39,5 +40,5 @@ public class Access {
public String getPassword() { public String getPassword() {
return password; return password;
} }
} }

2
src/main/java/ru/egspt/Base.java

@ -43,7 +43,7 @@ public class Base {
public Connection getConnection() { public Connection getConnection() {
return connection; return connection;
} }
//подключение к базе //подключение к базе
public void connect(){ public void connect(){
System.out.println("Подключение к серверу баз данных ..."); System.out.println("Подключение к серверу баз данных ...");

1
src/main/java/ru/egspt/implant/Runner.java

@ -33,7 +33,6 @@ public class Runner {
ArrayList<Quiz> quizes = r.data.getQuizesFromBase(r.base); ArrayList<Quiz> quizes = r.data.getQuizesFromBase(r.base);
ArrayList<Result> results = r.data.getResultsFromBase(r.base); ArrayList<Result> results = r.data.getResultsFromBase(r.base);
ArrayList<User> users = r.data.getUsersFromBase(r.base); ArrayList<User> users = r.data.getUsersFromBase(r.base);
} }
} }

7
src/main/java/ru/molokoin/Runner.java

@ -0,0 +1,7 @@
package ru.molokoin;
public class Runner {
public static void main(String[] args) {
System.out.println("Запущен основной поток программы: " + Thread.currentThread().getName());
}
}

BIN
src/main/puml/ERD-moodle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

37
src/main/puml/moodle-erd.puml

@ -0,0 +1,37 @@
@startuml ERD-moodle
!define primary_key(x) <b><color:#b8861b><&key></color> x</b>
!define foreign_key(x) <b><color:#aaaaaa><&key></color> x</b>
!define column(x) <b><color:#efefef><&media-record></color> x</b>
!define table(x) entity x << (T, white) >>
title "Entity Relationship Diagram (ERD): moodle"
entity "mdl_user" as users
entity "mdl_quiz_attempt" as attempts
entity "mdl_quiz" as quizes
' Отношения
table(users){
primary_key(id):INTEGER
column(username):VARCHAR
column(email):VARCHAR
}
table(attempts){
primary_key(id):INTEGER
foreign_key(quiz):INTEGER
foreign_key(userid):INTEGER
column(attempt):INTEGER
column(timestart):DATE
column(timefinish):DATE
column(sumgrades):DECIMAL
}
table(quizes){
primary_key(id):INTEGER
column(name):VARCHAR
}
' Связи
users ||--|{ attempts
quizes ||--|{ attempts
@enduml

120
src/main/sql/script.sql

@ -0,0 +1,120 @@
-- назначенные аккаунты
SELECT id, username, email FROM mdl_user
where username LIKE "dsk05-%";
-- всего назначео аккаунтов --> 1121
SELECT count(*)
FROM mdl_user
WHERE username LIKE "dsk05-%";
-- участвовали в тестировании (имеют попытку сдачи) --> 345
SELECT count(DISTINCT mdl_user.id)
FROM mdl_quiz_attempts
LEFT JOIN mdl_user
on mdl_quiz_attempts.userid=mdl_user.id
WHERE username LIKE "dsk05-%";
-- перечень тестов, которые сдавали
SELECT mdl_quiz.name, mdl_quiz.id
FROM mdl_quiz_attempts
LEFT JOIN mdl_user on mdl_quiz_attempts.userid=mdl_user.id
LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id
WHERE username LIKE "dsk05-%"
GROUP BY mdl_quiz.id;
name id
Тестирование по п.32. Строительный контроль за общестроительными работами 19
40. Строительный контроль при строительстве, реконструкции и капитальном ремонте объектов нефтяной и газовой промышленности 27
1.2. Земляные работы 50
1.1. Подготовительные работы 51
1.4. Свайные работы 53
1.5. Искусственное закрепление грунтов 54
1.6. Монтаж и устройство бетонных, железобетонных, сборных бетонных, сборных железобетонных, и монолитных конструкций 55
1.8. Монтаж металлических конструкций 57
1.10. Защита строительных конструкций 59
46.3 Организация строительства (начальник ПТО, линейный работник) 104
49.1 Монтаж магистральных и промысловых трубопроводов 107
51. Контроль качества сварных соединений и изоляции 108
65. Особенности выполнения строительных работ в условиях вечной мерзлоты 111
-- Вывод результатов по одному тесту >> 19
-- пользователи имеющие результаты --> результаты без пустых строк
SELECT mdl_user.username,
quiz,
userid,
attempt,
FROM_UNIXTIME(timestart),
FROM_UNIXTIME(timefinish),
mdl_quiz_attempts.sumgrades,
DATE_FORMAT(FROM_UNIXTIME(timefinish - timestart), '%imin:%ssec') as "lost-time"
FROM mdl_quiz_attempts
LEFT JOIN mdl_user on mdl_quiz_attempts.userid=mdl_user.id
LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id
WHERE username LIKE "dsk05-%" and mdl_quiz.id in(19);
-- все пользователи --> результаты и пустые строки
SELECT mdl_user.username,
quiz,
userid,
attempt,
FROM_UNIXTIME(timestart),
FROM_UNIXTIME(timefinish),
mdl_quiz_attempts.sumgrades,
DATE_FORMAT(FROM_UNIXTIME(timefinish - timestart), '%imin:%ssec') as "lost-time"
FROM mdl_user
LEFT JOIN mdl_quiz_attempts on mdl_quiz_attempts.userid=mdl_user.id
LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id
WHERE username LIKE "dsk05-%" and mdl_quiz.id in(19);
-- Общее время потраченое на тестирование
--
SELECT mdl_user.username,
DATE_FORMAT(FROM_UNIXTIME(sum(timefinish - timestart)), '%hh:%imin:%ssec') as "Полное время тестирования",
count(*) as "Количество тестов"
FROM mdl_user
LEFT JOIN mdl_quiz_attempts on mdl_quiz_attempts.userid=mdl_user.id
LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id
WHERE username LIKE "dsk05-%"
GROUP BY mdl_user.username
HAVING DATE_FORMAT(FROM_UNIXTIME(sum(timefinish - timestart)), '%hh:%imin:%ssec') is not null;
-- все тесты
SELECT id, name FROM mdl_quiz;
-- все данные о попытках
SELECT id, quiz, userid, attempt, timestart, timefinish, sumgrades FROM mdl_quiz_attempts;
-- для отчета -->
WITH pure AS (
SELECT
mqa.id as pure_id,
mqa.userid as pure_userid,
mqa.attempt as pure_attempt,
FROM_UNIXTIME(mqa.timestart) AS pure_timestart_date,
FROM_UNIXTIME(mqa.timefinish) AS pure_timefinish_date,
mqa.sumgrades as pure_mqa_sumgrades,
mqa.quiz as pure_mqa_quiz,
mq.id as pure_mq_id,
mq.name as pure_mq_name,
mu.id as pure_mu_id,
mu.username as pure_mu_username,
mu.email as pure_mu_email
FROM mdl_quiz_attempts as mqa
LEFT JOIN mdl_quiz as mq on mqa.quiz=mq.id
LEFT JOIN mdl_user as mu on mqa.userid=mu.id
WHERE mqa.userid >= 4263
)
SELECT
pure_id,
pure_userid,
pure_mu_username,
pure_mu_email,
pure_timestart_date,
pure_timefinish_date,
pure_mqa_sumgrades,
pure_mq_name
FROM pure as report;

BIN
target/classes/ru/egspt/Access.class

Binary file not shown.

BIN
target/classes/ru/egspt/implant/Runner.class

Binary file not shown.

BIN
target/classes/ru/molokoin/Runner.class

Binary file not shown.

9
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@ -1,20 +1,21 @@
ru\egspt\TagControls.class ru\egspt\TagControls.class
ru\egspt\ResultsTableModel.class ru\egspt\ResultsTableModel.class
ru\egspt\User.class
ru\egspt\App.class ru\egspt\App.class
ru\egspt\QuizesTableModel.class
ru\egspt\TagModel.class ru\egspt\TagModel.class
ru\egspt\implant\ExtendedUser$1.class
ru\egspt\BaseControls.class ru\egspt\BaseControls.class
ru\egspt\ReportTableModel.class
ru\egspt\Result.class ru\egspt\Result.class
ru\egspt\AccessPane.class ru\egspt\AccessPane.class
ru\egspt\DataPane.class ru\egspt\DataPane.class
ru\egspt\Quiz.class ru\egspt\Quiz.class
ru\egspt\Access.class ru\egspt\Access.class
ru\egspt\Base.class ru\egspt\Base.class
ru\egspt\UsersTableModel.class
ru\egspt\ReportControls.class ru\egspt\ReportControls.class
ru\egspt\UserListModel.class ru\egspt\UserListModel.class
ru\egspt\TagPane.class ru\egspt\TagPane.class
ru\egspt\Data.class ru\egspt\Data.class
ru\egspt\User.class
ru\egspt\QuizesTableModel.class
ru\egspt\ReportTableModel.class
ru\egspt\UsersTableModel.class
ru\egspt\ReportPane.class ru\egspt\ReportPane.class

44
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@ -1,20 +1,24 @@
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\TagPane.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\BaseControls.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\QuizesTableModel.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\implant\ExtendedUser.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\TagModel.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\implant\Runner.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\AccessPane.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\ReportControls.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\BaseControls.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\TagControls.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\DataPane.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\UsersTableModel.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\Data.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\AccessPane.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\ReportTableModel.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\QuizesTableModel.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\ResultsTableModel.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\ReportPane.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\Access.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\ReportTableModel.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\App.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\implant\Implant.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\Base.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\Quiz.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\User.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\ResultsTableModel.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\UsersTableModel.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\Access.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\ReportControls.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\molokoin\Runner.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\UserListModel.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\Data.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\Result.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\Result.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\TagControls.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\App.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\ReportPane.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\DataPane.java
c:\Users\devuser\Documents\code\moodle\moodle-anyreport\src\main\java\ru\egspt\Quiz.java c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\TagModel.java
c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\User.java
c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\TagPane.java
c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\Base.java
c:\Users\devuser\Documents\code\moodle-anyreport\src\main\java\ru\egspt\UserListModel.java

BIN
target/moodle-anyreport-0.1-jar-with-dependencies.jar

Binary file not shown.

BIN
target/moodle-anyreport-0.1.jar

Binary file not shown.
Loading…
Cancel
Save