master
cody 2 weeks ago
parent a3b4ebec2c
commit 2008de40dd

@ -162,7 +162,7 @@ class HistoryCourseController extends BaseController
* summary="保存",
* description="",
* @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_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="课程培养人数"),

@ -15,6 +15,7 @@ use App\Models\CourseSign;
use App\Models\CourseType;
use App\Models\CustomFormField;
use App\Models\Department;
use App\Models\HistoryCourse;
use App\Models\ParameterDetail;
use App\Models\SupplyDemand;
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);
return $this->success(compact('list', 'courseTypesSum', 'areas'));

@ -105,8 +105,16 @@ class CourseSign extends SoftDeletesModel
// 返回列表
return $total->get();
} 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;
} 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;
} 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) {
$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_unique')->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