Rev 1455 | Rev 1457 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1455 | Rev 1456 | ||
---|---|---|---|
1 | package pt.estgp.estgweb.services.questionarios; |
1 | package pt.estgp.estgweb.services.questionarios; |
2 | 2 | ||
3 | import org.apache.log4j.Logger; |
3 | import org.apache.log4j.Logger; |
4 | import pt.estgp.estgweb.Globals; |
4 | import pt.estgp.estgweb.Globals; |
5 | import pt.estgp.estgweb.domain.*; |
5 | import pt.estgp.estgweb.domain.*; |
6 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
6 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
7 | import pt.estgp.estgweb.domain.dao.impl.AnnouncementDaoImpl; |
7 | import pt.estgp.estgweb.domain.dao.impl.AnnouncementDaoImpl; |
8 | import pt.estgp.estgweb.domain.views.QuestionarioView; |
8 | import pt.estgp.estgweb.domain.views.QuestionarioView; |
9 | import pt.estgp.estgweb.services.email.EMAILJob; |
9 | import pt.estgp.estgweb.services.email.EMAILJob; |
10 | import pt.estgp.estgweb.services.email.EMAILJobPersonalizedCertificated; |
10 | import pt.estgp.estgweb.services.email.EMAILJobPersonalizedCertificated; |
11 | import pt.estgp.estgweb.services.email.SendEmailService; |
11 | import pt.estgp.estgweb.services.email.SendEmailService; |
12 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
12 | import pt.estgp.estgweb.services.jobs.JobScheduleService; |
- | 13 | import pt.estgp.estgweb.utils.ConfigProperties; |
|
13 | import pt.estgp.estgweb.utils.Email; |
14 | import pt.estgp.estgweb.utils.Email; |
14 | import pt.estgp.estgweb.utils.EmailPersonalizedCertificated; |
15 | import pt.estgp.estgweb.utils.EmailPersonalizedCertificated; |
15 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
16 | import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
16 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
17 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
17 | 18 | ||
18 | import java.util.*; |
19 | import java.util.*; |
19 | 20 | ||
20 | /** |
21 | /** |
21 | * Created by jorgemachado on 21/03/16. |
22 | * Created by jorgemachado on 21/03/16. |
22 | */ |
23 | */ |
23 | public class QuestionariosService implements IService |
24 | public class QuestionariosService implements IService |
24 | { |
25 | { |
25 | 26 | ||
26 | 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); |
27 | 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); |
27 | 28 | ||
28 | //NEW QUESTIONARIOS COME BY THIS SERVICE |
29 | //NEW QUESTIONARIOS COME BY THIS SERVICE |
29 | public QuestionarioImpl newQuestionarioForm(QuestionarioImpl qform, UserSession userSession) throws NotAuthorizedException |
30 | public QuestionarioImpl newQuestionarioForm(QuestionarioImpl qform, UserSession userSession) throws NotAuthorizedException |
30 | { |
31 | { |
31 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
32 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
32 | { |
33 | { |
33 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
34 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
34 | qform.setQuestionarioHistoryDrive(hist); |
35 | qform.setQuestionarioHistoryDrive(hist); |
35 | } |
36 | } |
36 | else |
37 | else |
37 | { |
38 | { |
38 | qform.setQuestionarioHistoryDrive(null); |
39 | qform.setQuestionarioHistoryDrive(null); |
39 | } |
40 | } |
40 | DaoFactory.getQuestionarioDaoImpl().save(qform); |
41 | DaoFactory.getQuestionarioDaoImpl().save(qform); |
41 | return qform; |
42 | return qform; |
42 | } |
43 | } |
43 | public QuestionarioImpl saveQuestionarioForm(QuestionarioImpl qform, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
44 | public QuestionarioImpl saveQuestionarioForm(QuestionarioImpl qform, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
44 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
45 | if(qform.getQuestionarioHistoryDrive().getId() > 0) |
45 | { |
46 | { |
46 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
47 | QuestionarioHistoryDrive hist = DaoFactory.getQuestionarioHistoryDriveDaoImpl().load(qform.getQuestionarioHistoryDrive().getId()); |
47 | qform.setQuestionarioHistoryDrive(hist); |
48 | qform.setQuestionarioHistoryDrive(hist); |
48 | } |
49 | } |
49 | else |
50 | else |
50 | { |
51 | { |
51 | qform.setQuestionarioHistoryDrive(null); |
52 | qform.setQuestionarioHistoryDrive(null); |
52 | } |
53 | } |
53 | Questionario qPersistent = questionarioCleared; |
54 | Questionario qPersistent = questionarioCleared; |
54 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_FORM.name())) |
55 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_FORM.name())) |
55 | { |
56 | { |
56 | QuestionarioView qv = new QuestionarioView(qform); |
57 | QuestionarioView qv = new QuestionarioView(qform); |
57 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_ANSWER_PROCESSOR.name())) |
58 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SAVE_ANSWER_PROCESSOR.name())) |
58 | { |
59 | { |
59 | qv.persistAnswersProcessor(qPersistent); |
60 | qv.persistAnswersProcessor(qPersistent); |
60 | } |
61 | } |
61 | qv.persistViewInObjectForm(qPersistent); |
62 | qv.persistViewInObjectForm(qPersistent); |
62 | qPersistent.setQuestionarioHistoryDrive(qform.getQuestionarioHistoryDrive()); |
63 | qPersistent.setQuestionarioHistoryDrive(qform.getQuestionarioHistoryDrive()); |
63 | } |
64 | } |
64 | else |
65 | else |
65 | throw new NotAuthorizedException("Não pode alterar o formulário porque o questionário está num estado avançado"); |
66 | throw new NotAuthorizedException("Não pode alterar o formulário porque o questionário está num estado avançado"); |
66 | 67 | ||
67 | return loadInit(questionarioCleared); |
68 | return loadInit(questionarioCleared); |
68 | } |
69 | } |
69 | 70 | ||
70 | public QuestionarioImpl setAssignDetailsState(long id, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
71 | public QuestionarioImpl setAssignDetailsState(long id, UserSession userSession, QuestionarioImpl questionarioCleared) throws NotAuthorizedException { |
71 | 72 | ||
72 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SET_STATE_ASSIGNATION_DETAILS.name())) |
73 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SET_STATE_ASSIGNATION_DETAILS.name())) |
73 | { |
74 | { |
74 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
75 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
75 | questionarioCleared.getiAnswersProcessorClass().startAfetacoes(questionarioCleared); |
76 | questionarioCleared.getiAnswersProcessorClass().startAfetacoes(questionarioCleared); |
76 | } |
77 | } |
77 | else |
78 | else |
78 | throw new NotAuthorizedException("Não alterar o questionário para este estado neste momento"); |
79 | throw new NotAuthorizedException("Não alterar o questionário para este estado neste momento"); |
79 | 80 | ||
80 | return loadInit(questionarioCleared); |
81 | return loadInit(questionarioCleared); |
81 | } |
82 | } |
82 | /** |
83 | /** |
83 | * Questionario comes already cleared from Filter |
84 | * Questionario comes already cleared from Filter |
84 | * @param questionarioId |
85 | * @param questionarioId |
85 | * @param questionarioCleared |
86 | * @param questionarioCleared |
86 | * @param userSession |
87 | * @param userSession |
87 | * @return |
88 | * @return |
88 | */ |
89 | */ |
89 | public QuestionarioImpl loadQuestionario(long questionarioId,UserSession userSession,QuestionarioImpl questionarioCleared) |
90 | public QuestionarioImpl loadQuestionario(long questionarioId,UserSession userSession,QuestionarioImpl questionarioCleared) |
90 | { |
91 | { |
91 | return loadInit(questionarioCleared); |
92 | return loadInit(questionarioCleared); |
92 | } |
93 | } |
93 | 94 | ||
94 | /** |
95 | /** |
95 | * just to load proxys |
96 | * just to load proxys |
96 | * @param questionarioCleared |
97 | * @param questionarioCleared |
97 | * @return |
98 | * @return |
98 | */ |
99 | */ |
99 | private QuestionarioImpl loadInit(QuestionarioImpl questionarioCleared) |
100 | private QuestionarioImpl loadInit(QuestionarioImpl questionarioCleared) |
100 | { |
101 | { |
101 | questionarioCleared.getDescription();//to load proxy just in case |
102 | questionarioCleared.getDescription();//to load proxy just in case |
102 | if(questionarioCleared.getQuestionarioHistoryDrive() != null) |
103 | if(questionarioCleared.getQuestionarioHistoryDrive() != null) |
103 | questionarioCleared.getQuestionarioHistoryDrive().getCodeName(); |
104 | questionarioCleared.getQuestionarioHistoryDrive().getCodeName(); |
104 | IAnswersProcessor processor = questionarioCleared.getiAnswersProcessorClass(); |
105 | IAnswersProcessor processor = questionarioCleared.getiAnswersProcessorClass(); |
105 | processor.initQuestionarioAfetacoesVariables(questionarioCleared); |
106 | processor.initQuestionarioAfetacoesVariables(questionarioCleared); |
106 | return questionarioCleared; |
107 | return questionarioCleared; |
107 | } |
108 | } |
108 | 109 | ||
109 | public void loadInit(List<QuestionarioImpl> questionarioCleared) |
110 | public void loadInit(List<QuestionarioImpl> questionarioCleared) |
110 | { |
111 | { |
111 | for(QuestionarioImpl q: questionarioCleared) |
112 | for(QuestionarioImpl q: questionarioCleared) |
112 | { |
113 | { |
113 | loadInit(q); |
114 | loadInit(q); |
114 | } |
115 | } |
115 | } |
116 | } |
116 | 117 | ||
117 | 118 | ||
118 | 119 | ||
119 | public void deleteQuestionario(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
120 | public void deleteQuestionario(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
120 | { |
121 | { |
121 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_DELETE.name())) |
122 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_DELETE.name())) |
122 | { |
123 | { |
123 | DaoFactory.getQuestionarioDaoImpl().delete(questionarioCleared); |
124 | DaoFactory.getQuestionarioDaoImpl().delete(questionarioCleared); |
124 | } |
125 | } |
125 | } |
126 | } |
126 | 127 | ||
127 | /** |
128 | /** |
128 | * Passa para o estado ASSIGNED_ANSWERS |
129 | * Passa para o estado ASSIGNED_ANSWERS |
129 | * @param questionarioId |
130 | * @param questionarioId |
130 | * @param userSession |
131 | * @param userSession |
131 | * @param questionarioCleared |
132 | * @param questionarioCleared |
132 | * @return |
133 | * @return |
133 | */ |
134 | */ |
134 | public QuestionarioImpl putAssignedAnswers(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
135 | public QuestionarioImpl putAssignedAnswers(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
135 | { |
136 | { |
136 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_PUT_ANSWERS_ASSIGNED.toString())) |
137 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_PUT_ANSWERS_ASSIGNED.toString())) |
137 | { |
138 | { |
138 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
139 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
139 | } |
140 | } |
140 | return questionarioCleared; |
141 | return questionarioCleared; |
141 | } |
142 | } |
142 | 143 | ||
143 | public QuestionarioImpl revertAssignationDetails(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
144 | public QuestionarioImpl revertAssignationDetails(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
144 | { |
145 | { |
145 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_REVERT_TO_ASSIGNATION_DETAILS.toString())) |
146 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_REVERT_TO_ASSIGNATION_DETAILS.toString())) |
146 | { |
147 | { |
147 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
148 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNATION_DETAILS); |
148 | } |
149 | } |
149 | return questionarioCleared; |
150 | return questionarioCleared; |
150 | } |
151 | } |
151 | 152 | ||
152 | public QuestionarioImpl startProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
153 | public QuestionarioImpl startProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
153 | { |
154 | { |
154 | 155 | ||
155 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_START_PROCESSEMENT.toString())) |
156 | if(questionarioCleared.isClear((UserSessionImpl) userSession, QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_START_PROCESSEMENT.toString())) |
156 | { |
157 | { |
157 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS) |
158 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS) |
158 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING); |
159 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING); |
159 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS) |
160 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS) |
160 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
161 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
161 | } |
162 | } |
162 | return questionarioCleared; |
163 | return questionarioCleared; |
163 | } |
164 | } |
164 | 165 | ||
165 | public QuestionarioImpl stopProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
166 | public QuestionarioImpl stopProcessement(long questionarioId, UserSession userSession,QuestionarioImpl questionarioCleared) |
166 | { |
167 | { |
167 | 168 | ||
168 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_STOP_PROCESSEMENT.toString())) |
169 | if(questionarioCleared.isClear((UserSessionImpl) userSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_STOP_PROCESSEMENT.toString())) |
169 | { |
170 | { |
170 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING) |
171 | if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING) |
171 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
172 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.ASSIGNED_ANSWERS); |
172 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS) |
173 | else if(questionarioCleared.getStateEnum() == QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS) |
173 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS); |
174 | questionarioCleared.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.STOPED_WITH_ANSWERS); |
174 | } |
175 | } |
175 | return questionarioCleared; |
176 | return questionarioCleared; |
176 | } |
177 | } |
177 | 178 | ||
178 | public void salvarResposta(QuestionarioResposta resposta,1.5.0/docs/api/java/lang/Long.html">Long alunoRequisitadoId,UserSession userSession) throws NotAuthorizedException { |
179 | public void salvarResposta(QuestionarioResposta resposta,1.5.0/docs/api/java/lang/Long.html">Long alunoRequisitadoId,UserSession userSession) throws NotAuthorizedException { |
179 | Questionario q = DaoFactory.getQuestionarioDaoImpl().load(resposta.getQuestionario().getId()); |
180 | Questionario q = DaoFactory.getQuestionarioDaoImpl().load(resposta.getQuestionario().getId()); |
180 | QuestionarioImpl questionario = (QuestionarioImpl) DaoFactory.getQuestionarioDaoImpl().narrow(q); |
181 | QuestionarioImpl questionario = (QuestionarioImpl) DaoFactory.getQuestionarioDaoImpl().narrow(q); |
181 | QuestionarioPedagogicoAlunoRequisitado alunoRequisitado = DaoFactory.getQuestionarioPedagogicoAlunoRequisitadoDaoImpl().load(alunoRequisitadoId); |
182 | QuestionarioPedagogicoAlunoRequisitado alunoRequisitado = DaoFactory.getQuestionarioPedagogicoAlunoRequisitadoDaoImpl().load(alunoRequisitadoId); |
182 | 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 ) |
183 | 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 ) |
183 | { |
184 | { |
184 | throw new NotAuthorizedException("O questionário interrompido por razões administrativas, por favor tente mais tarde"); |
185 | throw new NotAuthorizedException("O questionário interrompido por razões administrativas, por favor tente mais tarde"); |
185 | } |
186 | } |
186 | if(!((alunoRequisitado.getRespostaRequisitada().getQuestionario().getId() == questionario.getId()) |
187 | if(!((alunoRequisitado.getRespostaRequisitada().getQuestionario().getId() == questionario.getId()) |
187 | && |
188 | && |
188 | alunoRequisitado.getRespostaRequisitada().getResposta() == null |
189 | alunoRequisitado.getRespostaRequisitada().getResposta() == null |
189 | && |
190 | && |
190 | alunoRequisitado.getAluno().getId() == userSession.getUser().getId())) |
191 | alunoRequisitado.getAluno().getId() == userSession.getUser().getId())) |
191 | { |
192 | { |
192 | throw new NotAuthorizedException("Não está autorizado a submeter esta resposta."); |
193 | throw new NotAuthorizedException("Não está autorizado a submeter esta resposta."); |
193 | } |
194 | } |
194 | 195 | ||
195 | resposta.setId(0); |
196 | resposta.setId(0); |
196 | resposta.setQuestionario(questionario); |
197 | resposta.setQuestionario(questionario); |
197 | resposta.setUser(alunoRequisitado.getAluno()); |
198 | resposta.setUser(alunoRequisitado.getAluno()); |
198 | alunoRequisitado.getRespostaRequisitada().setResposta(resposta); |
199 | alunoRequisitado.getRespostaRequisitada().setResposta(resposta); |
199 | DaoFactory.getQuestionarioRespostaDaoImpl().save(resposta); |
200 | DaoFactory.getQuestionarioRespostaDaoImpl().save(resposta); |
200 | questionario.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
201 | questionario.setStateClass(QuestionarioImpl.1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/State.html">State.PROCESSING_WITH_ANSWERS); |
201 | } |
202 | } |
202 | 203 | ||
203 | 204 | ||
204 | SendEmailService sendEmailService = new SendEmailService(); |
205 | SendEmailService sendEmailService = new SendEmailService(); |
205 | 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) |
206 | 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) |
206 | { |
207 | { |
207 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
208 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario message"; |
208 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIds(id, onlyNotAnswered); |
209 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIds(id, onlyNotAnswered); |
209 | 210 | ||
210 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
211 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
211 | } |
212 | } |
212 | 213 | ||
213 | 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) |
214 | 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) |
214 | { |
215 | { |
215 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
216 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario curso message"; |
216 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, id, 0); |
217 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, id, 0); |
217 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
218 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
218 | } |
219 | } |
219 | 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) |
220 | 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) |
220 | { |
221 | { |
221 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario unidade message"; |
222 | 1.5.0/docs/api/java/lang/String.html">String source = "questionario unidade message"; |
222 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, 0, id); |
223 | AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogico(onlyNotAnswered, 0, id); |
223 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
224 | return sendEmails(id, msg, emailFrom, personFrom, subject, userSession, source, result); |
224 | } |
225 | } |
225 | 226 | ||
226 | 227 | ||
227 | 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) { |
228 | 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) { |
228 | List<Long> usersToConsume = result.userIds; |
229 | List<Long> usersToConsume = result.userIds; |
229 | 230 | ||
230 | 231 | ||
231 | logger.info("Scheduling mail jobs to " + result.users + " users: " + usersToConsume.size() + " recipients"); |
232 | logger.info("Scheduling mail jobs to " + result.users + " users: " + usersToConsume.size() + " recipients"); |
232 | //while(usersToConsume.size() > 0) |
233 | //while(usersToConsume.size() > 0) |
233 | //{ |
234 | //{ |
234 | // Iterator<String> iter = usersToConsume.iterator(); |
235 | // Iterator<String> iter = usersToConsume.iterator(); |
235 | // List<String> usersToJob = new ArrayList<String>(); |
236 | // List<String> usersToJob = new ArrayList<String>(); |
236 | // int contador = 0; |
237 | // int contador = 0; |
237 | // while(iter.hasNext() && contador < 20) |
238 | // while(iter.hasNext() && contador < 20) |
238 | // { |
239 | // { |
239 | // usersToJob.add(iter.next()); |
240 | // usersToJob.add(iter.next()); |
240 | // iter.remove(); |
241 | // iter.remove(); |
241 | // contador++; |
242 | // contador++; |
242 | // } |
243 | // } |
243 | 244 | ||
244 | 1.5.0/docs/api/java/lang/String.html">String suffix = Globals.SYSTEM_EMAIL_CERTIFICATED_HOME_PAGE; |
245 | 1.5.0/docs/api/java/lang/String.html">String suffix = Globals.SYSTEM_EMAIL_CERTIFICATED_HOME_PAGE; |
245 | if(suffix.startsWith("/")) |
246 | if(suffix.startsWith("/")) |
246 | suffix = suffix.substring(1); |
247 | suffix = suffix.substring(1); |
247 | 1.5.0/docs/api/java/lang/String.html">String url = Globals.SITE_URL.endsWith("/") ? Globals.SITE_URL + suffix : Globals.SITE_URL + "/" + suffix; |
248 | 1.5.0/docs/api/java/lang/String.html">String url = Globals.SITE_URL.endsWith("/") ? Globals.SITE_URL + suffix : Globals.SITE_URL + "/" + suffix; |
248 | 249 | ||
249 | EmailPersonalizedCertificated e = sendEmailService.getMessageEmailAdulteredFromEmailIppCertificated(emailFrom, |
250 | EmailPersonalizedCertificated e = sendEmailService.getMessageEmailAdulteredFromEmailIppCertificated(emailFrom, |
250 | personFrom, |
251 | personFrom, |
251 | subject, |
252 | subject, |
252 | msg, |
253 | msg, |
253 | userSession.getUser(), |
254 | userSession.getUser(), |
254 | usersToConsume, |
255 | usersToConsume, |
255 | url); |
256 | url); |
256 | 257 | ||
257 | e.setHtml(true); |
258 | e.setHtml(true); |
258 | EMAILJobPersonalizedCertificated emailJob = new EMAILJobPersonalizedCertificated(e); |
259 | EMAILJobPersonalizedCertificated emailJob = new EMAILJobPersonalizedCertificated(e); |
259 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
260 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
260 | //} |
261 | //} |
261 | enviarComprovativoAoRemetente(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
262 | enviarComprovativoAoRemetente(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
- | 263 | enviarComprovativoAAdministracao(id, msg, emailFrom, personFrom, subject, userSession, source,usersToConsume.size()); |
|
262 | return result.users; |
264 | return result.users; |
263 | } |
265 | } |
- | 266 | ||
- | 267 | 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) |
|
- | 268 | { |
|
- | 269 | ||
- | 270 | ||
- | 271 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
|
- | 272 | personFrom, |
|
- | 273 | subject + " (COMPROVATIVO PAE) ", |
|
- | 274 | "<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, |
|
- | 275 | ConfigProperties.getListValuesByPrefix("admin.email"), |
|
- | 276 | userSession.getUser()); |
|
- | 277 | ||
- | 278 | e.setHtml(true); |
|
- | 279 | EMAILJob emailJob = new EMAILJob(e); |
|
- | 280 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
|
- | 281 | } |
|
264 | 282 | ||
265 | 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) |
283 | 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) |
266 | { |
284 | { |
267 | Map<String,String> emailsComprovativos = new HashMap<String, String>(); |
285 | Map<String,String> emailsComprovativos = new HashMap<String, String>(); |
268 | if(Email.validEmail(userSession.getUser().getEmail())) |
286 | if(Email.validEmail(userSession.getUser().getEmail())) |
269 | emailsComprovativos.put(userSession.getUser().getEmail(),""); |
287 | emailsComprovativos.put(userSession.getUser().getEmail(),""); |
270 | if(Email.validEmail(userSession.getUser().getOutEmail())) |
288 | if(Email.validEmail(userSession.getUser().getOutEmail())) |
271 | emailsComprovativos.put(userSession.getUser().getOutEmail(),""); |
289 | emailsComprovativos.put(userSession.getUser().getOutEmail(),""); |
272 | if(Email.validEmail(userSession.getUser().getPreferrefEmail())) |
290 | if(Email.validEmail(userSession.getUser().getPreferrefEmail())) |
273 | emailsComprovativos.put(userSession.getUser().getPreferrefEmail(),""); |
291 | emailsComprovativos.put(userSession.getUser().getPreferrefEmail(),""); |
274 | List<String> comprovativos = new ArrayList<String>(); |
292 | List<String> comprovativos = new ArrayList<String>(); |
275 | comprovativos.addAll(emailsComprovativos.keySet()); |
293 | comprovativos.addAll(emailsComprovativos.keySet()); |
276 | if(comprovativos.size() > 0) |
294 | if(comprovativos.size() > 0) |
277 | { |
295 | { |
278 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
296 | Email e = sendEmailService.getMessageEmailAdulteredFromEmailIpp(emailFrom, |
279 | personFrom, |
297 | personFrom, |
280 | subject + " (COMPROVATIVO PAE) ", |
298 | subject + " (COMPROVATIVO PAE) ", |
281 | "<u>Olá " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
299 | "<u>Olá " + userSession.getUser().getName() + " - Este é um comprovativo do seu envio de mensagem a " + sentTo + " Alunos</u><br/><br/>" + msg, |
282 | comprovativos, |
300 | comprovativos, |
283 | userSession.getUser()); |
301 | userSession.getUser()); |
284 | 302 | ||
285 | e.setHtml(true); |
303 | e.setHtml(true); |
286 | EMAILJob emailJob = new EMAILJob(e); |
304 | EMAILJob emailJob = new EMAILJob(e); |
287 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
305 | JobScheduleService.getInstance().scheduleNow(emailJob,"Message Email (" + source + ":id " + id + ") from " + userSession.getUsername() + " as " + personFrom + " - subject:" + subject ,userSession); |
288 | } |
306 | } |
289 | } |
307 | } |
290 | 308 | ||
291 | 309 | ||
292 | } |
310 | } |
293 | 311 |