From 76d456fe82afb9862e3a4cf55cb1ca2395f9c079 Mon Sep 17 00:00:00 2001 From: esoe Date: Thu, 19 May 2022 22:26:14 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/ru/egspt/Data.java | 48 ++++++++++++++++++ src/main/java/ru/egspt/ReportTableModel.java | 35 ++++++------- src/main/java/ru/egspt/TagControls.java | 7 +-- target/classes/ru/egspt/Data.class | Bin 3456 -> 4757 bytes .../classes/ru/egspt/ReportTableModel.class | Bin 2180 -> 2180 bytes target/classes/ru/egspt/TagControls.class | Bin 1772 -> 1923 bytes 6 files changed, 70 insertions(+), 20 deletions(-) diff --git a/src/main/java/ru/egspt/Data.java b/src/main/java/ru/egspt/Data.java index 2efe86e..5fb25dd 100644 --- a/src/main/java/ru/egspt/Data.java +++ b/src/main/java/ru/egspt/Data.java @@ -42,6 +42,36 @@ public class Data extends UserListModel { return q; } + public ArrayList getQuizesByResults(ArrayList quizes, ArrayList results) { + ArrayList q = new ArrayList<>(); + //перебор опросов + int i = 0; + while (i < quizes.size()){ + //перебор результатов + int j = 0; + while (j < results.size()){ + if (quizes.get(i).getId() == results.get(j).getQuizid()){ + boolean b = true; + //перебираем уже записанные опросы + int k = 0; + while (k < q.size()){ + //сравниваем записанные опросы с текущим совпавшим id опроса + if (q.get(k).getId() == results.get(j).getQuizid()){ + b = false; + } + k++; + } + //если не найдено совпадение, добавляем новый опрос к списку + if(b){ + q.add(quizes.get(i)); + } + } + } + j++; + } + i++; + return q; + } /** * @param results the results to set */ @@ -79,4 +109,22 @@ public class Data extends UserListModel { } return r; } + public ArrayList getResultsByUsers(ArrayList results, ArrayList users){ + ArrayList r = new ArrayList<>(); + //перебор результатов + int i = 0; + while (i < results.size()){ + //перебор пользователей + int j = 0; + while (j < users.size()){ + //проверка соответствия по id пользователя + if (results.get(i).getUserid() == users.get(j).getId()){ + r.add(results.get(i));//совпадения пишем в список + } + j++; + } + i++; + } + return r; + } } diff --git a/src/main/java/ru/egspt/ReportTableModel.java b/src/main/java/ru/egspt/ReportTableModel.java index eda1831..2813ccd 100644 --- a/src/main/java/ru/egspt/ReportTableModel.java +++ b/src/main/java/ru/egspt/ReportTableModel.java @@ -24,10 +24,10 @@ public class ReportTableModel extends AbstractTableModel{ return getData()[rowIndex][columnIndex]; } /** - * @return the data + * @param header the header to set */ - public Object[][] getData() { - return data; + public void setHeader(String[] header) { + this.header = header; } /** * Настройка заголовков отчета @@ -44,6 +44,18 @@ public class ReportTableModel extends AbstractTableModel{ //String[] h = new String[3 + 0]; // } + /** + * @return the header + */ + public String[] getHeader() { + return header; + } + /** + * + */ + public void setData(Object[][] data){ + this.data = data; + } /** * */ @@ -60,21 +72,10 @@ public class ReportTableModel extends AbstractTableModel{ this.fireTableDataChanged(); } } - - public void setData(Object[][] data){ - this.data = data; - } /** - * @return the header - */ - public String[] getHeader() { - return header; - } - /** - * @param header the header to set + * @return the data */ - public void setHeader(String[] header) { - this.header = header; + public Object[][] getData() { + return data; } - } diff --git a/src/main/java/ru/egspt/TagControls.java b/src/main/java/ru/egspt/TagControls.java index d2f645c..4a9acbb 100644 --- a/src/main/java/ru/egspt/TagControls.java +++ b/src/main/java/ru/egspt/TagControls.java @@ -8,12 +8,13 @@ public class TagControls { //обновляем текстовую область app.getTagPane().updateTagArea(app.getTagModel()); app.getTagPane().getCurrentTagField().setText(""); - //Выводим пользователей в отчет + //Подготавливаем данные для отчета (по тегам) Data report = new Data(); report.setUsers(app.getData().getUsersByTag(app.getData().getUsers(), app.getTagModel())); - report.setResults(app.getData().getResults()); - report.setQuizes(app.getData().getQuizes()); + report.setResults(app.getData().getResultsByUsers(app.getData().getResults(), report.getUsers())); + report.setQuizes(app.getData().getQuizesByResults(app.getData().getQuizes(), report.getResults())); //report.setHeaders(); + //выводим пользователей в отчет app.getReportPane().setReportData(report); app.getReportPane().getReportTableModel().fireTableDataChanged(); } diff --git a/target/classes/ru/egspt/Data.class b/target/classes/ru/egspt/Data.class index 8145cae4b07bca299de7f4cfddff09206b26207b..447924e4a15dec326f1199b69485c76cc807953e 100644 GIT binary patch delta 1586 zcmZ`(TT@$A7+w1$=bYr^1OYixsI^sUfuWdQBqI&&0JeCcN-jXG zgeuyK)=E#S;uXBndTnhDr8tg{9Ut_?7vFsLALv+ho!r0&AND?LfBW0tWqm7|-gx0& z?Z>}wd=KD$tX|P<${m%1k;Eg(XgU(_oID(fCu51YK!-Uk4B<0RiYm$1XnpKHffTLv zJZv_7ipKA@jD~W=btI4!urZK;(co|F9tx#Go>*vj&=cqziu5OZ8hjYnF@Z?|nSTB- z{TmwnDxMX%Z7k`D48}(jo_u}{X*{Q6%5ruVs*8rLRMR?6T2_0U^$LiJD7PW5KCZ{O zj+!pzrg+W#Md@mJoqosJm;>holw>?I77aUa-YQ@$6ppyC18?Yf6L00S>>o+?#Ukc! z_Uiim4!kX(C!)t9$40`@foLRbdB3aUJ-jcVvZn5l;X%vSe^A2$K2)(NP`1{#b*4 z?aPg1Gi|Nb`)_nyEplbuN5d+<6>yhmwTv3BVVu1u^Fg;+(Ug2Nv)^$*IImuEj7phN zNKmN`3CH0E#2jpJ@O*X^<-N74xgH_i{{I$ z$&PC7hf&4-K32JdH10$hcB6vou0jhu@M0GpAZq3A!=q@!5$r=R&wc2?AUctx?-aTy zteu$6;31rW9~*LkbB&`0wLFmm$WS11$VntI1R+IVsxm5dJAPL%Ee!h#Vyncu}S&^8~Z+3iO!=_c?yNTZUA69)nWi|&S##EPkLWQMore1r)RpY7nm@a$gJ%vkaRBvu zIM!f|y|Q@)9tmEV@N6C`gmZbQ5}GTxAfeSkIKP5-BwWV_d$d)gdkxu840VH}Mq9=w z=3c$)z~k)Z3D)~0D)AHyJk6>?Xd?Gs64!w+0*LT5fGF?dcm^q=2@GKxM@e0b!x%Pi z>UWEa=I?ra(ga1)=M^4qAq5!GnD@9db%ObmgHF5H;J!omNpwFME$)Y~LTPMz4(2)Uu zOAdDD;{RkBJFLJs)j3IZrm+_%D2{PTZVKJJ?_uYb`1a-ND~T@%OLCU@f>X1m5|p7twG8QY=x;L-1rv}3QXt# delta 486 zcmX|-OHUJF6o#J}I`a+F;uPWpt4697(KJ|5Q^1ZcV`wfj)C7khRie7j=^t~1N zR*c)+(GY=OnJCT%vSs!5joaMgf#ANzx(kI`Av0Z=4KgcojE6ju{hi4U!DE>e>#ZhF zVnlf=^PQf2XOC#&(;s_Ik8VassL(od(sWYB5C(hYZfB@#p5&TVlGDyM?SNcz+^#aI zwS7gloZhMGWP0#31H+LIOeG>cgKaW8SwrE)RWub|T1BDoa+@nUhb)EH+uYRo%H3i6 zJI%AM;hL`4U?uD?EXlrjZuBq~M^x~m^l%K95tZsVX-<%3RBdwPImtQ32-Q?(oEoQC zV1fpxRcDhlIU_&Dw`$Mi@AyDk5@0ItKI)2u^6X@h=juzIjV$v5TU`^p2UT@#MX zXhTaUiq4)T>aAVZ%Gs`+Vu)U-R*T#AQ`>6VJ9VqPxh=Nb)Www$7$!M%7-8JRw2lnJ z@g6b9Eo9}PGCH2etd1FmlfKWM+h|(Tj$=P7Hd-#n983nS)z}xlSsn`{}LB7b8Rc3e>x4#z#*moL@0QNk)m6>IXHdTy|U z4UUIcW6;TB(QY)uG>y%%DSxPm_f_pHQxlkw*Nu4K3<4OI8^$n8$o*iNCFOVhQuZ27 z1K^|r@q-wmlOc{2)njy@fWOTl;XZe2P2c7!F+reNd*P{37V|9ITw_J9>7()dzfIShUcH8C`U$4wD?Ez*$|OJ8tWtR8Tqct`}gh+9W!unR30_cRe} zaX-?A)quBu-hWV&^^UU`mdY=2lFRh&a)myUTwszMQY&*GLFVLyIU>Iq bV}pzTKNp^yF`~h|s$G>eW5j&aX;b|R%fNi? diff --git a/target/classes/ru/egspt/TagControls.class b/target/classes/ru/egspt/TagControls.class index 7e5755b14e75b94ce206f2f22b502fab4f962f6c..124ca5d80867bf5cd74bcbc640bb1a642f5aeb8f 100644 GIT binary patch delta 529 zcmZXQOHUL*6otR)>2a90ape7o!Kgff1leeSn3xEO7>qndW&i;Zp&Y;whVC8-Zctph ztpDJiO)XrobK_4iG2+(v8`RqaOh{bRt=x0ZJ?B*YuKkelzW(`q1l(r#&|6EiK33Ef zbd=R$xfq2bd$~{tq2j*z;k1~aPNV8I$4=9}CkvB4Q#??3VU-`lS)V7|Q=~;^y1emL zhcTM-$s^+RRdi(U)Fd9y`OL>!Y0)}cs$;=tktIcKB~fWRh^AJyw4%j)Nwi&CW+laQ zMMF>?(1oxR4P^Bh$L9sB=5L~>W*P1Cl7hMA4qe#bRf3xpL5f)Le~R;#{BM^&qB+S`o{iJve(M7p^P z3o9Fb3oCmuDnufaoH_HJH_tog&imSJynH-70<+XwM!s`pRl{fqDrkW-R{YgswCQWeFPSU8fS=CR!3s1NJ