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.portal.service.plugin.Plugin;
37 import fr.paris.lutece.util.sql.DAOUtil;
38
39 import java.util.ArrayList;
40 import java.util.List;
41
42
43
44
45
46
47 public class AssignmentHistoryDAO implements IAssignmentHistoryDAO
48 {
49 private static final String SQL_QUERY_SELECT = "SELECT id_history,id_task,workgroup_key "
50 + "FROM workflow_assignment_history WHERE id_history=? AND id_task=? ";
51 private static final String SQL_QUERY_INSERT = "INSERT INTO workflow_assignment_history " + "(id_history,id_task,workgroup_key)VALUES(?,?,?)";
52 private static final String SQL_QUERY_DELETE_BY_HISTORY = "DELETE FROM workflow_assignment_history WHERE id_history=? AND id_task=?";
53 private static final String SQL_QUERY_DELETE_BY_TASK = "DELETE FROM workflow_assignment_history WHERE id_task=?";
54
55
56
57
58 @Override
59 public synchronized void insert( AssignmentHistory history, Plugin plugin )
60 {
61 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin ) )
62 {
63 int nPos = 0;
64
65 daoUtil.setInt( ++nPos, history.getIdResourceHistory( ) );
66 daoUtil.setInt( ++nPos, history.getIdTask( ) );
67 daoUtil.setString( ++nPos, history.getWorkgroup( ) );
68
69 daoUtil.executeUpdate( );
70 }
71 }
72
73
74
75
76 @Override
77 public List<AssignmentHistory> selectByHistory( int nIdHistory, int nIdTask, Plugin plugin )
78 {
79 AssignmentHistory assignmentValue = null;
80
81 List<AssignmentHistory> listAssignmentValue = new ArrayList<>( );
82
83 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin ) )
84 {
85 int nPos = 0;
86 daoUtil.setInt( ++nPos, nIdHistory );
87 daoUtil.setInt( ++nPos, nIdTask );
88
89 daoUtil.executeQuery( );
90 while ( daoUtil.next( ) )
91 {
92 nPos = 0;
93 assignmentValue = new AssignmentHistory( );
94 assignmentValue.setIdResourceHistory( daoUtil.getInt( ++nPos ) );
95 assignmentValue.setIdTask( daoUtil.getInt( ++nPos ) );
96 assignmentValue.setWorkgroup( daoUtil.getString( ++nPos ) );
97
98 listAssignmentValue.add( assignmentValue );
99 }
100 }
101 return listAssignmentValue;
102 }
103
104
105
106
107 @Override
108 public void deleteByHistory( int nIdHistory, int nIdTask, Plugin plugin )
109 {
110 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_BY_HISTORY, plugin ) )
111 {
112 int nPos = 0;
113 daoUtil.setInt( ++nPos, nIdHistory );
114 daoUtil.setInt( ++nPos, nIdTask );
115
116 daoUtil.executeUpdate( );
117 }
118 }
119
120
121
122
123 @Override
124 public void deleteByTask( int nIdTask, Plugin plugin )
125 {
126 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_BY_TASK, plugin ) )
127 {
128 int nPos = 0;
129 daoUtil.setInt( ++nPos, nIdTask );
130
131 daoUtil.executeUpdate( );
132 }
133 }
134 }