/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = MOfficeCampaignPicCategory::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'sort_order' => $this->sort_order]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
Example #2
0
 public function actionCsmdzltj2()
 {
     //$this->layout = 'wap';
     $this->layout = false;
     $gh_id = U::getSessionParam('gh_id');
     $openid = U::getSessionParam('openid');
     Yii::$app->wx->setGhId($gh_id);
     $office_id = $_GET['office_id'];
     $staff_id = $_GET['staff_id'];
     $office = MOffice::findOne(['office_id' => $office_id]);
     $staff = MStaff::findOne(['staff_id' => $staff_id]);
     $campaign_pic_categories = MOfficeCampaignPicCategory::find()->orderBy('sort_order')->all();
     return $this->render('csmdzltj2', ['gh_id' => $gh_id, 'openid' => $openid, 'model_office' => $office, 'model_staff' => $staff, 'models_categories' => $campaign_pic_categories]);
 }
Example #3
0
 public static function getScore($office_id, $date = null)
 {
     $pic_categories = MOfficeCampaignPicCategory::find()->all();
     $office = \app\models\MOffice::findOne(['office_id' => $office_id]);
     $total = 0;
     foreach ($pic_categories as $pic_category) {
         if (!$office->is_selfOperated && $pic_category->sort_order == 6) {
             continue;
         }
         $scores = self::getScoreByPicCategory($office_id, $pic_category->id, $date);
         if ($scores['count'] == 0) {
             return false;
         }
         $total += $scores['count'] == 1 ? $scores['total'] : $scores['total'] / $scores['count'];
     }
     return $total;
 }
Example #4
0
 public static function getDetailReadyStatus($office_id, $date = null)
 {
     $start_date = \app\models\utils\OfficeCampaignUtils::getOfficeCampaignBeginDate($date);
     $end_date = \app\models\utils\OfficeCampaignUtils::getOfficeCampaignEndDate($date);
     $pic_categories = MOfficeCampaignPicCategory::find()->all();
     $office = \app\models\MOffice::findOne(['office_id' => $office_id]);
     $category_count = 0;
     $detail_count = 0;
     foreach ($pic_categories as $pic_category) {
         if (!$office->is_selfOperated && $pic_category->sort_order == 6) {
             continue;
         }
         $category_count++;
         $detail = self::find()->andWhere(['office_id' => $office_id, 'pic_category' => $pic_category->id])->andWhere('created_time >= :start_time', [':start_time' => $start_date->format("Y-m-d H:i:s")])->andWhere('created_time < :end_time', [':end_time' => $end_date->format("Y-m-d H:i:s")])->one();
         if (!empty($detail)) {
             $detail_count++;
         }
     }
     if ($category_count == $detail_count) {
         return self::DETAIL_COMPLETE;
     }
     if ($detail_count == 0) {
         return self::DETAIL_IMCOMPLETE;
     } else {
         return self::DETAIL_PARTIALLY;
     }
 }