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.business;
35
36 import fr.paris.lutece.plugins.workflow.utils.WorkflowUtils;
37 import fr.paris.lutece.portal.service.plugin.Plugin;
38 import fr.paris.lutece.util.sql.DAOUtil;
39
40 import java.util.ArrayList;
41 import java.util.List;
42
43
44
45
46
47
48 public class WorkgroupConfigDAO implements IWorkgroupConfigDAO
49 {
50 private static final String SQL_QUERY_FIND_BY_PRIMARY_KEY = "SELECT workgroup_key,id_mailing_list FROM workflow_workgroup_cf WHERE id_task=? and workgroup_key=? ";
51 private static final String SQL_QUERY_DELETE_BY_CONFIG = "DELETE FROM workflow_workgroup_cf WHERE id_task=? ";
52 private static final String SQL_QUERY_SELECT_BY_CONFIG = "SELECT workgroup_key,id_mailing_list FROM workflow_workgroup_cf WHERE id_task=? ";
53 private static final String SQL_QUERY_INSERT = "INSERT INTO workflow_workgroup_cf(id_task,workgroup_key,id_mailing_list) VALUES(?,?,?) ";
54
55
56
57
58 @Override
59 public WorkgroupConfig load( int nIdTask, String strWorkgroupKey, Plugin plugin )
60 {
61 WorkgroupConfig workgroupConfig = null;
62 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_FIND_BY_PRIMARY_KEY, plugin ) )
63 {
64 daoUtil.setInt( 1, nIdTask );
65 daoUtil.setString( 2, strWorkgroupKey );
66
67 daoUtil.executeQuery( );
68 if ( daoUtil.next( ) )
69 {
70 int nPos = 0;
71 workgroupConfig = new WorkgroupConfig( );
72 workgroupConfig.setIdTask( nIdTask );
73 workgroupConfig.setWorkgroupKey( daoUtil.getString( ++nPos ) );
74 workgroupConfig.setIdMailingList( daoUtil.getInt( ++nPos ) );
75 }
76 }
77 return workgroupConfig;
78 }
79
80
81
82
83 @Override
84 public List<WorkgroupConfig> selectByConfig( int nIdTask, Plugin plugin )
85 {
86 WorkgroupConfig workgroupConfig = null;
87 List<WorkgroupConfig> listWorkgroupConfig = new ArrayList<>( );
88
89 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_BY_CONFIG, plugin ) )
90 {
91 daoUtil.setInt( 1, nIdTask );
92 daoUtil.executeQuery( );
93
94 while ( daoUtil.next( ) )
95 {
96 int nPos = 0;
97 workgroupConfig = new WorkgroupConfig( );
98 workgroupConfig.setIdTask( nIdTask );
99 workgroupConfig.setWorkgroupKey( daoUtil.getString( ++nPos ) );
100 workgroupConfig.setIdMailingList( daoUtil.getInt( ++nPos ) );
101
102 listWorkgroupConfig.add( workgroupConfig );
103 }
104 }
105 return listWorkgroupConfig;
106 }
107
108
109
110
111 @Override
112 public void deleteByTask( int nIdTask, Plugin plugin )
113 {
114 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_BY_CONFIG, plugin ) )
115 {
116 daoUtil.setInt( 1, nIdTask );
117 daoUtil.executeUpdate( );
118 }
119 }
120
121
122
123
124 @Override
125 public void insert( WorkgroupConfig workgroupConf, Plugin plugin )
126 {
127 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin ) )
128 {
129 int nPos = 0;
130 daoUtil.setInt( ++nPos, workgroupConf.getIdTask( ) );
131 daoUtil.setString( ++nPos, workgroupConf.getWorkgroupKey( ) );
132
133 if ( workgroupConf.getIdMailingList( ) != WorkflowUtils.CONSTANT_ID_NULL )
134 {
135 daoUtil.setInt( ++nPos, workgroupConf.getIdMailingList( ) );
136 }
137 else
138 {
139 daoUtil.setIntNull( ++nPos );
140 }
141 daoUtil.executeUpdate( );
142 }
143 }
144 }