Rev 1573 | Rev 1579 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1573 | Rev 1574 | ||
---|---|---|---|
1 | package pt.estgp.estgweb.services.questionarios; |
1 | package pt.estgp.estgweb.services.questionarios; |
2 | 2 | ||
3 | import jomm.dao.impl.AbstractDao; |
3 | import jomm.dao.impl.AbstractDao; |
4 | import org.apache.log4j.Logger; |
4 | import org.apache.log4j.Logger; |
5 | import pt.estgp.estgweb.Globals; |
5 | import pt.estgp.estgweb.Globals; |
6 | import pt.estgp.estgweb.domain.*; |
6 | import pt.estgp.estgweb.domain.*; |
7 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
7 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
8 | import pt.estgp.estgweb.domain.dao.impl.AnnouncementDaoImpl; |
8 | import pt.estgp.estgweb.domain.dao.impl.AnnouncementDaoImpl; |
9 | import pt.estgp.estgweb.domain.views.QuestionarioView; |
9 | import pt.estgp.estgweb.domain.views.QuestionarioView; |
10 | import pt.estgp.estgweb.services.email.EMAILJob; |
10 | import pt.estgp.estgweb.services.email.EMAILJob; |
11 | import pt.estgp.estgweb.services.email.EMAILJobPersonalizedCertificated; |
11 | import pt.estgp.estgweb.services.email.EMAILJobPersonalizedCertificated; |
12 | import pt.estgp.estgweb.services.email.SendEmailService; |
12 | import pt.estgp.estgweb.services.email.SendEmailService; |
13 | import pt.estgp.estgweb.services.jobs.JobDeamon; |
13 | import pt.estgp.estgweb.services.jobs.JobDeamon; |
14 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
14 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
15 | import pt.estgp.estgweb.services.jobs.ServiceJob; |
15 | import pt.estgp.estgweb.services.jobs.ServiceJob; |
16 | import pt.estgp.estgweb.utils.ConfigProperties; |
16 | import pt.estgp.estgweb.utils.ConfigProperties; |
17 | import pt.estgp.estgweb.utils.Email; |
17 | import pt.estgp.estgweb.utils.Email; |
18 | import pt.estgp.estgweb.utils.EmailPersonalizedCertificated; |
18 | import pt.estgp.estgweb.utils.EmailPersonalizedCertificated; |
19 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
19 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
20 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
20 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
21 | 21 | ||
22 | import java.util.*; |
22 | import java.util.*; |
23 | 23 | ||
24 | /** |
24 | /** |
25 | * Created by jorgemachado on 21/03/16. |
25 | * Created by jorgemachado on 21/03/16. |
26 | */ |
26 | */ |
27 | public class QuestionariosService implements IService |
27 | public class QuestionariosService implements IService |
28 | { |
28 | { |
29 | 29 | ||
30 | private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(QuestionariosService.class); |
30 | private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(QuestionariosService.class); |
31 | 31 | ||
32 | //NEW QUESTIONARIOS COME BY THIS SERVICE |
32 | //NEW QUESTIONARIOS COME BY THIS SERVICE |
33 | public QuestionarioImpl newQuestionarioForm(QuestionarioImpl qform, UserSession userSession) throws NotAuthorizedException |
33 | public QuestionarioImpl newQuestionarioForm(QuestionarioImpl qform, UserSession userSession) throws NotAuthorizedException |
34 | { |
34 | { |
35 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
35 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
36 | { |
36 | { |
37 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
37 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
38 | qform.setQuestionarioHistoryDrive(hist); |
38 | qform.setQuestionarioHistoryDrive(hist); |
39 | } |
39 | } |
40 | else |
40 | else |
41 | { |
41 | { |
42 | qform.setQuestionarioHistoryDrive(null); |
42 | qform.setQuestionarioHistoryDrive(null); |
43 | } |
43 | } |
44 | DaoFactory.getQuestionarioDaoImpl().save(qform); |
44 | DaoFactory.getQuestionarioDaoImpl().save(qform); |
45 | return qform; |
45 | return qform; |
46 | } |
46 | } |
47 | public QuestionarioImpl saveQuestionarioForm(QuestionarioImpl qform, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
47 | public QuestionarioImpl saveQuestionarioForm(QuestionarioImpl qform, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
48 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
48 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
49 | { |
49 | { |
50 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
50 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
51 | qform.setQuestionarioHistoryDrive(hist); |
51 | qform.setQuestionarioHistoryDrive(hist); |
52 | } |
52 | } |
53 | else |
53 | else |
54 | { |
54 | { |
55 | qform.setQuestionarioHistoryDrive(null); |
55 | qform.setQuestionarioHistoryDrive(null); |
56 | } |
56 | } |
57 | Questionario qPersistent = questionarioCleared; |
57 | Questionario qPersistent = questionarioCleared; |
58 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_FORM.name())) |
58 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_FORM.name())) |
59 | { |
59 | { |
60 | QuestionarioView qv = new QuestionarioView(qform); |
60 | QuestionarioView qv = new QuestionarioView(qform); |
61 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_ANSWER_PROCESSOR.name())) |
61 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_ANSWER_PROCESSOR.name())) |
62 | { |
62 | { |
63 | qv.persistAnswersProcessor(qPersistent); |
63 | qv.persistAnswersProcessor(qPersistent); |
64 | } |
64 | } |
65 | qv.persistViewInObjectForm(qPersistent); |
65 | qv.persistViewInObjectForm(qPersistent); |
66 | qPersistent.setQuestionarioHistoryDrive(qform.getQuestionarioHistoryDrive()); |
66 | qPersistent.setQuestionarioHistoryDrive(qform.getQuestionarioHistoryDrive()); |
67 | } |
67 | } |
68 | else |
68 | else |
69 | throw new NotAuthorizedException("Não pode alterar o formulário porque o questionário está num estado avançado"); |
69 | throw new NotAuthorizedException("Não pode alterar o formulário porque o questionário está num estado avançado"); |
70 | 70 | ||
71 | return loadInit(questionarioCleared); |
71 | return loadInit(questionarioCleared); |
72 | } |
72 | } |
73 | 73 | ||
74 | public QuestionarioImpl setAssignDetailsState(long id, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
74 | public QuestionarioImpl setAssignDetailsState(long id, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
75 | 75 | ||
76 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SET_STATE_ASSIGNATION_DETAILS.name())) |
76 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SET_STATE_ASSIGNATION_DETAILS.name())) |
77 | { |
77 | { |
78 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
78 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
79 | questionarioCleared.getiAnswersProcessorClass().startAfetacoes(questionarioCleared); |
79 | questionarioCleared.getiAnswersProcessorClass().startAfetacoes(questionarioCleared); |
80 | } |
80 | } |
81 | else |
81 | else |
82 | throw new NotAuthorizedException("Não alterar o questionário para este estado neste momento"); |
82 | throw new NotAuthorizedException("Não alterar o questionário para este estado neste momento"); |
83 | 83 | ||
84 | return loadInit(questionarioCleared); |
84 | return loadInit(questionarioCleared); |
85 | } |
85 | } |
86 | /** |
86 | /** |
87 | * Questionario comes already cleared from Filter |
87 | * Questionario comes already cleared from Filter |
88 | * @param questionarioId |
88 | * @param questionarioId |
89 | * @param questionarioCleared |
89 | * @param questionarioCleared |
90 | * @param userSession |
90 | * @param userSession |
91 | * @return |
91 | * @return |
92 | */ |
92 | */ |
93 | public QuestionarioImpl loadQuestionario(long questionarioId,UserSession userSession,QuestionarioImpl questionarioCleared) |
93 | public QuestionarioImpl loadQuestionario(long questionarioId,UserSession userSession,QuestionarioImpl questionarioCleared) |
94 | { |
94 | { |
95 | return loadInit(questionarioCleared); |
95 | return loadInit(questionarioCleared); |
96 | } |
96 | } |
97 | 97 | ||
98 | /** |
98 | /** |
99 | * just to load proxys |
99 | * just to load proxys |
100 | * @param questionarioCleared |
100 | * @param questionarioCleared |
101 | * @return |
101 | * @return |
102 | */ |
102 | */ |
103 | private QuestionarioImpl loadInit(QuestionarioImpl questionarioCleared) |
103 | private QuestionarioImpl loadInit(QuestionarioImpl questionarioCleared) |
104 | { |
104 | { |
105 | questionarioCleared.getDescription();//to load proxy just in case |
105 | questionarioCleared.getDescription();//to load proxy just in case |
106 | if(questionarioCleared.getQuestionarioHistoryDrive() != null) |
106 | if(questionarioCleared.getQuestionarioHistoryDrive() != null) |
107 | questionarioCleared.getQuestionarioHistoryDrive().getCodeName(); |
107 | questionarioCleared.getQuestionarioHistoryDrive().getCodeName(); |
108 | IAnswersProcessor processor = questionarioCleared.getiAnswersProcessorClass(); |
108 | IAnswersProcessor processor = questionarioCleared.getiAnswersProcessorClass(); |
109 | processor.initQuestionarioAfetacoesVariables(questionarioCleared); |
109 | processor.initQuestionarioAfetacoesVariables(questionarioCleared); |
110 | return questionarioCleared; |
110 | return questionarioCleared; |
111 | } |
111 | } |
112 | 112 | ||
113 | public void loadInit(List<QuestionarioImpl> questionarioCleared) |
113 | public void loadInit(List<QuestionarioImpl> questionarioCleared) |
114 | { |
114 | { |
115 | for(QuestionarioImpl q: questionarioCleared) |
115 | for(QuestionarioImpl q: questionarioCleared) |
116 | { |
116 | { |
117 | loadInit(q); |
117 | loadInit(q); |
118 | } |
118 | } |
119 | } |
119 | } |
120 | 120 | ||
121 | 121 | ||
122 | 122 | ||
123 | public void deleteQuestionario(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
123 | public void deleteQuestionario(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
124 | { |
124 | { |
125 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_DELETE.name())) |
125 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_DELETE.name())) |
126 | { |
126 | { |
127 | DaoFactory.getQuestionarioDaoImpl().delete(questionarioCleared); |
127 | DaoFactory.getQuestionarioDaoImpl().delete(questionarioCleared); |
128 | } |
128 | } |
129 | } |
129 | } |
130 | 130 | ||
131 | /** |
131 | /** |
132 | * Passa para o estado ASSIGNED_ANSWERS |
132 | * Passa para o estado ASSIGNED_ANSWERS |
133 | * @param questionarioId |
133 | * @param questionarioId |
134 | * @param userSession |
134 | * @param userSession |
135 | * @param questionarioCleared |
135 | * @param questionarioCleared |
136 | * @return |
136 | * @return |
137 | */ |
137 | */ |
138 | public QuestionarioImpl putAssignedAnswers(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
138 | public QuestionarioImpl putAssignedAnswers(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
139 | { |
139 | { |
140 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_PUT_ANSWERS_ASSIGNED.toString())) |
140 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_PUT_ANSWERS_ASSIGNED.toString())) |
141 | { |
141 | { |
142 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
142 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
143 | } |
143 | } |
144 | return questionarioCleared; |
144 | return questionarioCleared; |
145 | } |
145 | } |
146 | 146 | ||
147 | public QuestionarioImpl revertAssignationDetails(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
147 | public QuestionarioImpl revertAssignationDetails(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
148 | { |
148 | { |
149 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_REVERT_TO_ASSIGNATION_DETAILS.toString())) |
149 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_REVERT_TO_ASSIGNATION_DETAILS.toString())) |
150 | { |
150 | { |
151 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
151 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
152 | } |
152 | } |
153 | return questionarioCleared; |
153 | return questionarioCleared; |
154 | } |
154 | } |
155 | 155 | ||
156 | public QuestionarioImpl startProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
156 | public QuestionarioImpl startProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
157 | { |
157 | { |
158 | 158 | ||
159 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_START_PROCESSEMENT.toString())) |
159 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_START_PROCESSEMENT.toString())) |
160 | { |
160 | { |
161 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS) |
161 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS) |
162 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING); |
162 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING); |
163 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS) |
163 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS) |
164 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
164 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
165 | } |
165 | } |
166 | return questionarioCleared; |
166 | return questionarioCleared; |
167 | } |
167 | } |
168 | 168 | ||
169 | public QuestionarioImpl stopProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
169 | public QuestionarioImpl stopProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
170 | { |
170 | { |
171 | 171 | ||
172 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_STOP_PROCESSEMENT.toString())) |
172 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_STOP_PROCESSEMENT.toString())) |
173 | { |
173 | { |
174 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING) |
174 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING) |
175 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
175 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
176 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS) |
176 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS) |
177 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS); |
177 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS); |
178 | } |
178 | } |
179 | return questionarioCleared; |
179 | return questionarioCleared; |
180 | } |
180 | } |
181 | 181 | ||
182 | public QuestionarioImpl closeProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
182 | public QuestionarioImpl closeProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
183 | { |
183 | { |
184 | 184 | ||
185 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_CLOSE_PROCESSEMENT.toString())) |
185 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_CLOSE_PROCESSEMENT.toString())) |
186 | { |
186 | { |
187 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.CLOSED); |
187 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.CLOSED); |
188 | } |
188 | } |
189 | return questionarioCleared; |
189 | return questionarioCleared; |
190 | } |
190 | } |
191 | 191 | ||
192 | public QuestionarioImpl reopenProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
192 | public QuestionarioImpl reopenProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
193 | { |
193 | { |
194 | 194 | ||
195 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_REOPEN_PROCESSEMENT.toString())) |
195 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_REOPEN_PROCESSEMENT.toString())) |
196 | { |
196 | { |
197 | if(DaoFactory.getQuestionarioDaoImpl().getNumeroRespostas(questionarioId) > 0) |
197 | if(DaoFactory.getQuestionarioDaoImpl().getNumeroRespostas(questionarioId) > 0) |
198 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
198 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
199 | else |
199 | else |
200 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING); |
200 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING); |
201 | } |
201 | } |
202 | return questionarioCleared; |
202 | return questionarioCleared; |
203 | } |
203 | } |
204 | 204 | ||
205 | public QuestionarioImpl generateOlap(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
205 | public QuestionarioImpl generateOlap(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
206 | 206 | ||
207 | if(!questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_GENERATE_OLAP.toString()) ) |
207 | if(!questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_GENERATE_OLAP.toString()) ) |
208 | { |
208 | { |
209 | throw new NotAuthorizedException("Nao tem autorização para atribuir respostas ao questionario " + questionarioId); |
209 | throw new NotAuthorizedException("Nao tem autorização para atribuir respostas ao questionario " + questionarioId); |
210 | } |
210 | } |
211 | 211 | ||
212 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_OLAP); |
212 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_OLAP); |
213 | 213 | ||
214 | Set<JobServiceTaskParameter> paramsJob = new HashSet<JobServiceTaskParameter>(); |
214 | Set<JobServiceTaskParameter> paramsJob = new HashSet<JobServiceTaskParameter>(); |
215 | 215 | ||
216 | JobServiceTaskParameterImpl paramJob = DomainObjectFactory.createJobServiceTaskParameterImpl(); |
216 | JobServiceTaskParameterImpl paramJob = DomainObjectFactory.createJobServiceTaskParameterImpl(); |
217 | paramJob.setName(ServiceJob.JOB_questionario_id_KEY); |
217 | paramJob.setName(ServiceJob.JOB_questionario_id_KEY); |
218 | paramJob.setDescription("ID do questionário"); |
218 | paramJob.setDescription("ID do questionário"); |
219 | paramJob.setObject("" + questionarioId); |
219 | paramJob.setObject("" + questionarioId); |
220 | paramsJob.add(paramJob); |
220 | paramsJob.add(paramJob); |
221 | 221 | ||
222 | JobServiceTask job = JobDeamon.createServiceJob(questionarioCleared.getiAnswersProcessorClass().getJobServiceOlapGenerationProcessor(), userSession.getUser(), paramsJob, |
222 | JobServiceTask job = JobDeamon.createServiceJob(questionarioCleared.getiAnswersProcessorClass().getJobServiceOlapGenerationProcessor(), userSession.getUser(), paramsJob, |
223 | "Service: Geracao OLAP a um questionário Pedagógico"); |
223 | "Service: Geracao OLAP a um questionário Pedagógico"); |
224 | questionarioCleared.setAnswerOlapGenerationTaskId(job.getId()); |
224 | questionarioCleared.setAnswerOlapGenerationTaskId(job.getId()); |
225 | 225 | ||
226 | 226 | ||
227 | return questionarioCleared; |
227 | return questionarioCleared; |
228 | } |
228 | } |
229 | 229 | ||
230 | public void salvarResposta(QuestionarioResposta resposta,1.5.0/docs/api/java/lang/Long.html">Long alunoRequisitadoId,UserSession userSession) throws NotAuthorizedException { |
230 | public void salvarResposta(QuestionarioResposta resposta,1.5.0/docs/api/java/lang/Long.html">Long alunoRequisitadoId,UserSession userSession) throws NotAuthorizedException { |
231 | Questionario q = DaoFactory.getQuestionarioDaoImpl().load(resposta.getQuestionario().getId()); |
231 | Questionario q = DaoFactory.getQuestionarioDaoImpl().load(resposta.getQuestionario().getId()); |
232 | QuestionarioImpl questionario = (QuestionarioImpl) DaoFactory.getQuestionarioDaoImpl().narrow(q); |
232 | QuestionarioImpl questionario = (QuestionarioImpl) DaoFactory.getQuestionarioDaoImpl().narrow(q); |
233 | QuestionarioPedagogicoAlunoRequisitado alunoRequisitado = DaoFactory.getQuestionarioPedagogicoAlunoRequisitadoDaoImpl().load(alunoRequisitadoId); |
233 | QuestionarioPedagogicoAlunoRequisitado alunoRequisitado = DaoFactory.getQuestionarioPedagogicoAlunoRequisitadoDaoImpl().load(alunoRequisitadoId); |
234 | if(questionario.getStateEnum() != QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING && questionario.getStateEnum() != QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS ) |
234 | if(questionario.getStateEnum() != QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING && questionario.getStateEnum() != QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS ) |
235 | { |
235 | { |
236 | throw new NotAuthorizedException("O questionário interrompido por razões administrativas, por favor tente mais tarde"); |
236 | throw new NotAuthorizedException("O questionário interrompido por razões administrativas, por favor tente mais tarde"); |
237 | } |
237 | } |
238 | if(!((alunoRequisitado.getRespostaRequisitada().getQuestionario().getId() == questionario.getId()) |
238 | if(!((alunoRequisitado.getRespostaRequisitada().getQuestionario().getId() == questionario.getId()) |
239 | && |
239 | && |
240 | alunoRequisitado.getRespostaRequisitada().getResposta() == null |
240 | alunoRequisitado.getRespostaRequisitada().getResposta() == null |
241 | && |
241 | && |
242 | alunoRequisitado.getAluno().getId() == userSession.getUser().getId())) |
242 | alunoRequisitado.getAluno().getId() == userSession.getUser().getId())) |
243 | { |
243 | { |
244 | throw new NotAuthorizedException("Não está autorizado a submeter esta resposta."); |
244 | throw new NotAuthorizedException("Não está autorizado a submeter esta resposta."); |
245 | } |
245 | } |
246 | 246 | ||
247 | resposta.setId(0); |
247 | resposta.setId(0); |
248 | resposta.setQuestionario(questionario); |
248 | resposta.setQuestionario(questionario); |
249 | resposta.setUser(alunoRequisitado.getAluno()); |
249 | resposta.setUser(alunoRequisitado.getAluno()); |
250 | alunoRequisitado.getRespostaRequisitada().setResposta(resposta); |
250 | alunoRequisitado.getRespostaRequisitada().setResposta(resposta); |
251 | DaoFactory.getQuestionarioRespostaDaoImpl().save(resposta); |
251 | DaoFactory.getQuestionarioRespostaDaoImpl().save(resposta); |
252 | questionario.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
252 | questionario.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
253 | } |
253 | } |
254 | 254 | ||
255 | 255 | ||
256 | SendEmailService sendEmailService = new SendEmailService(); |
256 | SendEmailService sendEmailService = new SendEmailService(); |
257 | public int sendMessage(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
257 | public int sendMessage(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
258 | { |
258 | { |
259 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
259 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
260 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIds(id, onlyNotAnswered); |
260 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIds(id, onlyNotAnswered); |
261 | 261 | ||
262 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
262 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
263 | } |
263 | } |
264 | 264 | ||
265 | public int sendMessageCursoAfeto(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
265 | public int sendMessageCursoAfeto(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
266 | { |
266 | { |
267 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
267 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
268 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, id, 0); |
268 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, id, 0); |
269 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
269 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
270 | } |
270 | } |
271 | public int sendMessageUnidadeAfeta(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
271 | public int sendMessageUnidadeAfeta(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/Long.html">Long id,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
272 | { |
272 | { |
273 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario unidade message"; |
273 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario unidade message"; |
274 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, 0, id); |
274 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, 0, id); |
275 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
275 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
276 | } |
276 | } |
277 | 277 | ||
278 | 278 | ||
279 | public int sendMessageAllProcessing(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
279 | public int sendMessageAllProcessing(boolean onlyNotAnswered,1.5.0/docs/api/java/lang/String.html">String msg,1.5.0/docs/api/java/lang/String.html">String emailFrom,1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject,UserSession userSession) |
280 | { |
280 | { |
281 | 1.5.0/docs/api/java/lang/String.html">String source = "questionarios em processamento message"; |
281 | 1.5.0/docs/api/java/lang/String.html">String source = "questionarios em processamento message"; |
282 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogicoAllProcessing(onlyNotAnswered); |
282 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogicoAllProcessing(onlyNotAnswered); |
283 | return sendEmails(null, msg, emailFrom, personFrom, subject, userSession, source, result); |
283 | return sendEmails(null, msg, emailFrom, personFrom, subject, userSession, source, result); |
284 | } |
284 | } |
285 | 285 | ||
286 | private int sendEmails(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source, AnnouncementDaoImpl.FindUsersIdResult result) { |
286 | private int sendEmails(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source, AnnouncementDaoImpl.FindUsersIdResult result) { |
287 | List<Long> usersToConsume = result.userIds; |
287 | List<Long> usersToConsume = result.userIds; |
288 | 288 | ||
289 | 289 | ||
290 | logger.info("Scheduling mail jobs to " + result.users + " users: " + usersToConsume.size() + " recipients"); |
290 | logger.info("Scheduling mail jobs to " + result.users + " users: " + usersToConsume.size() + " recipients"); |
291 | logger.info("Sender User logged in BACO: " + userSession.getUser().getName() + "(" + userSession.getUser().getUsername() + ")" + " - " + userSession.getUser().getEmail()); |
291 | logger.info("Sender User logged in BACO: " + userSession.getUser().getName() + "(" + userSession.getUser().getUsername() + ")" + " - " + userSession.getUser().getEmail()); |
292 | //while(usersToConsume.size() > 0) |
292 | //while(usersToConsume.size() > 0) |
293 | //{ |
293 | //{ |
294 | // Iterator<String> iter = usersToConsume.iterator(); |
294 | // Iterator<String> iter = usersToConsume.iterator(); |
295 | // List<String> usersToJob = new ArrayList<String>(); |
295 | // List<String> usersToJob = new ArrayList<String>(); |
296 | // int contador = 0; |
296 | // int contador = 0; |
297 | // while(iter.hasNext() && contador < 20) |
297 | // while(iter.hasNext() && contador < 20) |
298 | // { |
298 | // { |
299 | // usersToJob.add(iter.next()); |
299 | // usersToJob.add(iter.next()); |
300 | // iter.remove(); |
300 | // iter.remove(); |
301 | // contador++; |
301 | // contador++; |
302 | // } |
302 | // } |
303 | 303 | ||
304 | 1.5.0/docs/api/java/lang/String.html">String suffix = Globals.SYSTEM_EMAIL_CERTIFICATED_HOME_PAGE; |
304 | 1.5.0/docs/api/java/lang/String.html">String suffix = Globals.SYSTEM_EMAIL_CERTIFICATED_HOME_PAGE; |
305 | if(suffix.startsWith("/")) |
305 | if(suffix.startsWith("/")) |
306 | suffix = suffix.substring(1); |
306 | suffix = suffix.substring(1); |
307 | 1.5.0/docs/api/java/lang/String.html">String url = Globals.SITE_URL.endsWith("/") ? Globals.SITE_URL + suffix : Globals.SITE_URL + "/" + suffix; |
307 | 1.5.0/docs/api/java/lang/String.html">String url = Globals.SITE_URL.endsWith("/") ? Globals.SITE_URL + suffix : Globals.SITE_URL + "/" + suffix; |
308 | 308 | ||
309 | EmailPersonalizedCertificated e = sendEmailService.getMessageEmailAdulteredFromEmailIppCertificated(emailFrom, |
309 | EmailPersonalizedCertificated e = sendEmailService.getMessageEmailAdulteredFromEmailIppCertificated(emailFrom, |
310 | personFrom, |
310 | personFrom, |
311 | subject, |
311 | subject, |
312 | msg, |
312 | msg, |
313 | userSession.getUser(), |
313 | userSession.getUser(), |
314 | usersToConsume, |
314 | usersToConsume, |
315 | url); |
315 | url); |
316 | 316 | ||
317 | e.setHtml(true); |
317 | e.setHtml(true); |
318 | EMAILJobPersonalizedCertificated emailJob = new EMAILJobPersonalizedCertificated(e); |
318 | EMAILJobPersonalizedCertificated emailJob = new EMAILJobPersonalizedCertificated(e); |
319 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
319 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
320 | //} |
320 | //} |
321 | enviarComprovativoAoRemetente(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
321 | enviarComprovativoAoRemetente(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
322 | enviarComprovativoAAdministracao(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
322 | enviarComprovativoAAdministracao(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
323 | return result.users; |
323 | return result.users; |
324 | } |
324 | } |
325 | 325 | ||
326 | private void enviarComprovativoAAdministracao(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source,int sentTo) |
326 | private void enviarComprovativoAAdministracao(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source,int sentTo) |
327 | { |
327 | { |
328 | 328 | ||
329 | 329 | ||
330 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
330 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
331 | personFrom, |
331 | personFrom, |
332 | subject + " (COMPROVATIVO PAE) ", |
332 | subject + " (COMPROVATIVO PAE) ", |
333 | "<u>Caros membros da administração este é um comprovativo de um email enviado pelo PAE pelo user: " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
333 | "<u>Caros membros da administração este é um comprovativo de um email enviado pelo PAE pelo user: " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
334 | ConfigProperties.getListValuesByPrefix("admin.email"), |
334 | ConfigProperties.getListValuesByPrefix("admin.email"), |
335 | userSession.getUser()); |
335 | userSession.getUser()); |
336 | 336 | ||
337 | e.setHtml(true); |
337 | e.setHtml(true); |
338 | EMAILJob emailJob = new EMAILJob(e); |
338 | EMAILJob emailJob = new EMAILJob(e); |
339 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
339 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
340 | } |
340 | } |
341 | 341 | ||
342 | private void enviarComprovativoAoRemetente(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source,int sentTo) |
342 | private void enviarComprovativoAoRemetente(1.5.0/docs/api/java/lang/Long.html">Long id, 1.5.0/docs/api/java/lang/String.html">String msg, 1.5.0/docs/api/java/lang/String.html">String emailFrom, 1.5.0/docs/api/java/lang/String.html">String personFrom, 1.5.0/docs/api/java/lang/String.html">String subject, UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String source,int sentTo) |
343 | { |
343 | { |
344 | Map<String,String> emailsComprovativos = new HashMap<String, String>(); |
344 | Map<String,String> emailsComprovativos = new HashMap<String, String>(); |
345 | if(Email.validEmail(userSession.getUser().getEmail())) |
345 | if(Email.validEmail(userSession.getUser().getEmail())) |
346 | emailsComprovativos.put(userSession.getUser().getEmail(),""); |
346 | emailsComprovativos.put(userSession.getUser().getEmail(),""); |
347 | if(Email.validEmail(userSession.getUser().getOutEmail())) |
347 | if(Email.validEmail(userSession.getUser().getOutEmail())) |
348 | emailsComprovativos.put(userSession.getUser().getOutEmail(),""); |
348 | emailsComprovativos.put(userSession.getUser().getOutEmail(),""); |
349 | if(Email.validEmail(userSession.getUser().getPreferrefEmail())) |
349 | if(Email.validEmail(userSession.getUser().getPreferrefEmail())) |
350 | emailsComprovativos.put(userSession.getUser().getPreferrefEmail(),""); |
350 | emailsComprovativos.put(userSession.getUser().getPreferrefEmail(),""); |
351 | List<String> comprovativos = new ArrayList<String>(); |
351 | List<String> comprovativos = new ArrayList<String>(); |
352 | comprovativos.addAll(emailsComprovativos.keySet()); |
352 | comprovativos.addAll(emailsComprovativos.keySet()); |
353 | if(comprovativos.size() > 0) |
353 | if(comprovativos.size() > 0) |
354 | { |
354 | { |
355 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
355 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
356 | personFrom, |
356 | personFrom, |
357 | subject + " (COMPROVATIVO PAE) ", |
357 | subject + " (COMPROVATIVO PAE) ", |
358 | "<u>Olá " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
358 | "<u>Olá " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
359 | comprovativos, |
359 | comprovativos, |
360 | userSession.getUser()); |
360 | userSession.getUser()); |
361 | 361 | ||
362 | e.setHtml(true); |
362 | e.setHtml(true); |
363 | EMAILJob emailJob = new EMAILJob(e); |
363 | EMAILJob emailJob = new EMAILJob(e); |
364 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
364 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
365 | } |
365 | } |
366 | } |
366 | } |
367 | 367 | ||
368 | 368 | ||
369 | /*** |
369 | /*** |
370 | * REPORTS ****************************** |
370 | * REPORTS ****************************** |
371 | */ |
371 | */ |
372 | 372 | ||
373 | public void saveReportGroup(1.5.0/docs/api/java/lang/String.html">String title,1.5.0/docs/api/java/lang/String.html">String classType, UserSession userSession) throws 1.5.0/docs/api/java/lang/ClassNotFoundException.html">ClassNotFoundException, 1.5.0/docs/api/java/lang/IllegalAccessException.html">IllegalAccessException, 1.5.0/docs/api/java/lang/InstantiationException.html">InstantiationException |
373 | public void saveReportGroup(1.5.0/docs/api/java/lang/String.html">String title,1.5.0/docs/api/java/lang/String.html">String classType, UserSession userSession) throws 1.5.0/docs/api/java/lang/ClassNotFoundException.html">ClassNotFoundException, 1.5.0/docs/api/java/lang/IllegalAccessException.html">IllegalAccessException, 1.5.0/docs/api/java/lang/InstantiationException.html">InstantiationException |
374 | { |
374 | { |
375 | QuestionarioReportFileGroup reportFileGroup = (QuestionarioReportFileGroup) 1.5.0/docs/api/java/lang/Class.html">Class.forName(classType).newInstance(); |
375 | QuestionarioReportFileGroup reportFileGroup = (QuestionarioReportFileGroup) 1.5.0/docs/api/java/lang/Class.html">Class.forName(classType).newInstance(); |
376 | reportFileGroup.setTitle(title); |
376 | reportFileGroup.setTitle(title); |
- | 377 | 1.5.0/docs/api/java/lang/String.html">String processorClassForGroup = ConfigProperties.getProperty("questionarios.processor." + classType); |
|
- | 378 | reportFileGroup.setReportProcessorClass(processorClassForGroup); |
|
377 | AbstractDao.getCurrentSession().save(reportFileGroup); |
379 | AbstractDao.getCurrentSession().save(reportFileGroup); |
378 | } |
380 | } |
379 | 381 | ||
380 | } |
382 | } |
381 | 383 |