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.assignment.service;
35
36 import fr.paris.lutece.plugins.workflow.modules.assignment.business.TaskAssignmentConfig;
37 import fr.paris.lutece.plugins.workflow.modules.assignment.business.WorkgroupConfig;
38 import fr.paris.lutece.plugins.workflow.utils.WorkflowUtils;
39 import fr.paris.lutece.plugins.workflowcore.business.config.ITaskConfig;
40 import fr.paris.lutece.plugins.workflowcore.service.config.TaskConfigService;
41
42 import org.springframework.transaction.annotation.Transactional;
43
44 import java.util.List;
45
46 import javax.inject.Inject;
47
48
49
50
51
52
53 public class TaskAssignmentConfigService extends TaskConfigService
54 {
55
56
57
58 public static final String BEAN_SERVICE = "workflow.taskAssignmentConfigService";
59 @Inject
60 private IWorkgroupConfigService _workgroupConfigService;
61
62
63
64
65 @Override
66 @Transactional( "workflow.transactionManager" )
67 public void create( ITaskConfig config )
68 {
69 super.create( config );
70
71 TaskAssignmentConfig taskAssignmentConfig = getConfigBean( config );
72
73 if ( taskAssignmentConfig != null )
74 {
75 List<WorkgroupConfig> listWorkgroups = taskAssignmentConfig.getWorkgroups( );
76
77 if ( listWorkgroups != null )
78 {
79 for ( WorkgroupConfig workgroupConfig : listWorkgroups )
80 {
81
82 workgroupConfig.setIdTask( config.getIdTask( ) );
83 _workgroupConfigService.create( workgroupConfig, WorkflowUtils.getPlugin( ) );
84 }
85 }
86 }
87 }
88
89
90
91
92 @Override
93 @Transactional( "workflow.transactionManager" )
94 public void update( ITaskConfig config )
95 {
96 super.update( config );
97
98 _workgroupConfigService.removeByTask( config.getIdTask( ), WorkflowUtils.getPlugin( ) );
99
100 TaskAssignmentConfig taskAssignmentConfig = getConfigBean( config );
101
102 if ( taskAssignmentConfig != null )
103 {
104 List<WorkgroupConfig> listWorkgroups = taskAssignmentConfig.getWorkgroups( );
105
106 if ( listWorkgroups != null )
107 {
108 for ( WorkgroupConfig workgroupConfig : listWorkgroups )
109 {
110 _workgroupConfigService.create( workgroupConfig, WorkflowUtils.getPlugin( ) );
111 }
112 }
113 }
114 }
115
116
117
118
119 @Override
120 @Transactional( "workflow.transactionManager" )
121 public void remove( int nIdTask )
122 {
123 _workgroupConfigService.removeByTask( nIdTask, WorkflowUtils.getPlugin( ) );
124 super.remove( nIdTask );
125 }
126
127
128
129
130 @Override
131 public <T> T findByPrimaryKey( int nIdTask )
132 {
133 TaskAssignmentConfig config = super.findByPrimaryKey( nIdTask );
134
135 if ( config != null )
136 {
137 config.setWorkgroups( _workgroupConfigService.getListByConfig( nIdTask, WorkflowUtils.getPlugin( ) ) );
138 }
139
140 return (T) config;
141 }
142 }