Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 1 Rev 283
Línea 9... Línea 9...
9
//use Symfony\Component\Console\Input\InputOption;
9
//use Symfony\Component\Console\Input\InputOption;
10
use Symfony\Component\Console\Output\OutputInterface;
10
use Symfony\Component\Console\Output\OutputInterface;
11
use Laminas\Db\Adapter\AdapterInterface;
11
use Laminas\Db\Adapter\AdapterInterface;
Línea 12... Línea 12...
12
 
12
 
13
use Laminas\Log\LoggerInterface;
13
use Laminas\Log\LoggerInterface;
14
use LeadersLinked\Mapper\CompanyMicrolearningUserProgressMapper;
14
use LeadersLinked\Mapper\MicrolearningUserProgressMapper;
15
use LeadersLinked\Mapper\CompanyMicrolearningSlideMapper;
15
use LeadersLinked\Mapper\MicrolearningSlideMapper;
16
use LeadersLinked\Mapper\QueryMapper;
16
use LeadersLinked\Mapper\QueryMapper;
17
use LeadersLinked\Model\CompanyMicrolearningUserProgress;
17
use LeadersLinked\Model\MicrolearningUserProgress;
18
use Laminas\Mvc\I18n\Translator;
18
use Laminas\Mvc\I18n\Translator;
Línea 19... Línea 19...
19
use LeadersLinked\Cache\CacheInterface;
19
use LeadersLinked\Cache\CacheInterface;
Línea 81... Línea 81...
81
 
81
 
82
        $output->writeln('Comenzamos a buscar los registros duplicados de los Tópicos');
82
        $output->writeln('Comenzamos a buscar los registros duplicados de los Tópicos');
Línea 83... Línea 83...
83
        $queryMapper = QueryMapper::getInstance($this->adapter);
83
        $queryMapper = QueryMapper::getInstance($this->adapter);
84
 
84
 
Línea 85... Línea 85...
85
        
85
        
Línea 86... Línea 86...
86
        $sql  = " SELECT DISTINCT(user_id) AS user_id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
86
        $sql  = " SELECT DISTINCT(user_id) AS user_id FROM " . MicrolearningUserProgressMapper::_TABLE;
87
        echo $sql . PHP_EOL;
87
        echo $sql . PHP_EOL;
88
       
88
       
Línea 89... Línea 89...
89
        $record_users = $queryMapper->fetchAllUsingParameters($sql);
89
        $record_users = $queryMapper->fetchAllUsingParameters($sql);
90
        
90
        
91
        foreach($record_users as $record_user)
91
        foreach($record_users as $record_user)
