This commit is contained in:
weiz 2024-03-22 16:39:31 +08:00
parent 85be542474
commit 6a3fc45e04
4 changed files with 268 additions and 262 deletions

View File

@ -12,109 +12,110 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\project\ProjectCostTempSet; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectCostTempSet;
use app\common\model\project\ProjectTypeSet; use app\common\model\project\ProjectTypeSet;
use think\facade\Db; use think\facade\Db;
/** /**
* 项目费用模板逻辑 * 项目费用模板逻辑
* Class ProjectCostTempSetLogic * Class ProjectCostTempSetLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectCostTempSetLogic extends BaseLogic class ProjectCostTempSetLogic extends BaseLogic
{ {
/** /**
* @notes 添加项目费用模板 * @notes 添加项目费用模板
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2023/12/14 11:54 * @date 2023/12/14 11:54
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
ProjectCostTempSet::create([ ProjectCostTempSet::create([
'project_type_id' => $params['project_type_id'], 'project_type_id' => $params['project_type_id'],
'subject_code' => $params['subject_code'], 'subject_code' => $params['subject_code'],
'first_level_subject' => $params['first_level_subject'], 'first_level_subject' => $params['first_level_subject'],
'second_level_subject' => $params['second_level_subject'], 'second_level_subject' => $params['second_level_subject'],
'third_level_subject' => $params['third_level_subject'], 'third_level_subject' => $params['third_level_subject'],
'unit' => $params['unit'], 'unit' => $params['unit'],
'is_travel' => $params['is_travel'], 'is_travel' => $params['is_travel'],
]); ]);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
self::setError($e->getMessage()); self::setError($e->getMessage());
return false; return false;
} }
} }
/** /**
* @notes 编辑项目费用模板 * @notes 编辑项目费用模板
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2023/12/14 11:54 * @date 2023/12/14 11:54
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
ProjectCostTempSet::where('id', $params['id'])->update([ ProjectCostTempSet::where('id', $params['id'])->update([
'project_type_id' => $params['project_type_id'], 'project_type_id' => $params['project_type_id'],
'subject_code' => $params['subject_code'], 'subject_code' => $params['subject_code'],
'first_level_subject' => $params['first_level_subject'], 'first_level_subject' => $params['first_level_subject'],
'second_level_subject' => $params['second_level_subject'], 'second_level_subject' => $params['second_level_subject'],
'third_level_subject' => $params['third_level_subject'], 'third_level_subject' => $params['third_level_subject'],
'unit' => $params['unit'], 'unit' => $params['unit'],
'is_travel' => $params['is_travel'], 'is_travel' => $params['is_travel'],
]); ]);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
self::setError($e->getMessage()); self::setError($e->getMessage());
return false; return false;
} }
} }
/** /**
* @notes 删除项目费用模板 * @notes 删除项目费用模板
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2023/12/14 11:54 * @date 2023/12/14 11:54
*/ */
public static function delete(array $params): bool public static function delete(array $params): bool
{ {
return ProjectCostTempSet::destroy($params['id']); return ProjectCostTempSet::destroy($params['id']);
} }
/** /**
* @notes 获取项目费用模板详情 * @notes 获取项目费用模板详情
* @param $params * @param $params
* @return array * @return array
* @author likeadmin * @author likeadmin
* @date 2023/12/14 11:54 * @date 2023/12/14 11:54
*/ */
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectCostTempSet::field('id,project_type_id,subject_code,first_level_subject,second_level_subject,third_level_subject,unit,is_travel')->findOrEmpty($params['id'])->toArray(); $data = ProjectCostTempSet::field('id,project_type_id,subject_code,first_level_subject,second_level_subject,third_level_subject,unit,is_travel')->findOrEmpty($params['id']);
$projectType = ProjectTypeSet::field('name')->where('id',$data['project_type_id'])->findOrEmpty(); $projectType = ProjectTypeSet::field('name')->where('id', $data['project_type_id'])->findOrEmpty();
$data['project_type_name'] = $projectType['name']; $data['project_type_name'] = $projectType['name'];
return $data; $data['is_travel_text'] = $data->is_travel_text;
} return $data->toArray();
} }
}

View File

