Commit f969816fdfe077e0ec339ae560e4087fca144613
1 parent
be367201
Exists in
master
Correções e melhorias no workflow
Showing
14 changed files
with
153 additions
and
10 deletions
Show diff stats
cit-esi-api/src/main/java/br/com/centralit/esi/api/document/dao/DocumentDao.java
@@ -25,4 +25,6 @@ public interface DocumentDao extends CitGenericDAO { | @@ -25,4 +25,6 @@ public interface DocumentDao extends CitGenericDAO { | ||
25 | 25 | ||
26 | List<Document> findByProcessInstance(Long processInstanceId); | 26 | List<Document> findByProcessInstance(Long processInstanceId); |
27 | 27 | ||
28 | + List<Document> findByWorkItem(Long workItemId); | ||
29 | + | ||
28 | } | 30 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/document/dao/impl/DocumentDaoHibernate.java
@@ -57,4 +57,17 @@ public class DocumentDaoHibernate extends CitGenericDAOImpl implements DocumentD | @@ -57,4 +57,17 @@ public class DocumentDaoHibernate extends CitGenericDAOImpl implements DocumentD | ||
57 | 57 | ||
58 | return query.getResultList(); | 58 | return query.getResultList(); |
59 | } | 59 | } |
60 | + | ||
61 | + @SuppressWarnings("unchecked") | ||
62 | + @Override | ||
63 | + public List<Document> findByWorkItem(Long workItemId) { | ||
64 | + String queryString = "select document from Document as document" | ||
65 | + + " where document.workItem.id = :workItemId" | ||
66 | + + " and document.dataInativo is null "; | ||
67 | + | ||
68 | + Query query = em().createQuery(queryString); | ||
69 | + query.setParameter("workItemId", workItemId); | ||
70 | + | ||
71 | + return query.getResultList(); | ||
72 | + } | ||
60 | } | 73 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/document/service/DocumentService.java
@@ -28,4 +28,6 @@ public interface DocumentService extends GenericService<Document, Long> { | @@ -28,4 +28,6 @@ public interface DocumentService extends GenericService<Document, Long> { | ||
28 | void buildDocument(String name, MultipartFile file, Long documentId, Long documentType, String documentDescription, Long processInstanceId, Long workItemId); | 28 | void buildDocument(String name, MultipartFile file, Long documentId, Long documentType, String documentDescription, Long processInstanceId, Long workItemId); |
29 | 29 | ||
30 | List<Document> findByProcessInstance(Long processInstanceId); | 30 | List<Document> findByProcessInstance(Long processInstanceId); |
31 | + | ||
32 | + List<Document> findByWorkItem(Long workItemId); | ||
31 | } | 33 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/document/service/impl/DocumentServiceImpl.java
@@ -126,4 +126,9 @@ public class DocumentServiceImpl extends GenericServiceImpl<Document, Long> impl | @@ -126,4 +126,9 @@ public class DocumentServiceImpl extends GenericServiceImpl<Document, Long> impl | ||
126 | return documentDao.findByProcessInstance(processInstanceId); | 126 | return documentDao.findByProcessInstance(processInstanceId); |
127 | } | 127 | } |
128 | 128 | ||
129 | + @Override | ||
130 | + public List<Document> findByWorkItem(Long workItemId) { | ||
131 | + return documentDao.findByWorkItem(workItemId); | ||
132 | + } | ||
133 | + | ||
129 | } | 134 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/service/ProcessInstanceServiceBase.java
@@ -52,5 +52,7 @@ public interface ProcessInstanceServiceBase extends GenericService<ProcessInstan | @@ -52,5 +52,7 @@ public interface ProcessInstanceServiceBase extends GenericService<ProcessInstan | ||
52 | public void addMessage(RuntimeEnvironment runtimeEnvironment, ProcessInstance processInstance, NotificationTemplate notificationTemplate, User[] users, Group[] groups, List<File> files); | 52 | public void addMessage(RuntimeEnvironment runtimeEnvironment, ProcessInstance processInstance, NotificationTemplate notificationTemplate, User[] users, Group[] groups, List<File> files); |
53 | 53 | ||
54 | public void sendMessages(RuntimeEnvironment runtimeEnvironment, ProcessInstance processInstance); | 54 | public void sendMessages(RuntimeEnvironment runtimeEnvironment, ProcessInstance processInstance); |
55 | + | ||
56 | + void sendNotificationForAssignments(RuntimeEnvironment runtimeEnvironment, Long userTaskItemId, String notificationTemplateName, boolean sendAttachedFiles); | ||
55 | 57 | ||
56 | } | 58 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/service/impl/ProcessInstanceServiceBaseImpl.java
1 | package br.com.centralit.esi.api.execution.service.impl; | 1 | package br.com.centralit.esi.api.execution.service.impl; |
2 | 2 | ||
3 | import java.io.File; | 3 | import java.io.File; |
4 | +import java.io.FileOutputStream; | ||
5 | +import java.io.IOException; | ||
4 | import java.util.ArrayList; | 6 | import java.util.ArrayList; |
5 | import java.util.Arrays; | 7 | import java.util.Arrays; |
6 | import java.util.Calendar; | 8 | import java.util.Calendar; |
@@ -21,6 +23,8 @@ import br.com.centralit.esi.api.design.model.FlowVersion; | @@ -21,6 +23,8 @@ import br.com.centralit.esi.api.design.model.FlowVersion; | ||
21 | import br.com.centralit.esi.api.design.model.event.Event; | 23 | import br.com.centralit.esi.api.design.model.event.Event; |
22 | import br.com.centralit.esi.api.design.service.FlowActionService; | 24 | import br.com.centralit.esi.api.design.service.FlowActionService; |
23 | import br.com.centralit.esi.api.design.service.FlowConnectionService; | 25 | import br.com.centralit.esi.api.design.service.FlowConnectionService; |
26 | +import br.com.centralit.esi.api.document.model.Document; | ||
27 | +import br.com.centralit.esi.api.document.service.DocumentService; | ||
24 | import br.com.centralit.esi.api.enumerated.ActorTypeEnum; | 28 | import br.com.centralit.esi.api.enumerated.ActorTypeEnum; |
25 | import br.com.centralit.esi.api.enumerated.EstimateTimeTypeEnum; | 29 | import br.com.centralit.esi.api.enumerated.EstimateTimeTypeEnum; |
26 | import br.com.centralit.esi.api.enumerated.ProcessInstanceStatusEnum; | 30 | import br.com.centralit.esi.api.enumerated.ProcessInstanceStatusEnum; |
@@ -32,6 +36,7 @@ import br.com.centralit.esi.api.execution.model.ProcessInstance; | @@ -32,6 +36,7 @@ import br.com.centralit.esi.api.execution.model.ProcessInstance; | ||
32 | import br.com.centralit.esi.api.execution.model.ProcessInstanceVariable; | 36 | import br.com.centralit.esi.api.execution.model.ProcessInstanceVariable; |
33 | import br.com.centralit.esi.api.execution.model.UserTaskItem; | 37 | import br.com.centralit.esi.api.execution.model.UserTaskItem; |
34 | import br.com.centralit.esi.api.execution.model.WorkItem; | 38 | import br.com.centralit.esi.api.execution.model.WorkItem; |
39 | +import br.com.centralit.esi.api.execution.model.WorkItemAssignment; | ||
35 | import br.com.centralit.esi.api.execution.service.ProcessInstanceServiceBase; | 40 | import br.com.centralit.esi.api.execution.service.ProcessInstanceServiceBase; |
36 | import br.com.centralit.esi.api.execution.service.ProcessInstanceVariableService; | 41 | import br.com.centralit.esi.api.execution.service.ProcessInstanceVariableService; |
37 | import br.com.centralit.esi.api.execution.service.ProcessInstanceVariableValueService; | 42 | import br.com.centralit.esi.api.execution.service.ProcessInstanceVariableValueService; |
@@ -43,6 +48,7 @@ import br.com.centralit.esi.api.notification.model.Message; | @@ -43,6 +48,7 @@ import br.com.centralit.esi.api.notification.model.Message; | ||
43 | import br.com.centralit.esi.api.notification.model.Notification; | 48 | import br.com.centralit.esi.api.notification.model.Notification; |
44 | import br.com.centralit.esi.api.notification.model.NotificationTemplate; | 49 | import br.com.centralit.esi.api.notification.model.NotificationTemplate; |
45 | import br.com.centralit.esi.api.notification.service.NotificationService; | 50 | import br.com.centralit.esi.api.notification.service.NotificationService; |
51 | +import br.com.centralit.esi.api.notification.service.NotificationTemplateService; | ||
46 | import br.com.centralit.esi.api.parameter.model.Parameter; | 52 | import br.com.centralit.esi.api.parameter.model.Parameter; |
47 | import br.com.centralit.esi.api.parameter.service.ParameterService; | 53 | import br.com.centralit.esi.api.parameter.service.ParameterService; |
48 | import br.com.centralit.esi.api.runtime.RuntimeContext; | 54 | import br.com.centralit.esi.api.runtime.RuntimeContext; |
@@ -53,6 +59,7 @@ import br.com.centralit.esi.api.security.model.User; | @@ -53,6 +59,7 @@ import br.com.centralit.esi.api.security.model.User; | ||
53 | import br.com.centralit.esi.api.security.service.SecurityService; | 59 | import br.com.centralit.esi.api.security.service.SecurityService; |
54 | import br.com.centralit.esi.api.subscriber.model.Subscriber; | 60 | import br.com.centralit.esi.api.subscriber.model.Subscriber; |
55 | import br.com.centralit.esi.api.util.EsiAppUtils; | 61 | import br.com.centralit.esi.api.util.EsiAppUtils; |
62 | +import br.com.centralit.esi.exception.EsiBusinessException; | ||
56 | import br.com.centralit.framework.exception.BusinessException; | 63 | import br.com.centralit.framework.exception.BusinessException; |
57 | import br.com.centralit.framework.mail.HTMLMail; | 64 | import br.com.centralit.framework.mail.HTMLMail; |
58 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | 65 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
@@ -103,7 +110,13 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | @@ -103,7 +110,13 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | ||
103 | private NotificationService notificationService; | 110 | private NotificationService notificationService; |
104 | 111 | ||
105 | @Autowired | 112 | @Autowired |
113 | + private NotificationTemplateService notificationTemplateService; | ||
114 | + | ||
115 | + @Autowired | ||
106 | protected SecurityService securityService; | 116 | protected SecurityService securityService; |
117 | + | ||
118 | + @Autowired | ||
119 | + protected DocumentService documentService; | ||
107 | 120 | ||
108 | protected ProcessInstanceDao processInstanceDao; | 121 | protected ProcessInstanceDao processInstanceDao; |
109 | 122 | ||
@@ -177,6 +190,7 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | @@ -177,6 +190,7 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | ||
177 | runtimeEnvironment.addOrUpdateObject("processInstanceService", this); | 190 | runtimeEnvironment.addOrUpdateObject("processInstanceService", this); |
178 | runtimeEnvironment.addOrUpdateObject("processInstance", processInstance); | 191 | runtimeEnvironment.addOrUpdateObject("processInstance", processInstance); |
179 | runtimeEnvironment.addOrUpdateObject("userTaskService", workItemUserTaskService); | 192 | runtimeEnvironment.addOrUpdateObject("userTaskService", workItemUserTaskService); |
193 | + runtimeEnvironment.addOrUpdateObject("notificationTemplateService", notificationTemplateService); | ||
180 | } | 194 | } |
181 | 195 | ||
182 | 196 | ||
@@ -373,11 +387,12 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | @@ -373,11 +387,12 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | ||
373 | String HTMLText = runtimeEnvironment.parseString(message.getHTMLText()); | 387 | String HTMLText = runtimeEnvironment.parseString(message.getHTMLText()); |
374 | String from = runtimeEnvironment.parseString(message.getFrom()); | 388 | String from = runtimeEnvironment.parseString(message.getFrom()); |
375 | String subject = runtimeEnvironment.parseString(message.getSubject()); | 389 | String subject = runtimeEnvironment.parseString(message.getSubject()); |
390 | + subject = UtilString.isNullOrEmpty(subject) ? " " : subject; | ||
376 | 391 | ||
377 | - if (EsiAppUtils.BPE_SEND_EMAIL) { | 392 | + if (EsiAppUtils.BPE_SEND_EMAIL && !UtilString.isNullOrEmpty(HTMLText)) { |
378 | htmlMail.sendMail(message.getEmails(runtimeEnvironment), from, subject, HTMLText, message.getFiles()); | 393 | htmlMail.sendMail(message.getEmails(runtimeEnvironment), from, subject, HTMLText, message.getFiles()); |
379 | } | 394 | } |
380 | - if (EsiAppUtils.BPE_SEND_NOTIFICATION) { | 395 | + if (EsiAppUtils.BPE_SEND_NOTIFICATION && !UtilString.isNullOrEmpty(text)) { |
381 | Notification notification = new Notification(subject, text, message.getUsers() != null ? Arrays.asList(message.getUsers()) : null, message.getGroups() != null ? Arrays.asList(message.getGroups()) : null); | 396 | Notification notification = new Notification(subject, text, message.getUsers() != null ? Arrays.asList(message.getUsers()) : null, message.getGroups() != null ? Arrays.asList(message.getGroups()) : null); |
382 | notificationService.sendNotification(runtimeEnvironment, notification); | 397 | notificationService.sendNotification(runtimeEnvironment, notification); |
383 | } | 398 | } |
@@ -689,7 +704,7 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | @@ -689,7 +704,7 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | ||
689 | 704 | ||
690 | @Override | 705 | @Override |
691 | public void addMessage(RuntimeEnvironment runtimeEnvironment, ProcessInstance processInstance, NotificationTemplate notificationTemplate, User[] users, Group[] groups, List<File> files) { | 706 | public void addMessage(RuntimeEnvironment runtimeEnvironment, ProcessInstance processInstance, NotificationTemplate notificationTemplate, User[] users, Group[] groups, List<File> files) { |
692 | - if (!UtilString.isNullOrEmpty(notificationTemplate.getText())) { | 707 | + if (!UtilString.isNullOrEmpty(notificationTemplate.getText()) || !UtilString.isNullOrEmpty(notificationTemplate.getHTMLText())) { |
693 | String text = runtimeEnvironment.parseString(notificationTemplate.getText()); | 708 | String text = runtimeEnvironment.parseString(notificationTemplate.getText()); |
694 | String HTMLText = runtimeEnvironment.parseString(notificationTemplate.getHTMLText()); | 709 | String HTMLText = runtimeEnvironment.parseString(notificationTemplate.getHTMLText()); |
695 | String from = runtimeEnvironment.parseString(EsiAppUtils.BPE_EMAIL_FROM); | 710 | String from = runtimeEnvironment.parseString(EsiAppUtils.BPE_EMAIL_FROM); |
@@ -740,4 +755,83 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | @@ -740,4 +755,83 @@ public abstract class ProcessInstanceServiceBaseImpl extends GenericServiceImpl< | ||
740 | 755 | ||
741 | return processInstance; | 756 | return processInstance; |
742 | } | 757 | } |
758 | + | ||
759 | + public User[] getAssignedUsers(UserTaskItem userTask) { | ||
760 | + List<User> list = new ArrayList<User>(); | ||
761 | + if (userTask.getAssignments() != null) { | ||
762 | + for (WorkItemAssignment assignment : userTask.getAssignments()) { | ||
763 | + if (assignment.getUser() != null) { | ||
764 | + User user = securityService.getUser(assignment.getUser().getId()); | ||
765 | + if (user != null) { | ||
766 | + list.add(user); | ||
767 | + } | ||
768 | + } | ||
769 | + } | ||
770 | + | ||
771 | + User[] result = new User[list.size()]; | ||
772 | + list.toArray(result); | ||
773 | + | ||
774 | + return result; | ||
775 | + }else{ | ||
776 | + return new User[0]; | ||
777 | + } | ||
778 | + } | ||
779 | + | ||
780 | + public Group[] getAssignedGroups(UserTaskItem userTask) { | ||
781 | + List<Group> list = new ArrayList<Group>(); | ||
782 | + if (userTask.getAssignments() != null) { | ||
783 | + for (WorkItemAssignment assignment : userTask.getAssignments()) { | ||
784 | + if (assignment.getGroup() != null) { | ||
785 | + Group group = securityService.getGroup(assignment.getGroup().getId()); | ||
786 | + if (group != null) { | ||
787 | + list.add(group); | ||
788 | + } | ||
789 | + } | ||
790 | + } | ||
791 | + | ||
792 | + Group[] result = new Group[list.size()]; | ||
793 | + list.toArray(result); | ||
794 | + | ||
795 | + return result; | ||
796 | + }else{ | ||
797 | + return new Group[0]; | ||
798 | + } | ||
799 | + } | ||
800 | + | ||
801 | + @SuppressWarnings("resource") | ||
802 | + @Override | ||
803 | + public void sendNotificationForAssignments(RuntimeEnvironment runtimeEnvironment, Long userTaskItemId, String notificationTemplateName, boolean sendAttachedFiles) { | ||
804 | + NotificationTemplate notificationTemplate = notificationTemplateService.findByName(notificationTemplateName); | ||
805 | + if (notificationTemplate != null) { | ||
806 | + UserTaskItem userTaskItem = workItemUserTaskService.getReference(userTaskItemId); | ||
807 | + if (userTaskItem != null) { | ||
808 | + ProcessInstance processInstance = userTaskItem.getProcessInstance(); | ||
809 | + | ||
810 | + List<File> files = null; | ||
811 | + if (sendAttachedFiles) { | ||
812 | + List<Document> documents = documentService.findByProcessInstance(processInstance.getId()); | ||
813 | + if (documents != null) { | ||
814 | + files = new ArrayList<File>(); | ||
815 | + for (Document document : documents) { | ||
816 | + try { | ||
817 | + if (document.getAttachedFile() != null && document.getAttachedFile().getFile() != null) { | ||
818 | + File tempFile = File.createTempFile("temp", ""); | ||
819 | + FileOutputStream fos = new FileOutputStream(tempFile); | ||
820 | + fos.write(document.getAttachedFile().getFile()); | ||
821 | + | ||
822 | + files.add(tempFile); | ||
823 | + } | ||
824 | + } catch (IOException e) { | ||
825 | + e.printStackTrace(); | ||
826 | + throw new EsiBusinessException(e); | ||
827 | + } | ||
828 | + } | ||
829 | + } | ||
830 | + } | ||
831 | + | ||
832 | + this.addMessage(runtimeEnvironment, processInstance, notificationTemplate, this.getAssignedUsers(userTaskItem), this.getAssignedGroups(userTaskItem), files); | ||
833 | + this.sendMessages(runtimeEnvironment, processInstance); | ||
834 | + } | ||
835 | + } | ||
836 | + } | ||
743 | } | 837 | } |
744 | \ No newline at end of file | 838 | \ No newline at end of file |
cit-esi-api/src/main/java/br/com/centralit/esi/api/pack/service/impl/PackServiceImpl.java
@@ -175,7 +175,7 @@ public class PackServiceImpl extends GenericServiceImpl<Pack, Long> implements P | @@ -175,7 +175,7 @@ public class PackServiceImpl extends GenericServiceImpl<Pack, Long> implements P | ||
175 | if (pack.getNotifications() != null) { | 175 | if (pack.getNotifications() != null) { |
176 | for (NotificationTemplate notification : pack.getNotifications()) { | 176 | for (NotificationTemplate notification : pack.getNotifications()) { |
177 | notification = notificationTemplateService.save(notification, pack.getReplaceElement()); | 177 | notification = notificationTemplateService.save(notification, pack.getReplaceElement()); |
178 | - pack.getElements().add(new PackElement(pack, PackElementTypeEnum.NOTIFICATION, notification.getId(), notification.getName(), notification.getSubject())); | 178 | + pack.getElements().add(new PackElement(pack, PackElementTypeEnum.NOTIFICATION, notification.getId(), notification.getName(), notification.getDescription())); |
179 | } | 179 | } |
180 | } | 180 | } |
181 | if (pack.isNew()) { | 181 | if (pack.isNew()) { |
cit-esi-api/src/main/java/br/com/centralit/esi/api/util/ConvertUtilsESI.java
@@ -159,6 +159,18 @@ public class ConvertUtilsESI { | @@ -159,6 +159,18 @@ public class ConvertUtilsESI { | ||
159 | return str.length() == 24 && str.charAt(4) == '-' && str.charAt(7) == '-' && str.charAt(10) == 'T' && str.charAt(13) == ':'; | 159 | return str.length() == 24 && str.charAt(4) == '-' && str.charAt(7) == '-' && str.charAt(10) == 'T' && str.charAt(13) == ':'; |
160 | } | 160 | } |
161 | 161 | ||
162 | + public static boolean isTimestamp(final String str) { | ||
163 | + try { | ||
164 | + if (str.length() >= 19 && str.charAt(4) == '-' && str.charAt(7) == '-' && str.charAt(10) == ' ' && str.charAt(13) == ':') { | ||
165 | + Timestamp ts = Timestamp.valueOf(str); | ||
166 | + return ts != null; | ||
167 | + } | ||
168 | + | ||
169 | + } catch (Exception e) { | ||
170 | + } | ||
171 | + return false; | ||
172 | + } | ||
173 | + | ||
162 | /** | 174 | /** |
163 | * @param value | 175 | * @param value |
164 | * @return | 176 | * @return |
@@ -173,6 +185,9 @@ public class ConvertUtilsESI { | @@ -173,6 +185,9 @@ public class ConvertUtilsESI { | ||
173 | }else if (value instanceof Calendar) { | 185 | }else if (value instanceof Calendar) { |
174 | SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); | 186 | SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); |
175 | return dateFormat.format(((Calendar) value).getTime()); | 187 | return dateFormat.format(((Calendar) value).getTime()); |
188 | + }else if (value instanceof Timestamp) { | ||
189 | + SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); | ||
190 | + return dateFormat.format(((Timestamp) value).getTime()); | ||
176 | }else if (value instanceof Date) { | 191 | }else if (value instanceof Date) { |
177 | SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); | 192 | SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); |
178 | return dateFormat.format(((Date) value).getTime()); | 193 | return dateFormat.format(((Date) value).getTime()); |
@@ -645,5 +660,5 @@ public class ConvertUtilsESI { | @@ -645,5 +660,5 @@ public class ConvertUtilsESI { | ||
645 | 660 | ||
646 | return result; | 661 | return result; |
647 | } | 662 | } |
648 | - | 663 | + |
649 | } | 664 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/util/ParseUtilsESI.java
1 | package br.com.centralit.esi.api.util; | 1 | package br.com.centralit.esi.api.util; |
2 | 2 | ||
3 | import java.lang.reflect.Method; | 3 | import java.lang.reflect.Method; |
4 | +import java.sql.Timestamp; | ||
4 | import java.util.HashMap; | 5 | import java.util.HashMap; |
5 | 6 | ||
6 | import org.apache.commons.lang.text.StrSubstitutor; | 7 | import org.apache.commons.lang.text.StrSubstitutor; |
@@ -69,6 +70,8 @@ public class ParseUtilsESI { | @@ -69,6 +70,8 @@ public class ParseUtilsESI { | ||
69 | result = json.get(property); | 70 | result = json.get(property); |
70 | if (result instanceof String && ConvertUtilsESI.isJsonDate((String) result)) { | 71 | if (result instanceof String && ConvertUtilsESI.isJsonDate((String) result)) { |
71 | result = UtilDate.jsonToDate((String) result); | 72 | result = UtilDate.jsonToDate((String) result); |
73 | + }else if (result instanceof String && ConvertUtilsESI.isTimestamp((String) result)) { | ||
74 | + return Timestamp.valueOf((String) result); | ||
72 | } | 75 | } |
73 | } catch (Exception e) { | 76 | } catch (Exception e) { |
74 | } | 77 | } |
cit-esi-web/src/main/java/br/com/centralit/listener/StartupListenerEsi.java
@@ -848,7 +848,8 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | @@ -848,7 +848,8 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | ||
848 | str.append("var parameterService = runtimeEnvironment.getObject(\"parameterService\");\n\n"); | 848 | str.append("var parameterService = runtimeEnvironment.getObject(\"parameterService\");\n\n"); |
849 | str.append("var EnvironmentVariable = importNames.EnvironmentVariable;\n\n"); | 849 | str.append("var EnvironmentVariable = importNames.EnvironmentVariable;\n\n"); |
850 | str.append("var VariableTypeEnum = importNames.VariableTypeEnum;\n"); | 850 | str.append("var VariableTypeEnum = importNames.VariableTypeEnum;\n"); |
851 | - str.append("var HashMap = importNames.HashMap;\n\n"); | 851 | + str.append("var HashMap = importNames.HashMap;\n"); |
852 | + str.append("var StringBuilder = importNames.StringBuilder;\n\n"); | ||
852 | 853 | ||
853 | str.append("addOrUpdateObject = function(name, value) {\n"); | 854 | str.append("addOrUpdateObject = function(name, value) {\n"); |
854 | str.append(" runtimeEnvironment.addOrUpdateObject(name, value);\n"); | 855 | str.append(" runtimeEnvironment.addOrUpdateObject(name, value);\n"); |
@@ -930,6 +931,10 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | @@ -930,6 +931,10 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | ||
930 | str.append(" userTaskService.assign(runtimeEnvironment, userTask, "+uuid+".ActorTypeEnum.GROUP, type, group);\n"); | 931 | str.append(" userTaskService.assign(runtimeEnvironment, userTask, "+uuid+".ActorTypeEnum.GROUP, type, group);\n"); |
931 | str.append("};\n\n"); | 932 | str.append("};\n\n"); |
932 | 933 | ||
934 | + str.append("sendNotificationForAssignments = function(userTaskId, templateName, sendAttachedFiles) {\n"); | ||
935 | + str.append(" processInstanceService.sendNotificationForAssignments(runtimeEnvironment, userTaskId, templateName, sendAttachedFiles);\n"); | ||
936 | + str.append("};\n\n"); | ||
937 | + | ||
933 | return str.toString(); | 938 | return str.toString(); |
934 | } | 939 | } |
935 | 940 |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/NotificationTemplateListController.js
@@ -9,6 +9,7 @@ citApp.controller('NotificationTemplateListController', ["$scope", "Notification | @@ -9,6 +9,7 @@ citApp.controller('NotificationTemplateListController', ["$scope", "Notification | ||
9 | }; | 9 | }; |
10 | 10 | ||
11 | $scope.headers = [ {title : $translate.instant('LABEL.NOME'), value : 'name', tamanho: 30 } , | 11 | $scope.headers = [ {title : $translate.instant('LABEL.NOME'), value : 'name', tamanho: 30 } , |
12 | + {title : $translate.instant('LABEL.DESCRICAO'), value : 'description' }, | ||
12 | {title : $translate.instant('LABEL.ASSUNTO'), value : 'subject' }]; | 13 | {title : $translate.instant('LABEL.ASSUNTO'), value : 'subject' }]; |
13 | 14 | ||
14 | $scope.filterCriteria = { | 15 | $scope.filterCriteria = { |
@@ -16,8 +17,9 @@ citApp.controller('NotificationTemplateListController', ["$scope", "Notification | @@ -16,8 +17,9 @@ citApp.controller('NotificationTemplateListController', ["$scope", "Notification | ||
16 | dir : 'asc', | 17 | dir : 'asc', |
17 | sort : 'name', | 18 | sort : 'name', |
18 | limit : 10, | 19 | limit : 10, |
19 | - fields: ['id', 'name', 'subject'], | 20 | + fields: ['id', 'name', 'description', 'subject'], |
20 | filters : [ {type : 'string', field : 'name' } , | 21 | filters : [ {type : 'string', field : 'name' } , |
22 | + {type : 'string', field : 'description' }, | ||
21 | {type : 'string', field : 'subject' }] | 23 | {type : 'string', field : 'subject' }] |
22 | }; | 24 | }; |
23 | 25 |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/PackController.js
@@ -305,7 +305,7 @@ citApp.controller('PackController', ["$scope", "PackRepository", "DataObjectRepo | @@ -305,7 +305,7 @@ citApp.controller('PackController', ["$scope", "PackRepository", "DataObjectRepo | ||
305 | 305 | ||
306 | $scope.setNotificationTemplate = function (item) { | 306 | $scope.setNotificationTemplate = function (item) { |
307 | if (item && item.id) { | 307 | if (item && item.id) { |
308 | - $scope.addElement('NOTIFICATION', item, 'subject'); | 308 | + $scope.addElement('NOTIFICATION', item, 'description'); |
309 | } | 309 | } |
310 | $scope.clearNotificationTemplate(); | 310 | $scope.clearNotificationTemplate(); |
311 | }; | 311 | }; |
cit-esi-web/src/main/webapp/html/businessProcess/businessProcessData.html
@@ -166,7 +166,7 @@ | @@ -166,7 +166,7 @@ | ||
166 | </div> | 166 | </div> |
167 | </div> | 167 | </div> |
168 | <div class="col-md-2" ng-if="processoNegocio.target == 'FLOW' && !processoNegocio.displayable"> | 168 | <div class="col-md-2" ng-if="processoNegocio.target == 'FLOW' && !processoNegocio.displayable"> |
169 | - <label-input ng-type="text" ng-id="processoNegocio.cronExpression" ng-label="LABEL.EXPRESSAO_CRON" ng-obrigatorio="false" | 169 | + <label-input ng-type="text" ng-id="processoNegocio.cronExpression" ng-label="ESI.EXPRESSAO_CRON" ng-obrigatorio="false" |
170 | ng-disabled="!edit" ng-model="processoNegocio.cronExpression" ng-custom-maxlength="255" form="processoNegocioForm"/> | 170 | ng-disabled="!edit" ng-model="processoNegocio.cronExpression" ng-custom-maxlength="255" form="processoNegocioForm"/> |
171 | </div> | 171 | </div> |
172 | </div> | 172 | </div> |
cit-esi-web/src/main/webapp/html/pack/packEdit.html
@@ -307,7 +307,7 @@ | @@ -307,7 +307,7 @@ | ||
307 | <auto-complete | 307 | <auto-complete |
308 | ng-find="findNotificationTemplate(value)" | 308 | ng-find="findNotificationTemplate(value)" |
309 | ng-acao-borracha="clearNotificationTemplate()" | 309 | ng-acao-borracha="clearNotificationTemplate()" |
310 | - ng-item="item.subject" | 310 | + ng-item="item.description" |
311 | ng-label="" | 311 | ng-label="" |
312 | ng-model="notificationTemplate" | 312 | ng-model="notificationTemplate" |
313 | ng-set-result="setNotificationTemplate(item)" | 313 | ng-set-result="setNotificationTemplate(item)" |