Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 1979 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1979 Rev 7328
Línea 10... Línea 10...
10
use Laminas\Paginator\Paginator;
10
use Laminas\Paginator\Paginator;
11
use Laminas\Db\ResultSet\HydratingResultSet;
11
use Laminas\Db\ResultSet\HydratingResultSet;
12
use Laminas\Paginator\Adapter\DbSelect;
12
use Laminas\Paginator\Adapter\DbSelect;
13
use LeadersLinked\Model\SurveyTest;
13
use LeadersLinked\Model\SurveyTest;
14
use LeadersLinked\Model\SurveyForm;
14
use LeadersLinked\Model\SurveyForm;
-
 
15
use LeadersLinked\Model\SurveyCampaign;
Línea 15... Línea 16...
15
 
16
 
16
 
17
 
17
class SurveyTestMapper extends MapperCommon
18
class SurveyTestMapper extends MapperCommon
Línea 18... Línea 19...
18
{
19
{
19
    const _TABLE = 'tbl_survey_test';
20
    const _TABLE = 'tbl_survey_tests';
20
    
21
    
21
    /**
22
    /**
Línea 94... Línea 95...
94
    }
95
    }
Línea 95... Línea 96...
95
 
96
 
96
     /**
97
     /**
97
     *
98
     *
98
     * @param int $survey_id
99
     * @param int $survey_id
99
     * @return SurveyTest
100
     * @return SurveyTest[]
100
     */
101
     */
101
    public function fetchAllBySurveyId($survey_id)
102
    public function fetchAllCompletedByCompanyIdAndCampaignId($company_id, $campaign_id)
102
    {
103
    {
Línea 103... Línea 104...
103
        $prototype = new SurveyTest();
104
        $prototype = new SurveyTest();
104
        
105
        
-
 
106
        $select = $this->sql->select(self::_TABLE);
-
 
107
        $select->where->equalTo('company_id', $company_id);
105
        $select = $this->sql->select(self::_TABLE);
108
        $select->where->equalTo('campaign_id', $campaign_id);
Línea 106... Línea 109...
106
        $select->where->equalTo('survey_id', $survey_id);
109
        $select->where->equalTo('status', SurveyTest::STATUS_COMPLETED);
107
        $select->order('id');
110
        $select->order('id');
108
        
111
        
109
        return $this->executeFetchAllObject($select, $prototype);
-
 
110
    }
-
 
111
    
-
 
112
      /**
-
 
113
     *
-
 
114
     * @param int $survey_id
-
 
115
     * @return SurveyTest
-
 
116
     */
-
 
117
    public function fetchOneBySurveyId($survey_id)
-
 
118
    {
-
 
119
        $prototype = new SurveyTest();
-
 
120
        $select = $this->sql->select(self::_TABLE);
-
 
121
        $select->where->equalTo('survey_id', $survey_id);
-
 
Línea 122... Línea 112...
122
        
112
        return $this->executeFetchAllObject($select, $prototype);
123
        return $this->executeFetchOneObject($select, $prototype);
113
    }
124
    }
114
 
125
    
115
    
Línea 178... Línea 168...
178
    }
168
    }
Línea 179... Línea 169...
179
    
169
    
180
      
170
      
181
    /**
171
    /**
182
     *
172
     *
183
     * @param int $survey_id
173
     * @param int $user_id
184
     * @param string $search
174
     * @param string $search
185
     * @param int $page
175
     * @param int $page
186
     * @param int $records_per_page
176
     * @param int $records_per_page
187
     * @param string $order_field
177
     * @param string $order_field
188
     * @param string $order_direction
178
     * @param string $order_direction
189
     * @return Paginator
179
     * @return Paginator
190
     */
180
     */
-
 
181
    public function fetchAllOrganizationalClimateDataTableByUserId($user_id, $search, $page = 1, $records_per_page = 10, $order_field= 'first_name', $order_direction = 'ASC')
-
 
182
    {
-
 
183
        $select = $this->sql->select();
-
 
184
        $select->columns(['uuid', 'status']);
-
 
185
        $select->from(['t' => self::_TABLE]);
-
 
186
        $select->join(['c' => SurveyCampaignMapper::_TABLE], 't.campaign_id = c.id', ['name', 'start_date', 'end_date']);
-
 
187
        $select->where->equalTo('c.type', SurveyCampaign::TYPE_ORGANIZATIONAL_CLIMATE);
-
 
188
        $select->where->equalTo('t.user_id', $user_id);
-
 
189
        
-
 
190
        if($search) {
-
 
191
            $select->where->like('c.name', '%' . $search . '%');
-
 
192
        }
-
 
193
        $select->order($order_field . ' ' . $order_direction);
-
 
194
        
-
 
195
        //echo $select->getSqlString($this->adapter->platform); exit;
-
 
196
 
191
    public function fetchAllDataTableBySurveyId($survey_id, $search, $page = 1, $records_per_page = 10, $order_field= 'first_name', $order_direction = 'ASC')
197
        
-
 
198
        $adapter = new DbSelect($select, $this->sql);
-
 
199
        $paginator = new Paginator($adapter);
-
 
200
        $paginator->setItemCountPerPage($records_per_page);
-
 
201
        $paginator->setCurrentPageNumber($page);
-
 
202
        
-
 
203
        
-
 
204
        return $paginator;
-
 
205
    }
-
 
206
    
-
 
207
    /**
-
 
208
     *
-
 
209
     * @param int $user_id
-
 
210
     * @param string $search
-
 
211
     * @param int $page
-
 
212
     * @param int $records_per_page
-
 
213
     * @param string $order_field
-
 
214
     * @param string $order_direction
-
 
215
     * @return Paginator
-
 
216
     */
192
    {
217
    public function fetchAllNormalDataTableByUserId($user_id, $search, $page = 1, $records_per_page = 10, $order_field= 'first_name', $order_direction = 'ASC')
-
 
218
    {
-
 
219
        $select = $this->sql->select();
-
 
220
        $select->columns(['uuid', 'status']);
-
 
221
        $select->from(['t' => self::_TABLE]);
193
        $prototype = new SurveyTest();
222
        $select->join(['c' => SurveyCampaignMapper::_TABLE], 't.campaign_id = c.id', ['name', 'start_date', 'end_date']);
Línea 194... Línea 223...
194
        $select = $this->sql->select(self::_TABLE);
223
        $select->where->equalTo('c.type', SurveyCampaign::TYPE_NORMAL);
195
        $select->where->equalTo('survey_id', $survey_id);
224
        $select->where->equalTo('t.user_id', $user_id);
196
        
225
        
197
        if($search) {
226
        if($search) {
Línea 198... Línea 227...
198
            $select->where->like('first_name', '%' . $search . '%');
227
            $select->where->like('c.name', '%' . $search . '%');
Línea 199... Línea -...
199
        }
-
 
200
        $select->order($order_field . ' ' . $order_direction);
-
 
Línea 201... Línea 228...
201
        
228
        }
202
        //echo $select->getSqlString($this->adapter->platform); exit;
229
        $select->order($order_field . ' ' . $order_direction);
203
        
230
        
204
        $hydrator   = new ObjectPropertyHydrator();
231
        //echo $select->getSqlString($this->adapter->platform); exit;