liumiao
2021-02-02 d7c0f4b377dad340bdd90451d119ea1ee4de20e9
增加错误提示
1 files modified
34 ■■■■ changed files
app/Http/Controllers/Api/v1/ClassScheduleController.php 34 ●●●● patch | view | raw | blame | history
app/Http/Controllers/Api/v1/ClassScheduleController.php
@@ -285,12 +285,13 @@
    {
        //获取班级人脸签到记录学员
        $coWhere = ["cs.classCode" => $classCode, "cs.status" => 1, "cs.isDelete" => 0, "cs.isDeleteReason" => 0, "s.status" => 1, "s.isDelete" => 0];
        $coSelect = ["s.username", "s.name", "s.englishName", "s.phoneNumber as phone", "s.faceImg as headPhoto", "fa.faceImg", "fa.createdTime", "fa.type as signInType"];
        $coSelect = ["s.username", "s.name", "s.englishName", "s.phoneNumber as phone", "s.faceImg as headPhoto", "fa.faceImg", "fa.createdTime", "fa.type as signInType", "fa.courseTableId"];
        $query = CombineOrdersModel::getClassStudentsSignInList($classNumber, $contentTime);
        $classStudents = CombineOrdersModel::getDataJoinList($query, $coWhere, $coSelect);
        $classMap = [];
        foreach($classStudents as $csKey => $csVal)
        {
            $name = "";
            if($csVal["englishName"] && $csVal["name"])
            {
@@ -309,6 +310,10 @@
            $csVal["headPhoto"] = $this->fun->getFacePath($csVal["headPhoto"]);
            $csVal["faceImg"] = $this->fun->getFacePath($csVal["faceImg"]);
            $csVal["createdTime"] = !empty($csVal["createdTime"]) ? substr($csVal["createdTime"], 11, 16) : '';
            if(!empty($csVal['courseTableId']) && $courseTableId != $csVal['courseTableId'])
            {
                continue;
            }
            $classMap[] = $csVal;
        }
        return array_values(array_unique($classMap, SORT_REGULAR));
@@ -377,10 +382,6 @@
            case 2:
                $tWhere = ["UserId" => $teacherId, "isDelete" => 0];
                $teacherList = CourseTableTeacherModuleModel::getRecordListCondition($tWhere, ["classNumber", "classCode"])->toArray();
                if(empty($teacherList))
                {
                    return $this->_response(null, ResponseCode::COMMON_ERROR, "数据为空");
                }
                $classNumberMap = "";
                $classCodeMap = [];
                foreach($teacherList as $val)
@@ -388,14 +389,16 @@
                    $classNumberMap .= "'" . $val["classNumber"] . "',";
                    $classCodeMap[] = $val["classCode"];
                }
                $classNumber = implode(',', array_unique(explode(',', rtrim($classNumberMap, ','))));
                $classCode = implode(',', array_unique($classCodeMap));
                $where .= " and ct.classNumber in ({$classNumber}) and ct.classCode in ({$classCode})";
                $classNumber = !empty($classNumberMap) ? implode(',', array_unique(explode(',', rtrim($classNumberMap, ',')))) : '""';
                $classCode = !empty($classCodeMap) ? implode(',', array_unique($classCodeMap)) : 0;
                $where .= " and (ct.classNumber in ({$classNumber}) and ct.classCode in ({$classCode}) or (ct.hometeacherId = '{$teacherId}'))";
                $list = CourseTableModel::queryRoleJoinList($where);
                break;
            case 3:
                $where .= " and ct.hometeacherId =" . $teacherId;
                $list = CourseTableModel::queryRoleJoinList($where);
//                $where .= " and ct.hometeacherId = '{$teacherId}'";
//                $list = CourseTableModel::queryRoleJoinList($where);
                $list = [];
                break;
            default:
                return $this->_response("", ResponseCode::PARAM_ERROR, "参数错误");
@@ -443,7 +446,7 @@
            //班级人数
            $classStudentsNum = !empty($students[$val["classCode"]]) ? count($students[$val["classCode"]]) : 0;
            $signIn = !empty($faceList[$val["classCode"] . "-" . $val["classNumber"] . "-" . $val["contentTime"]]) ? count($faceList[$val["classCode"] . "-" . $val["classNumber"] . "-" . $val["contentTime"]]) : 0; //人脸签到
            $signIn = !empty($faceList[$val["classCode"] . "-" . $val["classNumber"] . "-" . $val["contentTime"] . "-" . $val["courseTableId"]]) ? count($faceList[$val["classCode"] . "-" . $val["classNumber"] . "-" . $val["contentTime"] . "-" . $val["courseTableId"]]) : 0; //人脸签到
            //学员签到记录
            $recordList = !empty($recordMap[$val["courseTableId"]]) ? $recordMap[$val["courseTableId"]] : [];
            $actualNum = 0; //出勤
@@ -492,12 +495,11 @@
    public function getFaceList($classCodeArr)
    {
        $faceMap = [];
        $list = FaceAttendanceModel::getRecordListCondition(["classCode" => ["wherein" => $classCodeArr]], ["classCode", "classNumber", "contentTime"])->toArray();
        $list = FaceAttendanceModel::getRecordListCondition(["classCode" => ["wherein" => $classCodeArr]], ["classCode", "classNumber", "contentTime", "courseTableId"])->toArray();
        foreach($list as $val)
        {
            $faceMap[$val["classCode"] . "-" . $val["classNumber"] . "-" . $val["contentTime"]][] = $val;
            $faceMap[$val["classCode"] . "-" . $val["classNumber"] . "-" . $val["contentTime"] . "-" . $val['courseTableId']][] = $val;
        }
        return $faceMap;
    }
@@ -635,11 +637,11 @@
        {
            $roleType = 1;
        }
        else if(in_array(2020, $roleIdList))
        else if(in_array(2020, $roleIdList) || in_array(3085, $roleIdList))
        {
            $roleType = 2;
        }
        else if(in_array(3085, $roleIdList))
        else
        {
            $roleType = 3;
        }