@ -12,111 +12,112 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\project\ProjectDocumentSet; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectDocumentSet;
use app\common\model\project\ProjectTypeSet; use app\common\model\project\ProjectTypeSet;
use think\facade\Db; use think\facade\Db;
/** /**
* 项目文档设置逻辑 * 项目文档设置逻辑
* Class ProjectDocumentSetLogic * Class ProjectDocumentSetLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectDocumentSetLogic extends BaseLogic class ProjectDocumentSetLogic extends BaseLogic
{ {
/** /**
* @notes 添加项目文档设置 * @notes 添加项目文档设置
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2023/12/14 14:26 * @date 2023/12/14 14:26
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
ProjectDocumentSet::create([ ProjectDocumentSet::create([
'project_type_id' => $params['project_type_id'], 'project_type_id' => $params['project_type_id'],
'large_category' => $params['large_category'], 'large_category' => $params['large_category'],
'middle_category' => $params['middle_category'], 'middle_category' => $params['middle_category'],
'small_category' => $params['small_category'], 'small_category' => $params['small_category'],
'name' => $params['name'], 'name' => $params['name'],
'describe' => $params['describe'], 'describe' => $params['describe'],
'is_upload' => $params['is_upload'], 'is_upload' => $params['is_upload'],
'sort' => $params['sort'], 'sort' => $params['sort'],
]); ]);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
self::setError($e->getMessage()); self::setError($e->getMessage());
return false; return false;
} }
} }
/** /**
* @notes 编辑项目文档设置 * @notes 编辑项目文档设置
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2023/12/14 14:26 * @date 2023/12/14 14:26
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
ProjectDocumentSet::where('id', $params['id'])->update([ ProjectDocumentSet::where('id', $params['id'])->update([
'project_type_id' => $params['project_type_id'], 'project_type_id' => $params['project_type_id'],
'large_category' => $params['large_category'], 'large_category' => $params['large_category'],
'middle_category' => $params['middle_category'], 'middle_category' => $params['middle_category'],
'small_category' => $params['small_category'], 'small_category' => $params['small_category'],
'name' => $params['name'], 'name' => $params['name'],
'describe' => $params['describe'], 'describe' => $params['describe'],
'is_upload' => $params['is_upload'], 'is_upload' => $params['is_upload'],
'sort' => $params['sort'], 'sort' => $params['sort'],
]); ]);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
self::setError($e->getMessage()); self::setError($e->getMessage());
return false; return false;
} }
} }
/** /**
* @notes 删除项目文档设置 * @notes 删除项目文档设置
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2023/12/14 14:26 * @date 2023/12/14 14:26
*/ */
public static function delete(array $params): bool public static function delete(array $params): bool
{ {
return ProjectDocumentSet::destroy($params['id']); return ProjectDocumentSet::destroy($params['id']);
} }
/** /**
* @notes 获取项目文档设置详情 * @notes 获取项目文档设置详情
* @param $params * @param $params
* @return array * @return array
* @author likeadmin * @author likeadmin
* @date 2023/12/14 14:26 * @date 2023/12/14 14:26
*/ */
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectDocumentSet::field('id,project_type_id,large_category,middle_category,small_category,name,describe,is_upload,sort')->findOrEmpty($params['id'])->toArray(); $data = ProjectDocumentSet::field('id,project_type_id,large_category,middle_category,small_category,name,describe,is_upload,sort')->findOrEmpty($params['id']);
$projectType = ProjectTypeSet::field('name')->where('id',$data['project_type_id'])->findOrEmpty(); $projectType = ProjectTypeSet::field('name')->where('id', $data['project_type_id'])->findOrEmpty();
$data['project_type_name'] = $projectType['name']; $data['project_type_name'] = $projectType['name'];
return $data; $data['is_upload_text'] = $data->is_upload_text;
} return $data->toArray();
} }
}

View File

@ -12,27 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\common\model\project; namespace app\common\model\project;
use app\common\model\BaseModel; use app\common\model\BaseModel;
/**
* 项目费用模板模型
* Class ProjectCostTempSet
* @package app\common\model\project
*/
class ProjectCostTempSet extends BaseModel
{
/** protected $name = 'project_cost_temp_set';
* 项目费用模板模型
* Class ProjectCostTempSet
* @package app\common\model\project
*/
class ProjectCostTempSet extends BaseModel
{
protected $name = 'project_cost_temp_set';
public function getIsTravelTextAttr($value,$data): string public function getIsTravelTextAttr($value, $data): string
{ {
$arr = [1=>'是', 2=>'否']; $arr = [1 => '是', 2 => '否'];
return $arr[$data['is_travel']]; return !empty($data['is_travel']) ? $arr[$data['is_travel']] : '';
} }
} }

View File

@ -12,23 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\common\model\project; namespace app\common\model\project;
use app\common\model\BaseModel; use app\common\model\BaseModel;
use think\model\concern\SoftDelete; use think\model\concern\SoftDelete;
/** /**
* 项目文档设置模型 * 项目文档设置模型
* Class ProjectDocumentSet * Class ProjectDocumentSet
* @package app\common\model\project * @package app\common\model\project
*/ */
class ProjectDocumentSet extends BaseModel class ProjectDocumentSet extends BaseModel
{ {
use SoftDelete; use SoftDelete;
protected $name = 'project_document_set';
protected $deleteTime = 'delete_time';
protected $name = 'project_document_set';
protected $deleteTime = 'delete_time';
} public function getIsUploadTextAttr($value, $data): string
{
$arr = [1 => '是', 2 => '否'];
return !empty($data['is_upload']) ? $arr[$data['is_upload']] : '';
}
}