审查视图

application/admin/controller/Hobby.php 3.3 KB
杨育虎 authored
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2020/3/19
 * Time: 16:47
 */

namespace app\admin\controller;

use app\common\controller\Backend;
use think\Db;

class Hobby extends Backend
{
    /**
     * OrderChat模型对象
     * @var \app\admin\model\Study
     */
    protected $model = null;

    public function _initialize()
    {
        parent::_initialize();
        $this->model = new \app\admin\model\ThirdStudy();
    }

    public function index1($ids = null)
    {
        $this->relationSearch = true;
        //设置过滤方法
        $this->request->filter(['strip_tags']);
        if ($this->request->isAjax()) {
            //如果发送的来源是Selectpage,则转发到Selectpage
            if ($this->request->request('keyField')) {
                return $this->selectpage();
            }
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
            $total = $this->model
                ->where($where)
                ->where('third_id',$ids)
                ->order($sort, $order)
                ->count();

            $list = $this->model
                ->where($where)
                ->where('third_id',$ids)
                ->order($sort, $order)
                ->limit($offset, $limit)
                ->select();
            $list = collection($list)->toArray();
            foreach ($list as &$v){
杨育虎 authored
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

                //该科目用户完成的课时跟总课时
                $finish_hour = Db::name('study_class')
                    ->alias('a')
                    ->join('classes b','a.class_id = b.id')
                    ->where('a.third_id',$ids)
                    ->where('a.study_id',$v['study_id'])
                    ->where('a.status',2)
                    ->field('sum(b.class_hour) as finish_hour')
                    ->find();
                if(empty($finish_hour['finish_hour'])){
                    $finish_hour['finish_hour'] = 0;
                }
                //查出该科目的总课时
                $class = Db::name('study')->where('id',$v['study_id'])->value('class_hour');


                //该科目的主修课程客户完成数量
                $finish_count = Db::name('study_class')
                    ->where('third_id',$ids)
                    ->where('study_id',$v['study_id'])
                    ->where('status',2)
                    ->count();

                if(empty($finish_count)){
                    $finish_count = 0;
                }

                //查询该科目主修课程数量
                $zhu_quan = Db::name('classes')
                    ->where('study_id',$v['study_id'])
                    ->where('is_major',1)
                    ->count();
                $v['required_num'] = $finish_count.'/'.$zhu_quan;
                //完成课时跟全部课时比例
                $v['finish_class'] = $finish_hour['finish_hour'].'/'.$class;
杨育虎 authored
89 90 91 92 93 94 95 96 97 98
                $v['study_id'] = Db::name('study')->where('id',$v['study_id'])->value('examname');
            }
            $result = array("total" => $total, "rows" => $list);

            return json($result);
        }
        $this->assignconfig('ids',$ids);
        return $this->view->fetch();
    }
}