Exemple #1
0
 public function getStationStatusHandler()
 {
     // set handler
     $handles = StationStatusHandler::find()->where(['station_id' => $this->request['id'], 'updated' => StationStatusHandler::STATUS_NOT_UPDATE])->orderBy('created_at DESC')->all();
     if (!empty($handles)) {
         foreach ($handles as $hand) {
             if ($hand['type'] == StationStatusHandler::TYPE_EQUIPMENT) {
                 $this->handler['equip'][] = ['equip_id' => $hand['equip_id'], 'status' => $hand['status'], 'configure' => $hand['configure'], 'station_id' => $hand['station_id']];
             }
             if ($hand['type'] == StationStatusHandler::TYPE_SENSOR_SECURITY) {
                 $this->handler['security'] = ['equip_id' => Sensor::ID_SECURITY, 'status' => $hand['status'], 'station_id' => $hand['station_id']];
             }
         }
     }
 }
 public function actionDelete($id)
 {
     $id = Yii::$app->request->get('id');
     if ($id > 0) {
         // delete equipment status
         DcEquipmentStatus::deleteAll(['station_id' => $id]);
         // delete sensor status
         SensorStatus::deleteAll(['station_id' => $id]);
         // delete dc equipment status
         DcEquipmentStatus::deleteAll(['station_id' => $id]);
         // delete power status
         PowerStatus::deleteAll(['station_id' => $id]);
         // delete station status
         StationStatus::deleteAll(['station_id' => $id]);
         // delete station status controller
         StationStatusHandler::deleteAll(['station_id' => $id]);
         // delete warning
         $warnings = Warning::findAll(['station_id' => $id]);
         if (!empty($warnings)) {
             foreach ($warnings as $w) {
                 Yii::$app->db->createCommand()->delete('warning_picture', ['warning_id' => $w['id']])->execute();
             }
         }
         Warning::deleteAll(['station_id' => $id]);
         // delete station
         Station::deleteAll(['id' => $id]);
         //write log action
         Log::logControl(Yii::$app->user->id, Log::ACTION_DELETE_STATION, $id);
     }
     return $this->redirect(['index']);
 }