From 60aee48876b45bc40e6d321c1528a6c05e56f075 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Fri, 26 Apr 2024 21:54:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consult_basic/ConsultProjectLists.php | 6 ++ .../lists/manage_basic/ManageProjectLists.php | 3 + .../SupervisionProjectLists.php | 5 ++ .../consult_basic/ConsultProjectLogic.php | 14 +++- .../logic/manage_basic/ManageProjectLogic.php | 11 ++++ .../SupervisionProjectLogic.php | 8 +++ .../model/consult_basic/ConsultProject.php | 38 ++++++++++- .../model/manage_basic/ManageProject.php | 57 ++++++++++++++++- .../SupervisionProject.php | 64 +++++++++++++------ 9 files changed, 180 insertions(+), 26 deletions(-) diff --git a/app/adminapi/lists/consult_basic/ConsultProjectLists.php b/app/adminapi/lists/consult_basic/ConsultProjectLists.php index 3f53cffce..09340eaa9 100644 --- a/app/adminapi/lists/consult_basic/ConsultProjectLists.php +++ b/app/adminapi/lists/consult_basic/ConsultProjectLists.php @@ -61,6 +61,12 @@ class ConsultProjectLists extends BaseAdminDataLists implements ListsSearchInter ->select()->each(function($data){ $data['engineering_status_text'] = $data->engineering_status_text; $data['consult_type_text'] = $data->consult_type_text; + $data['project_manager_name'] = $data->project_manager_name_text; + $data['implementation_department_name'] = $data->implementation_department_name_text; + $data['supervision_department_name'] = $data->supervision_department_name_text; + $data['contract_name'] = $data->contract_name_text; + $data['company_name'] = $data->company_name_text; + }) ->toArray(); } diff --git a/app/adminapi/lists/manage_basic/ManageProjectLists.php b/app/adminapi/lists/manage_basic/ManageProjectLists.php index 4519a97a4..f07a9a394 100644 --- a/app/adminapi/lists/manage_basic/ManageProjectLists.php +++ b/app/adminapi/lists/manage_basic/ManageProjectLists.php @@ -67,6 +67,9 @@ class ManageProjectLists extends BaseAdminDataLists implements ListsSearchInterf $data['project_level_text'] = $data->project_level_text; $data['engineering_status_text'] = $data->engineering_status_text; $data['progress'] = ManageMonthlyProgressReport::where('project_id',$data['id'])->sum('progress'); + $data['supervision_department_name'] = $data->supervision_department_name_text; + $data['implementation_department_name'] = $data->implementation_depart_name_text; + $data['project_manager_name'] = $data->project_manager_name_text; }) ->toArray(); } diff --git a/app/adminapi/lists/supervision_project/SupervisionProjectLists.php b/app/adminapi/lists/supervision_project/SupervisionProjectLists.php index 767b2ae00..47be1dd51 100644 --- a/app/adminapi/lists/supervision_project/SupervisionProjectLists.php +++ b/app/adminapi/lists/supervision_project/SupervisionProjectLists.php @@ -64,6 +64,11 @@ class SupervisionProjectLists extends BaseAdminDataLists implements ListsSearchI $data['build_area_text'] = $data->build_area_text; $data['project_level_text'] = $data->project_level_text; $data['engineering_status_text'] = $data->industry_text; + $data['build_unit_name'] = $data->build_unit_name_text; + $data['implementation_department_name'] = $data->implementation_department_name_text; + $data['supervision_department_name'] = $data->supervision_department_name_text; + $data['project_department_name'] = $data->project_department_name_text; + $data['project_manager_name'] = $data->project_manager_name_text; }) ->toArray(); } diff --git a/app/adminapi/logic/consult_basic/ConsultProjectLogic.php b/app/adminapi/logic/consult_basic/ConsultProjectLogic.php index 87e816ea2..08818c719 100644 --- a/app/adminapi/logic/consult_basic/ConsultProjectLogic.php +++ b/app/adminapi/logic/consult_basic/ConsultProjectLogic.php @@ -30,6 +30,7 @@ use app\common\model\consult_target\ConsultControl; use app\common\model\consult_target\ConsultDecision; use app\common\model\consult_target\ConsultDemand; use app\common\model\consult_target\ConsultReceive; +use app\common\model\marketing\MarketingContract; use think\facade\Db; @@ -87,6 +88,9 @@ class ConsultProjectLogic extends BaseLogic 'create_user' => $params['create_user'], 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), ]); + if ($params['contract_id'] > 0) { + MarketingContract::where('id', $params['contract_id'])->update(['status' => 1]); + } Db::commit(); return true; } catch (\Exception $e) { @@ -253,12 +257,20 @@ class ConsultProjectLogic extends BaseLogic { $data = ConsultProject::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data['industry_text'] = $data->industry_text; - $data['nature_text'] = $data->nature_text; + // $data['nature_text'] = $data->nature_text; $data['build_area_text'] = $data->build_area_text; $data['project_level_text'] = $data->project_level_text; $data['engineering_status_text'] = $data->engineering_status_text; $data['consult_type_text'] = $data->consult_type_text; $data['project_archiving_text'] = $data->project_archiving_text; + $data['company_name'] = $data->company_name_text; + $data['project_manager_name'] = $data->project_manager_name_text; + $data['contract_name'] = $data->contract_name_text; + $data['nature'] = (Int)$data->nature; + $data['build_area'] = (Int)$data->build_area; + $data['project_department'] = (Int)$data->project_department; + $data['supervision_department'] = (Int)$data->supervision_department; + $data['implementation_department'] = (Int)$data->implementation_department; return $data->toArray(); } diff --git a/app/adminapi/logic/manage_basic/ManageProjectLogic.php b/app/adminapi/logic/manage_basic/ManageProjectLogic.php index 1fee8b59b..527bbcab4 100644 --- a/app/adminapi/logic/manage_basic/ManageProjectLogic.php +++ b/app/adminapi/logic/manage_basic/ManageProjectLogic.php @@ -24,6 +24,7 @@ use app\common\model\manage_communication\ManageSendDoc; use app\common\model\manage_invest\ManageEngineeringChanges; use app\common\model\manage_invest\ManageMeteredPayment; use app\common\model\manage_progress\ManageMonthlyProgressReport; +use app\common\model\marketing\MarketingContract; use think\facade\Db; @@ -78,6 +79,9 @@ class ManageProjectLogic extends BaseLogic 'create_user' => $params['create_user'], 'create_time' => !empty($params['create_time']) ? strtotime($params['actual_end_date']) : time(), ]); + if ($params['contract_id'] > 0) { + MarketingContract::where('id', $params['contract_id'])->update(['status' => 1]); + } Db::commit(); return true; } catch (\Exception $e) { @@ -210,6 +214,13 @@ class ManageProjectLogic extends BaseLogic $data['build_area_text'] = $data->build_area_text; $data['project_level_text'] = $data->project_level_text; $data['engineering_status_text'] = $data->engineering_status_text; + $data['build_unit_name'] = $data->build_unit_name_text; + $data['contract_name'] = $data->contract_name_text; + $data['project_manager_name'] = $data->project_manager_name_text; + $data['project_leader_name'] = $data->project_leader_name_text; + $data['project_department'] = (Int)$data->project_department; + $data['supervision_department'] = (Int)$data->supervision_department; + $data['implementation_department'] = (Int)$data->implementation_department; return $data->toArray(); } diff --git a/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php b/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php index 6c39dd5db..c5987b5e9 100644 --- a/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php +++ b/app/adminapi/logic/supervision_project/SupervisionProjectLogic.php @@ -17,6 +17,7 @@ namespace app\adminapi\logic\supervision_project; use app\common\model\supervision_project\SupervisionProject; use app\common\logic\BaseLogic; +use app\common\model\marketing\MarketingContract; use think\facade\Db; @@ -72,6 +73,9 @@ class SupervisionProjectLogic extends BaseLogic 'create_user' => $params['create_user'], 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), ]); + if ($params['contract_id'] > 0) { + MarketingContract::where('id', $params['contract_id'])->update(['status' => 1]); + } Db::commit(); return true; } catch (\Exception $e) { @@ -162,6 +166,10 @@ class SupervisionProjectLogic extends BaseLogic $data['build_area_text'] = $data->build_area_text; $data['project_level_text'] = $data->project_level_text; $data['engineering_status_text'] = $data->engineering_status_text; + $data['build_unit_name'] = $data->build_unit_name_text; + $data['contract_name'] = $data->contract_name_text; + $data['project_manager_name'] = $data->project_manager_name_text; + return $data->toArray(); } diff --git a/app/common/model/consult_basic/ConsultProject.php b/app/common/model/consult_basic/ConsultProject.php index 85701db6c..136e5382b 100644 --- a/app/common/model/consult_basic/ConsultProject.php +++ b/app/common/model/consult_basic/ConsultProject.php @@ -14,9 +14,12 @@ namespace app\common\model\consult_basic; - +use app\common\model\auth\Admin; use app\common\model\BaseModel; +use app\common\model\dept\Dept; use app\common\model\dict\DictData; +use app\common\model\marketing\MarketingContract; +use app\common\model\marketing\MarketingCustom; use think\model\concern\SoftDelete; @@ -60,7 +63,38 @@ class ConsultProject extends BaseModel $dict = DictData::where('type_value','consult_type')->column('name','value'); return !empty($data['consult_type']) ? $dict[$data['consult_type']] : ''; } - + public function getCompanyNameTextAttr($value,$data){ + if($data['company']>0){ + return MarketingCustom::where('id',$data['company'])->value('name'); + }else{ + return 0; + } + } + public function getProjectManagerNameTextAttr($value,$data){ + if($data['project_manager']>0){ + return Admin::where('id',$data['project_manager'])->value('name'); + } + return 0; + } + public function getContractNameTextAttr($value,$data){ + if($data['contract']>0){ + return MarketingContract::where('id',$data['contract'])->value('contract_name'); + }else{ + return 0; + } + } + public function getSupervisionDepartmentNameTextAttr($value,$data){ + if($data['supervision_department']>0){ + return Dept::where('id',$data['supervision_department'])->value('name'); + } + return 0; + } + public function getImplementationDepartmentNameTextAttr($value,$data){ + if($data['implementation_department']>0){ + return Dept::where('id',$data['implementation_department'])->value('name'); + } + return 0; + } public function getProjectArchivingAttr($value){ return !empty($value) ? json_decode($value,true) : ''; } diff --git a/app/common/model/manage_basic/ManageProject.php b/app/common/model/manage_basic/ManageProject.php index 4d3b782bc..5fde1d174 100644 --- a/app/common/model/manage_basic/ManageProject.php +++ b/app/common/model/manage_basic/ManageProject.php @@ -14,9 +14,12 @@ namespace app\common\model\manage_basic; - +use app\common\model\auth\Admin; use app\common\model\BaseModel; +use app\common\model\dept\Dept; use app\common\model\dict\DictData; +use app\common\model\marketing\MarketingContract; +use app\common\model\marketing\MarketingCustom; use think\model\concern\SoftDelete; @@ -55,7 +58,57 @@ class ManageProject extends BaseModel $dict = DictData::where('type_value','supervision_project_status')->column('name','value'); return !empty($data['engineering_status']) ? $dict[$data['engineering_status']] : ''; } - + public function getBuildUnitNameTextAttr($value,$data){ + if($data['build_unit']>0){ + return MarketingCustom::where('id',$data['build_unit'])->value('name'); + }else{ + return 0; + } + } + public function getContractNameTextAttr($value,$data){ + if($data['contract']>0){ + return MarketingContract::where('id',$data['contract'])->value('contract_name'); + }else{ + return 0; + } + } + public function getProjectManagerNameTextAttr($value,$data){ + if($data['project_manager']>0){ + return Admin::where('id',$data['project_manager'])->value('name'); + } + return 0; + } + public function getProjectLeaderNameTextAttr($value,$data){ + if($data['project_manager']>0){ + return Admin::where('id',$data['project_manager'])->value('name'); + } + return 0; + } + public function getSupervisionDepartmentNameTextAttr($value,$data){ + if($data['supervision_department']>0){ + return Dept::where('id',$data['supervision_department'])->value('name'); + } + return 0; + } + public function getImplementationDepartNameTextAttr($value,$data){ + if($data['implementation_department']>0){ + return Dept::where('id',$data['implementation_department'])->value('name'); + } + return 0; + } + public function getImplementationDepartmentNameTextAttr($value,$data){ + if($data['implementation_department']>0){ + return Dept::where('id',$data['implementation_department'])->value('name'); + } + return 0; + } + public function getProjectDepartmentNameTextAttr($value,$data){ + if($data['project_department']>0){ + return Dept::where('id',$data['project_department'])->value('name'); + } + return 0; + } + public function getActualStartDateAttr($value): string { return !empty($value) ? date('Y-m-d', $value) : ''; diff --git a/app/common/model/supervision_project/SupervisionProject.php b/app/common/model/supervision_project/SupervisionProject.php index 80fd92b8d..4fdb3ff7b 100644 --- a/app/common/model/supervision_project/SupervisionProject.php +++ b/app/common/model/supervision_project/SupervisionProject.php @@ -19,6 +19,7 @@ use app\common\model\BaseModel; use app\common\model\dept\Dept; use app\common\model\dict\DictData; use app\common\model\marketing\MarketingContract; +use app\common\model\marketing\MarketingCustom; use think\model\concern\SoftDelete; @@ -57,37 +58,58 @@ class SupervisionProject extends BaseModel $dict = DictData::where('type_value','supervision_project_status')->column('name','value'); return !empty($data['engineering_status']) ? $dict[$data['engineering_status']] : ''; } - - public function getSupervisionDepartmentAttr($value,$data){ - if($value){ - return Dept::where('id',$value)->value('name'); + public function getBuildUnitNameTextAttr($value,$data){ + if($data['build_unit']>0){ + return MarketingCustom::where('id',$data['build_unit'])->value('name'); + }else{ + return 0; } - return $value; } - public function getImplementationDepartmentAttr($value,$data){ - if($value){ - return Dept::where('id',$value)->value('name'); + public function getContractNameTextAttr($value,$data){ + if($data['contract']>0){ + return MarketingContract::where('id',$data['contract'])->value('contract_name'); + }else{ + return 0; } - return $value; } - public function getProjectDepartmentAttr($value,$data){ - if($value){ - return Dept::where('id',$value)->value('name'); + public function getProjectManagerNameTextAttr($value,$data){ + if($data['project_manager']>0){ + return Admin::where('id',$data['project_manager'])->value('name'); } - return $value; + return 0; } - public function getProjectManagerAttr($value,$data){ - if($value){ - return Admin::where('id',$value)->value('name'); + + public function getSupervisionDepartmentNameTextAttr($value,$data){ + if($data['supervision_department']>0){ + return Dept::where('id',$data['supervision_department'])->value('name'); } - return $value; + return 0; } - public function getContractAttr($value,$data){ - if($value){ - return MarketingContract::where('id',$value)->value('contract_name'); + public function getImplementationDepartmentNameTextAttr($value,$data){ + if($data['implementation_department']>0){ + return Dept::where('id',$data['implementation_department'])->value('name'); } - return $value; + return 0; } + public function getProjectDepartmentNameTextAttr($value,$data){ + if($data['project_department']>0){ + return Dept::where('id',$data['project_department'])->value('name'); + } + return 0; + } + + // public function getProjectManagerAttr($value,$data){ + // if($value){ + // return Admin::where('id',$value)->value('name'); + // } + // return $value; + // } + // public function getContractAttr($value,$data){ + // if($value){ + // return MarketingContract::where('id',$value)->value('contract_name'); + // } + // return $value; + // } public function getActualStartDateAttr($value): string {