This commit is contained in:
mkm 2024-04-26 21:54:49 +08:00
parent 97097d8f88
commit 60aee48876
9 changed files with 180 additions and 26 deletions
app
adminapi
lists
logic
common/model
consult_basic
manage_basic
supervision_project

@ -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();
}

@ -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();
}

@ -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();
}

@ -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();
}

@ -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();
}

@ -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();
}

@ -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) : '';
}

@ -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) : '';

@ -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
{