61 lines
2.6 KiB
PHP
61 lines
2.6 KiB
PHP
<?php
|
||
|
||
namespace app\adminapi\logic\cost_project;
|
||
|
||
use app\common\logic\BaseLogic;
|
||
use app\common\model\auth\Admin;
|
||
use app\common\model\dept\Dept;
|
||
use app\common\model\marketing\MarketingContract;
|
||
use app\common\model\marketing\MarketingCustom;
|
||
|
||
|
||
/**
|
||
* 待立项造价项目逻辑
|
||
* Class CostApprovedProjectLogic
|
||
* @package app\adminapi\logic\cost_project
|
||
*/
|
||
class CostApprovedProjectLogic extends BaseLogic
|
||
{
|
||
/**
|
||
* @notes 获取待立项造价项目详情
|
||
* @param $params
|
||
* @return array
|
||
* @author likeadmin
|
||
* @date 2024/02/20 14:16
|
||
*/
|
||
public static function detail($params): array
|
||
{
|
||
$data = MarketingContract::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
|
||
$contract = MarketingContract::field('contract_name')->where('id', $data['related_contract_id'])->findOrEmpty();
|
||
$custom = MarketingCustom::field('name')->where('id', $data['part_a'])->findOrEmpty();
|
||
$dept = Dept::where('id', 'in', [$data['signed_dept'], $data['supervise_dept']])->column('name', 'id');
|
||
$admin = Admin::where('id', 'in', [$data['part_b_signatory'], $data['signed_head'], $data['project_manager'], $data['seal_user']])->column('name', 'id');
|
||
$data['framework_agreement_name'] = $contract?->contract_name;
|
||
$data['part_a_name'] = $custom['name'];
|
||
$data['part_b_signatory_name'] = $admin[$data['part_b_signatory']] ?? '';
|
||
$data['signed_dept_name'] = $dept[$data['signed_dept']] ?? '';
|
||
$data['supervise_dept_name'] = $dept[$data['supervise_dept']] ?? '';
|
||
$data['signed_head_name'] = $admin[$data['signed_head']] ?? '';
|
||
$data['project_manager_name'] = $admin[$data['project_manager']] ?? '';
|
||
$data['seal_user_name'] = $admin[$data['seal_user']] ?? '';
|
||
$data['business_nature_text'] = $data->business_nature_text;
|
||
$data['industry_nature_text'] = $data->industry_nature_text;
|
||
$data['fund_sources_text'] = $data->fund_sources_text;
|
||
$data['const_area_text'] = $data->const_area_text;
|
||
$data['implement_method_text'] = $data->implement_method_text;
|
||
$data['seal_name_text'] = $data->seal_name_text;
|
||
$data['is_limit_text'] = $data->is_limit_text;
|
||
$data['file_type_text'] = $data->file_type_text;
|
||
$data['plance_seal_text'] = $data->plance_seal_text;
|
||
$data['contract_type_text'] = $data->contract_type_text;
|
||
$data['review_status_text'] = $data->review_status_text;
|
||
return $data->toArray();
|
||
}
|
||
|
||
public static function datas()
|
||
{
|
||
return MarketingContract::field(['id', 'contract_name'])->where('review_status', 1)->order(['id' => 'desc'])->select()->each(function ($data) {
|
||
$data['projectinfo'] = 'ID:' . $data['id'] . ' / 名称:' . $data['contract_name'];
|
||
})->toArray();
|
||
}
|
||
} |