Línea 92... Línea 92...
92
        {
92
        {
93
            $user_id = $record_user['user_id'];
93
            $user_id = $record_user['user_id'];
Línea 94... Línea 94...
94
            
94
            
95
            
95
            
96
            $sql  = " SELECT DISTINCT(topic_id) AS topic_id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
96
            $sql  = " SELECT DISTINCT(topic_id) AS topic_id FROM " . MicrolearningUserProgressMapper::_TABLE;
Línea 97... Línea 97...
97
            $sql .= " WHERE  type = '" . CompanyMicrolearningUserProgress::TYPE_TOPIC . "' ";
97
            $sql .= " WHERE  type = '" . MicrolearningUserProgress::TYPE_TOPIC . "' ";
98
            $sql .= " AND user_id = $user_id";
98
            $sql .= " AND user_id = $user_id";
99
            
99
            
100
            echo $sql . PHP_EOL;
100
            echo $sql . PHP_EOL;
101
            $records_topic = $queryMapper->fetchAllUsingParameters($sql);
101
            $records_topic = $queryMapper->fetchAllUsingParameters($sql);
102
            
102
            
Línea 103... Línea 103...
103
 
103
 
104
            foreach($records_topic as $record_topic)
104
            foreach($records_topic as $record_topic)
Línea 105... Línea 105...
105
            {
105
            {
106
                $topic_id = $record_topic['topic_id'];
106
                $topic_id = $record_topic['topic_id'];
107
                
107
                
108
                $sql  = " SELECT id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
108
                $sql  = " SELECT id FROM " . MicrolearningUserProgressMapper::_TABLE;
109
                $sql .= " WHERE  type = '" . CompanyMicrolearningUserProgress::TYPE_TOPIC . "' ";
109
                $sql .= " WHERE  type = '" . MicrolearningUserProgress::TYPE_TOPIC . "' ";
110
                $sql .= " AND user_id = $user_id";
110
                $sql .= " AND user_id = $user_id";
Línea 136... Línea 136...
136
        
136
        
137
        $output->writeln('Comenzamos a buscar los registros duplicados de las Capsulas');
137
        $output->writeln('Comenzamos a buscar los registros duplicados de las Capsulas');
Línea 138... Línea 138...
138
        $queryMapper = QueryMapper::getInstance($this->adapter);
138
        $queryMapper = QueryMapper::getInstance($this->adapter);
139
        
139
        
Línea 140... Línea 140...
140
        
140
        
Línea 141... Línea 141...
141
        $sql  = " SELECT DISTINCT(user_id) AS user_id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
141
        $sql  = " SELECT DISTINCT(user_id) AS user_id FROM " . MicrolearningUserProgressMapper::_TABLE;
142
        echo $sql . PHP_EOL;
142
        echo $sql . PHP_EOL;
143
        
143
        
Línea 144... Línea 144...
144
        $record_users = $queryMapper->fetchAllUsingParameters($sql);
144
        $record_users = $queryMapper->fetchAllUsingParameters($sql);
145
        
145
        
146
        foreach($record_users as $record_user)
146
        foreach($record_users as $record_user)
Línea 147... Línea 147...
147
        {
147
        {
148
            $user_id = $record_user['user_id'];
148
            $user_id = $record_user['user_id'];
Línea 149... Línea 149...
149
            
149
            
150
            
150
            
151
            $sql  = " SELECT DISTINCT(capsule_id) AS capsule_id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
151
            $sql  = " SELECT DISTINCT(capsule_id) AS capsule_id FROM " . MicrolearningUserProgressMapper::_TABLE;
Línea 152... Línea 152...
152
            $sql .= " WHERE  type = '" . CompanyMicrolearningUserProgress::TYPE_CAPSULE . "' ";
152
            $sql .= " WHERE  type = '" . MicrolearningUserProgress::TYPE_CAPSULE . "' ";
153
            $sql .= " AND user_id = $user_id";
153
            $sql .= " AND user_id = $user_id";
154
            
154
            
155
            echo $sql . PHP_EOL;
155
            echo $sql . PHP_EOL;
156
            $records_capsule = $queryMapper->fetchAllUsingParameters($sql);
156
            $records_capsule = $queryMapper->fetchAllUsingParameters($sql);
157
            
157
            
Línea 158... Línea 158...
158
            
158
            
159
            foreach($records_capsule as $record_capsule)
159
            foreach($records_capsule as $record_capsule)
Línea 160... Línea 160...
160
            {
160
            {
161
                $capsule_id = $record_capsule['capsule_id'];
161
                $capsule_id = $record_capsule['capsule_id'];
162
                
162
                
163
                $sql  = " SELECT id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
163
                $sql  = " SELECT id FROM " . MicrolearningUserProgressMapper::_TABLE;
164
                $sql .= " WHERE  type = '" . CompanyMicrolearningUserProgress::TYPE_CAPSULE . "' ";
164
                $sql .= " WHERE  type = '" . MicrolearningUserProgress::TYPE_CAPSULE . "' ";
165
                $sql .= " AND user_id = $user_id";
165
                $sql .= " AND user_id = $user_id";
Línea 191... Línea 191...
191
        
191
        
192
        $output->writeln('Comenzamos a buscar los registros duplicados de las Diapositivas');
192
        $output->writeln('Comenzamos a buscar los registros duplicados de las Diapositivas');
Línea 193... Línea 193...
193
        $queryMapper = QueryMapper::getInstance($this->adapter);
193
        $queryMapper = QueryMapper::getInstance($this->adapter);
194
        
194
        
Línea 195... Línea 195...
195
        
195
        
Línea 196... Línea 196...
196
        $sql  = " SELECT DISTINCT(user_id) AS user_id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
196
        $sql  = " SELECT DISTINCT(user_id) AS user_id FROM " . MicrolearningUserProgressMapper::_TABLE;
197
        echo $sql . PHP_EOL;
197
        echo $sql . PHP_EOL;
198
        
198
        
Línea 199... Línea 199...
199
        $record_users = $queryMapper->fetchAllUsingParameters($sql);
199
        $record_users = $queryMapper->fetchAllUsingParameters($sql);
200
        
200
        
201
        foreach($record_users as $record_user)
201
        foreach($record_users as $record_user)
Línea 202... Línea 202...
202
        {
202
        {
203
            $user_id = $record_user['user_id'];
203
            $user_id = $record_user['user_id'];
Línea 204... Línea 204...
204
            
204
            
205
            
205
            
206
            $sql  = " SELECT DISTINCT(slide_id) AS slide_id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
206
            $sql  = " SELECT DISTINCT(slide_id) AS slide_id FROM " . MicrolearningUserProgressMapper::_TABLE;
Línea 207... Línea 207...
207
            $sql .= " WHERE  type = '" . CompanyMicrolearningUserProgress::TYPE_SLIDE . "' ";
207
            $sql .= " WHERE  type = '" . MicrolearningUserProgress::TYPE_SLIDE . "' ";
208
            $sql .= " AND user_id = $user_id";
208
            $sql .= " AND user_id = $user_id";
209
            
209
            
210
            echo $sql . PHP_EOL;
210
            echo $sql . PHP_EOL;
211
            $records_slides = $queryMapper->fetchAllUsingParameters($sql);
211
            $records_slides = $queryMapper->fetchAllUsingParameters($sql);
212
            
212
            
Línea 213... Línea 213...
213
            
213
            
214
            foreach($records_slides as $record_slide)
214
            foreach($records_slides as $record_slide)
Línea 215... Línea 215...
215
            {
215
            {
216
                $slide_id = $record_slide['slide_id'];
216
                $slide_id = $record_slide['slide_id'];
217
                
217
                
218
                $sql  = " SELECT id FROM " . CompanyMicrolearningUserProgressMapper::_TABLE;
218
                $sql  = " SELECT id FROM " . MicrolearningUserProgressMapper::_TABLE;
219
                $sql .= " WHERE  type = '" . CompanyMicrolearningUserProgress::TYPE_SLIDE . "' ";
219
                $sql .= " WHERE  type = '" . MicrolearningUserProgress::TYPE_SLIDE . "' ";
220
                $sql .= " AND user_id = $user_id";
220
                $sql .= " AND user_id = $user_id";
Línea 238... Línea 238...
238
        }
238
        }
239
        $output->writeln('Terminamos de procesar los registros duplicados de las Diapositivas');
239
        $output->writeln('Terminamos de procesar los registros duplicados de las Diapositivas');
Línea 240... Línea 240...
240
        
240
        
Línea 241... Línea 241...
241
        /***** FIN DIAPOSITIVAS DUPLICADOS *****/
241
        /***** FIN DIAPOSITIVAS DUPLICADOS *****/
242
        
242
        
Línea 243... Línea 243...
243
        $progressMapper = CompanyMicrolearningUserProgressMapper::getInstance($this->adapter);
243
        $progressMapper = MicrolearningUserProgressMapper::getInstance($this->adapter);
Línea 244... Línea 244...
244
        $slideMapper = CompanyMicrolearningSlideMapper::getInstance($this->adapter);
244
        $slideMapper = MicrolearningSlideMapper::getInstance($this->adapter);
Línea 245... Línea -...
245
        
-
 
246
        
-
 
247
        $output->writeln('Recalculo del progreso de los Tópicos');
245
        
248
        
246
        
249
        $records = $progressMapper->fetchAllTopics();
247
        $output->writeln('Recalculo del progreso de los Tópicos');
Línea 250... Línea 248...
250
 
248
        
251
       // print_r($records); exit;
249
        $records = $progressMapper->fetchAllTopics();
252
        
250
 
Línea 253... Línea 251...
253
        foreach($records as $record)
251
        foreach($records as $record)
254
        {   $total_slides = $slideMapper->fetchTotalCountByCompanyIdAndTopicId($record->company_id,$record->topic_id);
252
        {   $total_slides = $slideMapper->fetchTotalCountByCompanyIdAndTopicId($record->company_id,$record->topic_id);
255
            $view_slides = $progressMapper->fetchCountAllSlideCompletedByUserIdAndTopicId($record->user_id, $record->topic_id);
253
            $view_slides = $progressMapper->fetchCountAllSlideCompletedByUserIdAndTopicId($record->user_id, $record->topic_id);
256
            
254
            
257
            $record->total_slides = $total_slides;
255
            $record->total_slides = $total_slides;
258
            $record->view_slides = $view_slides;
256
            $record->view_slides = $view_slides;
Línea 279... Línea 277...
279
            $record->total_slides = $total_slides;
277
            $record->total_slides = $total_slides;
280
            $record->view_slides = $view_slides;
278
            $record->view_slides = $view_slides;
281
            $record->progress = $total_slides > 0 ? (($view_slides * 100) / $total_slides) : 0;
279
            $record->progress = $total_slides > 0 ? (($view_slides * 100) / $total_slides) : 0;
Línea 282... Línea 280...
282
            
280
            
283
            
281
            
284
            $sql  = " UPDATE  " . CompanyMicrolearningUserProgressMapper::_TABLE;
282
            $sql  = " UPDATE  " . MicrolearningUserProgressMapper::_TABLE;
285
            $sql .= " SET progress =  " . $record->progress; 
283
            $sql .= " SET progress =  " . $record->progress; 
286
            $sql .= " , total_slides =  " . $total_slides; 
284
            $sql .= " , total_slides =  " . $total_slides; 
287
            $sql .= " , view_slides  =  " . $view_slides; 
285
            $sql .= " , view_slides  =  " . $view_slides;