master
cody 2 weeks ago
parent a3b4ebec2c
commit 2008de40dd

@ -162,7 +162,7 @@ class HistoryCourseController extends BaseController
* summary="保存", * summary="保存",
* description="", * description="",
* @OA\Parameter(name="id", in="query", @OA\Schema(type="int"), required=false, description="Id(存在更新,不存在新增)"), * @OA\Parameter(name="id", in="query", @OA\Schema(type="int"), required=false, description="Id(存在更新,不存在新增)"),
* @OA\Parameter(name="course_type", in="query", @OA\Schema(type="string"), required=true, description="课程体系名称"), * @OA\Parameter(name="type", in="query", @OA\Schema(type="string"), required=true, description="课程体系id"),
* @OA\Parameter(name="course_type_signs_pass", in="query", @OA\Schema(type="integer", format="int64"), required=false, description="培养人数未去重"), * @OA\Parameter(name="course_type_signs_pass", in="query", @OA\Schema(type="integer", format="int64"), required=false, description="培养人数未去重"),
* @OA\Parameter(name="course_type_signs_pass_unique", in="query", @OA\Schema(type="integer", format="int64"), required=false, description="培养人数去重"), * @OA\Parameter(name="course_type_signs_pass_unique", in="query", @OA\Schema(type="integer", format="int64"), required=false, description="培养人数去重"),
* @OA\Parameter(name="course_signs_pass", in="query", @OA\Schema(type="integer", format="int64"), required=false, description="课程培养人数"), * @OA\Parameter(name="course_signs_pass", in="query", @OA\Schema(type="integer", format="int64"), required=false, description="课程培养人数"),

@ -15,6 +15,7 @@ use App\Models\CourseSign;
use App\Models\CourseType; use App\Models\CourseType;
use App\Models\CustomFormField; use App\Models\CustomFormField;
use App\Models\Department; use App\Models\Department;
use App\Models\HistoryCourse;
use App\Models\ParameterDetail; use App\Models\ParameterDetail;
use App\Models\SupplyDemand; use App\Models\SupplyDemand;
use App\Models\TimeEvent; use App\Models\TimeEvent;
@ -271,6 +272,24 @@ class OtherController extends CommonController
]; ];
} }
} }
// 附加历史课程数据
$historyCourses = HistoryCourse::where(function ($query) use ($start_date, $end_date) {
// 开始结束日期的筛选。or查询
$query->whereBetween('start_date', [$start_date, $end_date])
->orWhereBetween('end_date', [$start_date, $end_date]);
})->get();
foreach ($historyCourses as $historyCourse) {
$courseTypesSum[] = [
'course_type' => $historyCourse->course_type,
// 培养人数
'course_type_signs_pass' => $historyCourse->course_type_signs_pass,
// 去重培养人数
'course_type_signs_pass_unique' => $historyCourse->course_type_signs_pass_unique,
'course_name' => $historyCourse->course_name,
'course_signs_pass' => $historyCourse->course_signs_pass,
];
}
// 区域明细统计 // 区域明细统计
$areas = CourseSign::area($start_date, $end_date, 1, $courses->pluck('id'), true); $areas = CourseSign::area($start_date, $end_date, 1, $courses->pluck('id'), true);
return $this->success(compact('list', 'courseTypesSum', 'areas')); return $this->success(compact('list', 'courseTypesSum', 'areas'));

@ -105,8 +105,16 @@ class CourseSign extends SoftDeletesModel
// 返回列表 // 返回列表
return $total->get(); return $total->get();
} else { } else {
// 基础数据
$baseTotal = $total->count();
// 历史数据
$historyTotal = HistoryCourse::where(function ($query) use ($start_date, $end_date) {
// 开始结束日期的筛选。or查询
$query->whereBetween('start_date', [$start_date, $end_date])
->orWhereBetween('end_date', [$start_date, $end_date]);
})->where('type', request('course_type_id'))->sum('course_signs_total');
// 返回统计数据 // 返回统计数据
return $total->count(); return $historyTotal + $baseTotal;
} }
} }
@ -141,8 +149,15 @@ class CourseSign extends SoftDeletesModel
// 列表 // 列表
return $user; return $user;
} else { } else {
$baseTotal = $user->count();
// 历史数据
$historyTotal = HistoryCourse::where(function ($query) use ($start_date, $end_date) {
// 开始结束日期的筛选。or查询
$query->whereBetween('start_date', [$start_date, $end_date])
->orWhereBetween('end_date', [$start_date, $end_date]);
})->where('type', request('course_type_id'))->sum('course_type_signs_pass_unique');
// 统计数据 // 统计数据
return $user->count(); return $baseTotal + $historyTotal;
} }
} }
@ -164,7 +179,14 @@ class CourseSign extends SoftDeletesModel
return $list; return $list;
} else { } else {
// 返回统计数据 // 返回统计数据
return $list->count(); $baseTotal = $list->count();
// 历史数据
$historyTotal = HistoryCourse::where(function ($query) use ($start_date, $end_date) {
// 开始结束日期的筛选。or查询
$query->whereBetween('start_date', [$start_date, $end_date])
->orWhereBetween('end_date', [$start_date, $end_date]);
})->where('type', request('course_type_id'))->sum('course_type_signs_pass_unique');
return $baseTotal + $historyTotal;
} }
} }

@ -14,7 +14,7 @@ return new class extends Migration {
{ {
Schema::create('history_courses', function (Blueprint $table) { Schema::create('history_courses', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('course_type')->comment('课程体系名称'); $table->string('type')->comment('课程体系ID');
$table->integer('course_type_signs_pass')->default(0)->comment('培养人数未去重'); $table->integer('course_type_signs_pass')->default(0)->comment('培养人数未去重');
$table->integer('course_type_signs_pass_unique')->default(0)->comment('培养人数去重'); $table->integer('course_type_signs_pass_unique')->default(0)->comment('培养人数去重');
$table->integer('course_signs_pass')->default(0)->comment('课程培养人数'); $table->integer('course_signs_pass')->default(0)->comment('课程培养人数');

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('course_types', function (Blueprint $table) {
// 是否历史课程
$table->boolean('is_history')->default(false)->comment('是否历史课程0否1是');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('course_types', function (Blueprint $table) {
//
});
}
};
Loading…
Cancel
Save