<?php

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Children;
use App\Models\User;
use App\Models\Classes;
use Validator;
use App\Models\Article;
use DB;
use App\Models\Leave;

class ClassController extends ApiController {

	/**
	 *
	 * @api {post} /child/list 孩子列表
	 * @apiName lists
	 * @apiGroup Children
	 * @apiParam {String} page 页码 default:1
	 * @apiSuccess {int} current_page 当前页码
	 * @apiSuccess {int} total 总数
	 * @apiSuccess {list[]} data 分页数据
	 * @apiSuccess (data){int} id
	 * @apiSuccess (data){String} realname 真实姓名
	 * @apiPermission token
	 */
	function lists(Request $request) {

		// // 获取所有孩子
// 		$childId = Children::where ( 'parent_id', $request->user_id )->pluck ( 'id' )->toArray ();

// 		$childStr = implode ( $childId, ',' );
// 		$sql = "select b.id as child_id,b.realname,a.class_id,c.name as class_name from kt_children_class as a left join children as b on a.child_id=b.id left join classes as c on a.class_id=c.id  where b.id in ($childStr)";
// 		$items = DB::select ( $sql );
// 		dump ( $items );

		$children = Children::where ( 'parent_id', $request->user_id )->get ();
		// dd($children);
		$data = [ ];
		foreach ( $children as $key1 => $child ) {
			$classes = Classes::whereIn ( 'id', $child->classes )->get ();
			foreach ( $classes as $key => $class ) {
				$arr [$key] ['child_id'] = $child->id;
				$arr [$key] ['realname'] = $child->realname;
				$arr [$key] ['class_id'] = $class->id;
				$arr [$key] ['class_name'] = $class->name;
			}
			$data [] = $arr;
			unset ( $arr );
		}

		$new_arr = [ ];
		foreach ( $data as $k3 => $dat ) {
			$new_arr = array_merge ( $new_arr, $dat );
		}
// 		dump ( $new_arr );
// 		foreach ( $items as $item ) {
// 			if (strpos ( $item->class_name, "周六" ) !== FALSE)
// 				$item->class_date = getWeek () [6];
// 			if (strpos ( $item->class_name, "周日" ) !== FALSE)
// 				$item->class_date = getWeek () [7];

// 			$item->is_leave = Leave::checkIsLeave ( $item->child_id, $item->class_id, $item->class_date );
// 		}
// 		 dd($items);
		foreach ( $new_arr as $key4 => $new ) {
			if (strpos ( $new ['class_name'], "周六" ) !== FALSE)
				$new_arr [$key4] ['class_date'] = getWeek () [6];
			if (strpos ( $new ['class_name'], "周日" ) !== FALSE)
				$new_arr [$key4] ['class_date'] = getWeek () [7];
			$new_arr [$key4] ['is_leave'] = Leave::checkIsLeave ( $new ['child_id'], $new ['class_id'], $new_arr[$key4] ['class_date'] );
		}

		// 获取已经请假的孩子并给出特殊标识

		return $this->success ( $new_arr );
	}
}
