1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.workflow.modules.ticketing.business.resourcehistory;
35
36 import java.util.HashMap;
37 import java.util.List;
38 import java.util.Map;
39
40 import javax.inject.Inject;
41
42 import fr.paris.lutece.plugins.ticketing.business.channel.Channel;
43 import fr.paris.lutece.plugins.ticketing.business.channel.ChannelHome;
44 import fr.paris.lutece.plugins.ticketing.business.resourcehistory.IResourceHistoryInformationService;
45 import fr.paris.lutece.plugins.workflow.utils.WorkflowUtils;
46 import fr.paris.lutece.portal.service.plugin.Plugin;
47
48
49
50
51
52
53 public class ResourceHistoryService implements IResourceHistoryService, IResourceHistoryInformationService
54 {
55
56
57
58 public static final String BEAN_SERVICE = "workflow-ticketing.resourceHistoryService";
59 @Inject
60 private IResourceHistoryDAO _dao;
61 @Inject
62 private fr.paris.lutece.plugins.workflowcore.service.resource.IResourceHistoryService _resourceHistoryService;
63
64
65
66
67 @Override
68 public void create( ResourceHistory resourceHistory, Plugin plugin )
69 {
70 _dao.insert( resourceHistory, plugin );
71 }
72
73
74
75
76 @Override
77 public void removeByHistory( int nIdHistory, Plugin plugin )
78 {
79 _dao.deleteByHistory( nIdHistory, plugin );
80 }
81
82
83
84
85 @Override
86 public ResourceHistory findByPrimaryKey( int nIdHistory, Plugin plugin )
87 {
88 return _dao.load( nIdHistory, plugin );
89 }
90
91
92
93
94 @Override
95 public void removeByResource( int nIdResource, String strResourceType )
96 {
97 _dao.deleteByResource( nIdResource, strResourceType, WorkflowUtils.getPlugin( ) );
98 }
99
100
101
102
103
104
105
106
107
108
109
110
111 @Override
112 public Map<String, Channel> getChannelHistoryMap( int nIdResource, String strResourceType, int nIdWorkflow )
113 {
114 Map<String, Channel> mapHistoryChannel = new HashMap<>( );
115
116 List<fr.paris.lutece.plugins.workflowcore.business.resource.ResourceHistory> listResourceHistory = _resourceHistoryService
117 .getAllHistoryByResource( nIdResource, strResourceType, nIdWorkflow );
118
119 for ( fr.paris.lutece.plugins.workflowcore.business.resource.ResourceHistory resourceHistory : listResourceHistory )
120 {
121 fr.paris.lutece.plugins.workflow.modules.ticketing.business.resourcehistory.ResourceHistory resourceHistoryChannel = findByPrimaryKey(
122 resourceHistory.getId( ), WorkflowUtils.getPlugin( ) );
123
124 if ( resourceHistoryChannel != null )
125 {
126 Channel channel = ChannelHome.findByPrimaryKey( resourceHistoryChannel.getIdChannel( ) );
127 mapHistoryChannel.put( Integer.toString( resourceHistoryChannel.getIdHistory( ) ), channel );
128 }
129 }
130
131 return mapHistoryChannel;
132 }
133
134
135
136
137
138
139
140
141
142
143
144 public void removeResourceHistory( int nIdResource, String strResourceType, int nIdWorkflow )
145 {
146 List<fr.paris.lutece.plugins.workflowcore.business.resource.ResourceHistory> listResourceHistory = _resourceHistoryService
147 .getAllHistoryByResource( nIdResource, strResourceType, nIdWorkflow );
148
149 for ( fr.paris.lutece.plugins.workflowcore.business.resource.ResourceHistory resourceHistory : listResourceHistory )
150 {
151 fr.paris.lutece.plugins.workflow.modules.ticketing.business.resourcehistory.ResourceHistory resourceHistoryTicketing = findByPrimaryKey(
152 resourceHistory.getId( ), WorkflowUtils.getPlugin( ) );
153
154 if ( resourceHistoryTicketing != null )
155 {
156 removeByHistory( resourceHistory.getId( ), WorkflowUtils.getPlugin( ) );
157 }
158 }
159 }
160
161
162
163
164 @Override
165 public ResourceHistory findOldUnitByPrimaryKey( int nIdHistory, Plugin plugin )
166 {
167 return _dao.loadUnitOld( nIdHistory, plugin );
168 }
169
170 }