fix: 完善荣誉成绩录取院校模块
This commit is contained in:
parent
fb0127e90d
commit
23d73d3502
@ -25,7 +25,11 @@ class Achievement extends BaseController
|
|||||||
$params = $request->param();
|
$params = $request->param();
|
||||||
$con = [];
|
$con = [];
|
||||||
|
|
||||||
$con = Tool::getOptionalQuery(['school_category_guid', '='], ['achievement_title', 'LIKE'],);
|
$con = Tool::getOptionalQuery(
|
||||||
|
['a.school_category_guid', '='],
|
||||||
|
['a.achievement_title', 'LIKE'],
|
||||||
|
['a.achievement_content', 'LIKE'],
|
||||||
|
);
|
||||||
|
|
||||||
$query = ModelAchievement::where($con)
|
$query = ModelAchievement::where($con)
|
||||||
->field([
|
->field([
|
||||||
@ -39,7 +43,7 @@ class Achievement extends BaseController
|
|||||||
'a.achievement_sort'
|
'a.achievement_sort'
|
||||||
])
|
])
|
||||||
->alias('a')
|
->alias('a')
|
||||||
->leftjoin('school_category b','a.school_category_guid = b.school_category_guid')
|
->leftjoin('school_category b', 'a.school_category_guid = b.school_category_guid')
|
||||||
->order('achievement_sort', 'asc');
|
->order('achievement_sort', 'asc');
|
||||||
|
|
||||||
return msg("获取录取院校成绩列表成功!", $query);
|
return msg("获取录取院校成绩列表成功!", $query);
|
||||||
@ -50,25 +54,32 @@ class Achievement extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function editAchievement(Request $request): array
|
public function editAchievement(Request $request): array
|
||||||
{
|
{
|
||||||
$params = $request->param();
|
Db::startTrans();
|
||||||
$this->validate($params, [
|
try {
|
||||||
'school_category_guid|录取院校' => 'require',
|
$params = $request->param();
|
||||||
'achievement_title|标题' => 'require',
|
$this->validate($params, [
|
||||||
'achievement_content|内容' => 'require',
|
'school_category_guid|录取院校' => 'require',
|
||||||
'achievement_sub_content|副内容' => 'require',
|
'achievement_title|标题' => 'require',
|
||||||
'achievement_sort|排序' => 'require'
|
'achievement_content|内容' => 'require',
|
||||||
]);
|
'achievement_sub_content|副内容' => 'require',
|
||||||
$model = ModelAchievement::where('achievement_guid', $params['achievement_guid'])->find();
|
'achievement_sort|排序' => 'require'
|
||||||
if (!$model) throwErrorMsg("该录取院校成绩不存在", 1);
|
]);
|
||||||
$model->allowField([
|
$model = ModelAchievement::where('achievement_guid', $params['achievement_guid'])->find();
|
||||||
'achievement_update_user_guid',
|
if (!$model) throwErrorMsg("该录取院校成绩不存在", 1);
|
||||||
'school_category_guid',
|
$model->allowField([
|
||||||
'achievement_title',
|
'achievement_update_user_guid',
|
||||||
'achievement_content',
|
'school_category_guid',
|
||||||
'achievement_sub_content',
|
'achievement_title',
|
||||||
'achievement_sort'
|
'achievement_content',
|
||||||
])->save($params);
|
'achievement_sub_content',
|
||||||
return msg('编辑成功!');
|
'achievement_sort'
|
||||||
|
])->save($params);
|
||||||
|
Db::commit();
|
||||||
|
return msg('编辑成功!');
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,25 +87,32 @@ class Achievement extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function addAchievement(Request $request): array
|
public function addAchievement(Request $request): array
|
||||||
{
|
{
|
||||||
$params = $request->param();
|
Db::startTrans();
|
||||||
$this->validate($params, [
|
try {
|
||||||
'school_category_guid|录取院校' => 'require',
|
$params = $request->param();
|
||||||
'achievement_title|标题' => 'require',
|
$this->validate($params, [
|
||||||
'achievement_content|内容' => 'require',
|
'school_category_guid|录取院校' => 'require',
|
||||||
'achievement_sub_content|副内容' => 'require',
|
'achievement_title|标题' => 'require',
|
||||||
'achievement_sort|排序' => 'require'
|
'achievement_content|内容' => 'require',
|
||||||
]);
|
'achievement_sub_content|副内容' => 'require',
|
||||||
$model = ModelAchievement::create($params, [
|
'achievement_sort|排序' => 'require'
|
||||||
'achievement_guid',
|
]);
|
||||||
'achievement_create_user_guid',
|
$model = ModelAchievement::create($params, [
|
||||||
'achievement_update_user_guid',
|
'achievement_guid',
|
||||||
'school_category_guid',
|
'achievement_create_user_guid',
|
||||||
'achievement_title',
|
'achievement_update_user_guid',
|
||||||
'achievement_content',
|
'school_category_guid',
|
||||||
'achievement_sub_content',
|
'achievement_title',
|
||||||
'achievement_sort'
|
'achievement_content',
|
||||||
]);
|
'achievement_sub_content',
|
||||||
return msg('添加成功!');
|
'achievement_sort'
|
||||||
|
]);
|
||||||
|
Db::commit();
|
||||||
|
return msg('添加成功!');
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -102,15 +120,22 @@ class Achievement extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function deleteAchievement(Request $request): array
|
public function deleteAchievement(Request $request): array
|
||||||
{
|
{
|
||||||
$params = $request->param();
|
Db::startTrans();
|
||||||
$this->validate($params, [
|
try {
|
||||||
'achievement_guid' => 'require',
|
$params = $request->param();
|
||||||
]);
|
$this->validate($params, [
|
||||||
$achievement = ModelAchievement::where([
|
'achievement_guid' => 'require',
|
||||||
'achievement_guid' => explode(',', $params['achievement_guid'])
|
]);
|
||||||
])->select();
|
$achievement = ModelAchievement::where([
|
||||||
$achievement->delete();
|
'achievement_guid' => explode(',', $params['achievement_guid'])
|
||||||
return msg('删除成功!');
|
])->select();
|
||||||
|
$achievement->delete();
|
||||||
|
Db::commit();
|
||||||
|
return msg('删除成功!');
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -119,15 +144,11 @@ class Achievement extends BaseController
|
|||||||
public function exportExcel(Request $request)
|
public function exportExcel(Request $request)
|
||||||
{
|
{
|
||||||
$params = $request->param();
|
$params = $request->param();
|
||||||
$select = ModelAchievement::field([
|
$params['limit'] = 10000;
|
||||||
'school_category_guid',
|
// if (isset($params['signup_guids']) && $params['signup_guids']) {
|
||||||
'achievement_title',
|
// $con['signup.signup_guid'] = explode(',', $params['signup_guids']);
|
||||||
'achievement_content',
|
// }
|
||||||
'achievement_sub_content',
|
$select = self::getAchievementList($request)['data'];
|
||||||
'achievement_sort'
|
|
||||||
])
|
|
||||||
->order('achievement_sort', 'asc')
|
|
||||||
->select();
|
|
||||||
return ModelAchievement::exportExcel($select);
|
return ModelAchievement::exportExcel($select);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,7 +158,10 @@ class Achievement extends BaseController
|
|||||||
public function downloadTemplate(Request $request)
|
public function downloadTemplate(Request $request)
|
||||||
{
|
{
|
||||||
$params = $request->param();
|
$params = $request->param();
|
||||||
$data = array_values(ModelAchievement::EXCELFIELD);
|
$data = [
|
||||||
|
array_values(ModelAchievement::EXCELFIELD),
|
||||||
|
['清华大学美术学院', '2016年', '刘畅、潘欣玥', '录取清华大学', "1"]
|
||||||
|
];
|
||||||
$excel = (new Excel())->exporTsheet($data);
|
$excel = (new Excel())->exporTsheet($data);
|
||||||
$excel->save('录取院校成绩导入模板.xlsx');
|
$excel->save('录取院校成绩导入模板.xlsx');
|
||||||
}
|
}
|
||||||
|
177
app/admin/controller/HonoraryAchievement/SchoolLeaders.php
Normal file
177
app/admin/controller/HonoraryAchievement/SchoolLeaders.php
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\admin\controller\HonoraryAchievement;
|
||||||
|
|
||||||
|
use app\BaseController;
|
||||||
|
use app\common\model\HonoraryAchievement\SchoolLeaders as ModelSchoolLeaders;
|
||||||
|
use app\Request;
|
||||||
|
use think\Validate;
|
||||||
|
use think\exception\ValidateException;
|
||||||
|
use think\facade\Filesystem;
|
||||||
|
use app\common\arw\adjfut\src\Excel;
|
||||||
|
use app\common\arw\adjfut\src\UploadFile;
|
||||||
|
use app\common\exception\Tool;
|
||||||
|
use think\facade\Db;
|
||||||
|
use think\facade\Env;
|
||||||
|
|
||||||
|
|
||||||
|
class SchoolLeaders extends BaseController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 获取录取学院领军者列表
|
||||||
|
*/
|
||||||
|
public function getSchoolLeadersList(Request $request): array
|
||||||
|
{
|
||||||
|
$params = $request->param();
|
||||||
|
$con = [];
|
||||||
|
|
||||||
|
$con = Tool::getOptionalQuery(['a.school_category_guid', '='], ['school_leaders_name', 'LIKE'],['school_leaders_school', 'LIKE'],);
|
||||||
|
|
||||||
|
$query = ModelSchoolLeaders::where($con)
|
||||||
|
->field([
|
||||||
|
'a.school_leaders_id',
|
||||||
|
'a.school_leaders_guid',
|
||||||
|
'a.school_category_guid',
|
||||||
|
'b.school_category_name',
|
||||||
|
'a.school_leaders_name',
|
||||||
|
'a.school_leaders_school',
|
||||||
|
'a.school_leaders_img',
|
||||||
|
'a.school_leaders_sort'
|
||||||
|
])
|
||||||
|
->alias('a')
|
||||||
|
->leftjoin('school_category b', 'a.school_category_guid = b.school_category_guid')
|
||||||
|
->order('school_leaders_sort', 'asc');
|
||||||
|
|
||||||
|
return msg("获取录取学院领军者列表成功!", $query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑录取学院领军者
|
||||||
|
*/
|
||||||
|
public function editSchoolLeaders(Request $request): array
|
||||||
|
{
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$params = $request->param();
|
||||||
|
$this->validate($params, [
|
||||||
|
'school_category_guid|录取院校' => 'require',
|
||||||
|
'school_leaders_name|名称' => 'require',
|
||||||
|
'school_leaders_school|所属院校' => 'require',
|
||||||
|
'school_leaders_img|图片' => 'require'
|
||||||
|
]);
|
||||||
|
$model = ModelSchoolLeaders::where('school_leaders_guid', $params['school_leaders_guid'])->find();
|
||||||
|
if (!$model) throwErrorMsg("该录取学院领军者不存在", 1);
|
||||||
|
$model->allowField([
|
||||||
|
'school_leaders_update_user_guid',
|
||||||
|
'school_category_guid',
|
||||||
|
'school_leaders_name',
|
||||||
|
'school_leaders_school',
|
||||||
|
'school_leaders_img',
|
||||||
|
'school_leaders_sort'
|
||||||
|
])->save($params);
|
||||||
|
Db::commit();
|
||||||
|
return msg('编辑成功!');
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加录取学院领军者
|
||||||
|
*/
|
||||||
|
public function addSchoolLeaders(Request $request): array
|
||||||
|
{
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$params = $request->param();
|
||||||
|
$this->validate($params, [
|
||||||
|
'school_category_guid|录取院校' => 'require',
|
||||||
|
'school_leaders_name|名称' => 'require',
|
||||||
|
'school_leaders_school|所属院校' => 'require',
|
||||||
|
'school_leaders_img|图片' => 'require'
|
||||||
|
]);
|
||||||
|
$model = ModelSchoolLeaders::create($params, [
|
||||||
|
'school_leaders_guid',
|
||||||
|
'school_leaders_create_user_guid',
|
||||||
|
'school_leaders_update_user_guid',
|
||||||
|
'school_category_guid',
|
||||||
|
'school_leaders_name',
|
||||||
|
'school_leaders_school',
|
||||||
|
'school_leaders_img',
|
||||||
|
'school_leaders_sort'
|
||||||
|
]);
|
||||||
|
Db::commit();
|
||||||
|
return msg('添加成功!');
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除录取学院领军者
|
||||||
|
*/
|
||||||
|
public function deleteSchoolLeaders(Request $request): array
|
||||||
|
{
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$params = $request->param();
|
||||||
|
$this->validate($params, [
|
||||||
|
'school_leaders_guid' => 'require',
|
||||||
|
]);
|
||||||
|
$school_leaders = ModelSchoolLeaders::where([
|
||||||
|
'school_leaders_guid' => explode(',', $params['school_leaders_guid'])
|
||||||
|
])->select();
|
||||||
|
$school_leaders->delete();
|
||||||
|
Db::commit();
|
||||||
|
return msg('删除成功!');
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出Excel
|
||||||
|
*/
|
||||||
|
public function exportExcel(Request $request)
|
||||||
|
{
|
||||||
|
$params = $request->param();
|
||||||
|
$params['limit'] = 10000;
|
||||||
|
// if (isset($params['signup_guids']) && $params['signup_guids']) {
|
||||||
|
// $con['signup.signup_guid'] = explode(',', $params['signup_guids']);
|
||||||
|
// }
|
||||||
|
$select = self::getSchoolLeadersList($request)['data'];
|
||||||
|
return ModelSchoolLeaders::exportExcel($select);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载导入模板
|
||||||
|
*/
|
||||||
|
public function downloadTemplate(Request $request)
|
||||||
|
{
|
||||||
|
$params = $request->param();
|
||||||
|
$data = [
|
||||||
|
array_values(ModelSchoolLeaders::EXCELFIELD),
|
||||||
|
['清华大学美术学院', '糖金金', '广州第一大学', "1"]
|
||||||
|
];
|
||||||
|
$excel = (new Excel())->exporTsheet($data);
|
||||||
|
$excel->save('录取学院领军者导入模板.xlsx');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入excel
|
||||||
|
*/
|
||||||
|
public function importExcel(Request $request)
|
||||||
|
{
|
||||||
|
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||||
|
$file->putFile('school_leaders');
|
||||||
|
|
||||||
|
$msg = ModelSchoolLeaders::importExcel($file);
|
||||||
|
return [
|
||||||
|
'code' => 0,
|
||||||
|
'msg' => $msg
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@ -268,4 +268,23 @@ class Dictionary extends BaseModel
|
|||||||
};
|
};
|
||||||
return $dictionary_name;
|
return $dictionary_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典集合(二级)指定字名称的值
|
||||||
|
*
|
||||||
|
* @param array $dictionary_data 字典集合
|
||||||
|
* @param string $dictionary_name 字典名称
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public static function getDataDictionaryValue(array $dictionary_data, string $dictionary_name)
|
||||||
|
{
|
||||||
|
$dictionary_value = null;
|
||||||
|
foreach ($dictionary_data as $dictionary) {
|
||||||
|
if ($dictionary['dictionary_name'] == $dictionary_name) {
|
||||||
|
$dictionary_value = $dictionary['dictionary_value'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return $dictionary_value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ use app\common\arw\adjfut\src\Excel;
|
|||||||
use app\Request;
|
use app\Request;
|
||||||
use app\common\exception\Tool;
|
use app\common\exception\Tool;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
use app\common\model\Dictionary\Dictionary as ModelDictionary;
|
||||||
|
|
||||||
class EnrolAq extends BaseModel
|
class EnrolAq extends BaseModel
|
||||||
{
|
{
|
||||||
@ -115,6 +116,13 @@ class EnrolAq extends BaseModel
|
|||||||
'回答状态'
|
'回答状态'
|
||||||
]];
|
]];
|
||||||
foreach ($select as $key => $val) {
|
foreach ($select as $key => $val) {
|
||||||
|
// 字典取值
|
||||||
|
$show_status = ModelDictionary::getDictionaryData('show_status');
|
||||||
|
$answer_status = ModelDictionary::getDictionaryData('answer_status');
|
||||||
|
$val['enrol_aq_status'] = ModelDictionary::getDataDictionaryName($show_status, $val['enrol_aq_status']);
|
||||||
|
$val['enrol_aq_answer_status'] = ModelDictionary::getDataDictionaryName($answer_status, $val['enrol_aq_answer_status']);
|
||||||
|
|
||||||
|
|
||||||
$data[] = [
|
$data[] = [
|
||||||
$val['enrol_aq_question'],
|
$val['enrol_aq_question'],
|
||||||
$val['enrol_aq_answer'],
|
$val['enrol_aq_answer'],
|
||||||
@ -127,10 +135,4 @@ class EnrolAq extends BaseModel
|
|||||||
$excel->save('招生问答.xlsx');
|
$excel->save('招生问答.xlsx');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// public function getEnrolAqStatusBoolAttr($value)
|
|
||||||
// {
|
|
||||||
// return $value == 1 ? false : true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,9 @@ use think\model\concern\SoftDelete;
|
|||||||
use app\common\arw\adjfut\src\Excel;
|
use app\common\arw\adjfut\src\Excel;
|
||||||
use app\Request;
|
use app\Request;
|
||||||
use app\common\exception\Tool;
|
use app\common\exception\Tool;
|
||||||
|
use PSpell\Dictionary;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
use app\common\model\HonoraryAchievement\SchoolCategory as ModelSchoolCategory;
|
||||||
|
|
||||||
class Achievement extends BaseModel
|
class Achievement extends BaseModel
|
||||||
{
|
{
|
||||||
@ -61,21 +63,26 @@ class Achievement extends BaseModel
|
|||||||
|
|
||||||
// excel导入/下载模板表头
|
// excel导入/下载模板表头
|
||||||
public const EXCELFIELD = [
|
public const EXCELFIELD = [
|
||||||
'school_category_guid' => '录取院校',
|
'school_category_name' => '录取院校',
|
||||||
'achievement_title' => '标题',
|
'achievement_title' => '标题',
|
||||||
'achievement_content' => '内容',
|
'achievement_content' => '内容',
|
||||||
'achievement_sub_content' => '副内容',
|
'achievement_sub_content' => '副内容',
|
||||||
'achievement_sort' => '排序',
|
'achievement_sort' => '排序',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
//排序字段
|
||||||
|
public $order_field = 'achievement_sort';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增前
|
* 新增前
|
||||||
*/
|
*/
|
||||||
public static function onBeforeInsert(self $model): void
|
public static function onBeforeInsert(self $model): void
|
||||||
{
|
{
|
||||||
// self::checkRepeatData($model);
|
Tool::sortInsertProc(
|
||||||
|
self::class,
|
||||||
|
$model->achievement_sort,
|
||||||
|
['school_category_guid' => $model->school_category_guid]
|
||||||
|
);
|
||||||
$model->completeCreateField();
|
$model->completeCreateField();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,7 +91,12 @@ class Achievement extends BaseModel
|
|||||||
*/
|
*/
|
||||||
public static function onBeforeUpdate(self $model): void
|
public static function onBeforeUpdate(self $model): void
|
||||||
{
|
{
|
||||||
// self::checkRepeatData($model);
|
Tool::sortEditProc(
|
||||||
|
self::class,
|
||||||
|
$model->achievement_guid,
|
||||||
|
$model->achievement_sort,
|
||||||
|
['school_category_guid' => $model->school_category_guid]
|
||||||
|
);
|
||||||
$model->completeUpdateField();
|
$model->completeUpdateField();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,9 +105,11 @@ class Achievement extends BaseModel
|
|||||||
*/
|
*/
|
||||||
public static function onBeforeDelete(self $model): void
|
public static function onBeforeDelete(self $model): void
|
||||||
{
|
{
|
||||||
|
Tool::sortDeleteProc(self::class, $model->school_category_guid);
|
||||||
$model->completeDeleteField();
|
$model->completeDeleteField();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出Excel
|
* 导出Excel
|
||||||
*/
|
*/
|
||||||
@ -110,7 +124,7 @@ class Achievement extends BaseModel
|
|||||||
]];
|
]];
|
||||||
foreach ($select as $key => $val) {
|
foreach ($select as $key => $val) {
|
||||||
$data[] = [
|
$data[] = [
|
||||||
$val['school_category_guid'],
|
$val['school_category_name'],
|
||||||
$val['achievement_title'],
|
$val['achievement_title'],
|
||||||
$val['achievement_content'],
|
$val['achievement_content'],
|
||||||
$val['achievement_sub_content'],
|
$val['achievement_sub_content'],
|
||||||
@ -142,7 +156,7 @@ class Achievement extends BaseModel
|
|||||||
foreach ($data as $line => $value) {
|
foreach ($data as $line => $value) {
|
||||||
try {
|
try {
|
||||||
$model = self::importExcelInit($value);
|
$model = self::importExcelInit($value);
|
||||||
$msg[] = "{$line} <span style='color:#27af49'>新增成功!</span><br>";
|
$msg[] = "{$line} <span style='color:#27af49'> 【{$model->school_category_name}】的{$model->achievement_title}数据 新增成功!</span><br>";
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||||
}
|
}
|
||||||
@ -160,17 +174,26 @@ class Achievement extends BaseModel
|
|||||||
*/
|
*/
|
||||||
public static function importExcelInit($value)
|
public static function importExcelInit($value)
|
||||||
{
|
{
|
||||||
$school_category_guid = $value['school_category_guid'];
|
$school_category_name = $value['school_category_name'];
|
||||||
$achievement_title = $value['achievement_title'];
|
$achievement_title = $value['achievement_title'];
|
||||||
$achievement_content = $value['achievement_content'];
|
$achievement_content = $value['achievement_content'];
|
||||||
$achievement_sub_content = $value['achievement_sub_content'];
|
$achievement_sub_content = $value['achievement_sub_content'];
|
||||||
$achievement_sort = $value['achievement_sort'];
|
$achievement_sort = $value['achievement_sort'];
|
||||||
return self::create([
|
|
||||||
|
// 录取院校
|
||||||
|
$school_category = ModelSchoolCategory::where('school_category_name',$school_category_name)->find();
|
||||||
|
if(!$school_category) throwErrorMsg( $school_category_name . " 录取院校不存在!");
|
||||||
|
else $school_category_guid = $school_category->school_category_guid;
|
||||||
|
|
||||||
|
$model = self::create([
|
||||||
'school_category_guid' => $school_category_guid,
|
'school_category_guid' => $school_category_guid,
|
||||||
'achievement_title' => $achievement_title,
|
'achievement_title' => $achievement_title,
|
||||||
'achievement_content' => $achievement_content,
|
'achievement_content' => $achievement_content,
|
||||||
'achievement_sub_content' => $achievement_sub_content,
|
'achievement_sub_content' => $achievement_sub_content,
|
||||||
'achievement_sort' => $achievement_sort,
|
'achievement_sort' => $achievement_sort,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$model['school_category_name'] = $school_category_name;
|
||||||
|
return $model;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ use app\common\arw\adjfut\src\Excel;
|
|||||||
use app\Request;
|
use app\Request;
|
||||||
use app\common\exception\Tool;
|
use app\common\exception\Tool;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
use app\common\model\HonoraryAchievement\SchoolCategory as ModelSchoolCategory;
|
||||||
|
|
||||||
class SchoolCategory extends BaseModel
|
class SchoolCategory extends BaseModel
|
||||||
{
|
{
|
||||||
|
196
app/common/model/HonoraryAchievement/SchoolLeaders.php
Normal file
196
app/common/model/HonoraryAchievement/SchoolLeaders.php
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\common\model\HonoraryAchievement;
|
||||||
|
|
||||||
|
use app\common\arw\adjfut\src\Validate;
|
||||||
|
use app\BaseModel;
|
||||||
|
use think\model\concern\SoftDelete;
|
||||||
|
use app\common\arw\adjfut\src\Excel;
|
||||||
|
use app\Request;
|
||||||
|
use app\common\exception\Tool;
|
||||||
|
use think\facade\Db;
|
||||||
|
use app\common\model\HonoraryAchievement\SchoolCategory as ModelSchoolCategory;
|
||||||
|
|
||||||
|
class SchoolLeaders extends BaseModel
|
||||||
|
{
|
||||||
|
use SoftDelete;
|
||||||
|
// 删除字段
|
||||||
|
protected $deleteTime = 'school_leaders_delete_time';
|
||||||
|
// 设置主键名
|
||||||
|
protected $pk = 'school_leaders_guid';
|
||||||
|
// 设置废弃字段
|
||||||
|
protected $disuse = [];
|
||||||
|
// 设置字段信息
|
||||||
|
protected $schema = [
|
||||||
|
|
||||||
|
"school_leaders_id" => "int",
|
||||||
|
|
||||||
|
"school_leaders_nameschool_leaders_nameschool_leaders_name" => "string",
|
||||||
|
|
||||||
|
"school_category_guid" => "string",
|
||||||
|
|
||||||
|
"school_leaders_name" => "string",
|
||||||
|
|
||||||
|
"school_leaders_school" => "string",
|
||||||
|
|
||||||
|
"school_leaders_img" => "string",
|
||||||
|
|
||||||
|
"school_leaders_sort" => "int",
|
||||||
|
|
||||||
|
"school_leaders_create_time" => "datetime",
|
||||||
|
|
||||||
|
"school_leaders_create_user_guid" => "string",
|
||||||
|
|
||||||
|
"school_leaders_update_time" => "datetime",
|
||||||
|
|
||||||
|
"school_leaders_update_user_guid" => "string",
|
||||||
|
|
||||||
|
"school_leaders_delete_time" => "datetime",
|
||||||
|
|
||||||
|
"school_leaders_delete_user_guid" => "string",
|
||||||
|
|
||||||
|
];
|
||||||
|
// 设置json类型字段
|
||||||
|
protected $json = [''];
|
||||||
|
// 开启自动写入时间戳字段
|
||||||
|
protected $autoWriteTimestamp = 'datetime';
|
||||||
|
// 创建时间
|
||||||
|
protected $createTime = 'school_leaders_create_time';
|
||||||
|
// 修改时间
|
||||||
|
protected $updateTime = 'school_leaders_update_time';
|
||||||
|
|
||||||
|
|
||||||
|
// excel导入/下载模板表头
|
||||||
|
public const EXCELFIELD = [
|
||||||
|
'school_category_name' => '录取院校',
|
||||||
|
'school_leaders_name' => '领军者名称',
|
||||||
|
'school_leaders_school' => '领军者所属院校',
|
||||||
|
'school_leaders_sort' => '领军者排序',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//排序字段
|
||||||
|
public $order_field = 'school_leaders_sort';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增前
|
||||||
|
*/
|
||||||
|
public static function onBeforeInsert(self $model): void
|
||||||
|
{
|
||||||
|
Tool::sortInsertProc(
|
||||||
|
self::class,
|
||||||
|
$model->school_leaders_sort,
|
||||||
|
['school_category_guid' => $model->school_category_guid]
|
||||||
|
);
|
||||||
|
$model->completeCreateField();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新前
|
||||||
|
*/
|
||||||
|
public static function onBeforeUpdate(self $model): void
|
||||||
|
{
|
||||||
|
Tool::sortEditProc(
|
||||||
|
self::class,
|
||||||
|
$model->school_leaders_guid,
|
||||||
|
$model->school_leaders_sort,
|
||||||
|
['school_category_guid' => $model->school_category_guid]
|
||||||
|
);
|
||||||
|
$model->completeUpdateField();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除前
|
||||||
|
*/
|
||||||
|
public static function onBeforeDelete(self $model): void
|
||||||
|
{
|
||||||
|
Tool::sortDeleteProc(self::class, $model->school_category_guid);
|
||||||
|
$model->completeDeleteField();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出Excel
|
||||||
|
*/
|
||||||
|
public static function exportExcel($select)
|
||||||
|
{
|
||||||
|
$data = [[
|
||||||
|
'录取院校',
|
||||||
|
'名称',
|
||||||
|
'所属院校',
|
||||||
|
'图片',
|
||||||
|
'排序'
|
||||||
|
]];
|
||||||
|
foreach ($select as $key => $val) {
|
||||||
|
$data[] = [
|
||||||
|
$val['school_category_name'],
|
||||||
|
$val['school_leaders_name'],
|
||||||
|
$val['school_leaders_school'],
|
||||||
|
Excel::ExportImgFiled($val['school_leaders_img']),
|
||||||
|
$val['school_leaders_sort'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
$excel = (new Excel())->exporTsheet($data);
|
||||||
|
$excel->save('录取学院领军者.xlsx');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入excel
|
||||||
|
*/
|
||||||
|
public static function importExcel($file)
|
||||||
|
{
|
||||||
|
$msg = [];
|
||||||
|
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$excel = new Excel($file);
|
||||||
|
$data = $excel->parseExcel(
|
||||||
|
Tool::getExcelRule(self::EXCELFIELD),
|
||||||
|
[
|
||||||
|
'titleLine' => [1]
|
||||||
|
]
|
||||||
|
);
|
||||||
|
if (!$data) throwErrorMsg('excel无数据', 1);
|
||||||
|
$msg = [];
|
||||||
|
foreach ($data as $line => $value) {
|
||||||
|
try {
|
||||||
|
$model = self::importExcelInit($value);
|
||||||
|
$msg[] = "{$line} <span style='color:#27af49'>【{$model->school_category_name}】的{$model->school_leaders_name} 新增成功!</span><br>";
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Db::commit();
|
||||||
|
return implode(', ', $msg);
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Db::rollback();
|
||||||
|
throw $th;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入excel初始化
|
||||||
|
*/
|
||||||
|
public static function importExcelInit($value)
|
||||||
|
{
|
||||||
|
$school_category_name = $value['school_category_name'];
|
||||||
|
$school_leaders_name = $value['school_leaders_name'];
|
||||||
|
$school_leaders_school = $value['school_leaders_school'];
|
||||||
|
$school_leaders_sort = $value['school_leaders_sort'];
|
||||||
|
|
||||||
|
// 录取院校
|
||||||
|
$school_category = ModelSchoolCategory::where('school_category_name',$school_category_name)->find();
|
||||||
|
if(!$school_category) throwErrorMsg( $school_category_name . " 录取院校不存在!");
|
||||||
|
else $school_category_guid = $school_category->school_category_guid;
|
||||||
|
|
||||||
|
$model = self::create([
|
||||||
|
'school_category_guid' => $school_category_guid,
|
||||||
|
'school_leaders_name' => $school_leaders_name,
|
||||||
|
'school_leaders_school' => $school_leaders_school,
|
||||||
|
'school_leaders_sort' => $school_leaders_sort,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$model['school_category_name'] = $school_category_name;
|
||||||
|
return $model;
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
public/excel/荣誉成绩/录取学院领军者导入模板.xlsx
Normal file
BIN
public/excel/荣誉成绩/录取学院领军者导入模板.xlsx
Normal file
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user