diff --git a/app/adminapi/controller/CostConsultationReportController.php b/app/adminapi/controller/CostConsultationReportController.php index 049470003..cf28cbcdd 100644 --- a/app/adminapi/controller/CostConsultationReportController.php +++ b/app/adminapi/controller/CostConsultationReportController.php @@ -114,14 +114,14 @@ if (!empty($params['project_name'])) { $where[] = ['project_name', 'like', '%' . $params['project_name'] . '%']; } - $lists = CostProject::field('id,contract_id,project_num,project_name,depar') + $lists = CostProject::field('id,contract_id,project_num,project_name,depar,principal') ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { - $contract = MarketingContract::field('contract_name,project_manager')->where('id', $data['contract_id'])->findOrEmpty(); + $contract = MarketingContract::field('contract_name')->where('id', $data['contract_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty(); - $admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['principal'])->findOrEmpty(); $data['contract_name'] = $contract['contract_name']; - $data['project_director'] = $admin['name']; - $data['dept_name'] = $dept['name']; + $data['project_director'] = $admin?->name; + $data['dept_name'] = $dept?->name; //任务分配状态 $task_allocation_status = TaskAllocation::where('cost_project_id', $data['id'])->count(); $data['task_allocation_status'] = $task_allocation_status > 0 ? 1 : 0; @@ -158,14 +158,14 @@ if (!empty($params['project_name'])) { $where[] = ['project_name', 'like', '%' . $params['project_name'] . '%']; } - $lists = CostProject::field('id,contract_id,project_num,project_name,depar') + $lists = CostProject::field('id,contract_id,project_num,project_name,depar,principal') ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { - $contract = MarketingContract::field('contract_name,project_manager')->where('id', $data['contract_id'])->findOrEmpty(); + $contract = MarketingContract::field('contract_name')->where('id', $data['contract_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty(); - $admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['principal'])->findOrEmpty(); $data['contract_name'] = $contract['contract_name']; - $data['project_director'] = $admin['name']; - $data['dept_name'] = $dept['name']; + $data['project_director'] = $admin?->name; + $data['dept_name'] = $dept?->name; //开票金额 $data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['id'])->sum('apply_amount'); //到账金额 @@ -208,7 +208,6 @@ $CostProject = (new CostProject)->where('id', $item['cost_project_id'])->field('depar,project_name')->find(); $item['project_name'] = $CostProject['project_name']; $item['name'] = (new Admin)->where('id', $item['uid'])->value('name'); - if ($CostProject['depar'] > 0) { $item['depar'] = Dept::where('id', $CostProject['depar'])->value('name'); } @@ -262,18 +261,17 @@ if (!empty($params['project_name'])) { $where[] = ['project_name', 'like', '%' . $params['project_name'] . '%']; } - $lists = CostProject::field('id,contract_id,project_num,project_name,types,aunit,province,city,starting,endtime,jhgq') + $lists = CostProject::field('id,contract_id,project_num,project_name,types,aunit,province,city,starting,endtime,jhgq,principal') ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { - $contract = MarketingContract::field('contract_name,industry_nature,project_manager')->where('id', $data['contract_id'])->findOrEmpty(); + $contract = MarketingContract::field('contract_name')->where('id', $data['contract_id'])->findOrEmpty(); $province = GeoProvince::field('province_name')->where('province_code', $data['province'])->findOrEmpty(); $city = GeoCity::field('city_name')->where('city_code', $data['city'])->findOrEmpty(); $schedule = JianliProjectProgressReport::field('start_date,end_date,duration,done_progress')->where('project_id', $data['id'])->findOrEmpty(); - $admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $data['principal'])->findOrEmpty(); $data['contract_name'] = $contract['contract_name']; - $data['project_director'] = $contract['project_director']; $data['types'] = $data->types_text; - $data['industry_nature'] = $contract->industry_nature_text; - $data['project_director'] = $admin['name']; + $data['industry_nature'] = $data->industry_text; + $data['project_director'] = $admin?->name; $data['province'] = $province['province_name']; $data['city'] = $city['city_name']; $data['actual_starting'] = $schedule['start_date']; diff --git a/app/adminapi/lists/ProjectCommissionLists.php b/app/adminapi/lists/ProjectCommissionLists.php index d5dad7ce3..879f85bd5 100644 --- a/app/adminapi/lists/ProjectCommissionLists.php +++ b/app/adminapi/lists/ProjectCommissionLists.php @@ -17,6 +17,7 @@ use app\common\lists\ListsExcelInterface; use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; use app\common\model\cost_project\CostProject; use app\common\model\marketing\MarketingContract; use app\common\model\ProjectCommission; @@ -63,12 +64,14 @@ ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function ($data) { - $project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty(); - $contract = MarketingContract::field('contract_name,industry_nature')->where('id', $project['contract_id'])->findOrEmpty(); + $project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty(); + $contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty(); $data['project_name'] = $project['project_name']; $data['project_num'] = $project['project_num']; $data['contract_name'] = $contract['contract_name']; - $data['industry_nature'] = $contract->industry_nature_text; + $data['industry_nature'] = $project->industry_text; + $data['principal_name'] = $admin?->name; //到账金额 $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); //已支付总额 diff --git a/app/adminapi/lists/task/TaskAllocationLists.php b/app/adminapi/lists/task/TaskAllocationLists.php index 036474450..f03982758 100644 --- a/app/adminapi/lists/task/TaskAllocationLists.php +++ b/app/adminapi/lists/task/TaskAllocationLists.php @@ -19,7 +19,6 @@ use app\common\lists\ListsExcelInterface; use app\common\lists\ListsSearchInterface; use app\common\model\auth\Admin; - use app\common\model\marketing\MarketingContract; use app\common\model\task\TaskAllocation; @@ -61,9 +60,8 @@ ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function ($data) { - $contract = MarketingContract::field('project_manager')->where('id', $data['projectInfo']['contract_id'])->findOrEmpty(); - $admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); - $data['project_director'] = $admin['name']; + $admin = Admin::field('name')->where('id', $data['projectInfo']['principal'])->findOrEmpty(); + $data['project_director'] = $admin?->name; }) ->toArray(); } diff --git a/app/adminapi/logic/ProjectCommissionLogic.php b/app/adminapi/logic/ProjectCommissionLogic.php index 16b414085..13856dc86 100644 --- a/app/adminapi/logic/ProjectCommissionLogic.php +++ b/app/adminapi/logic/ProjectCommissionLogic.php @@ -137,15 +137,14 @@ public static function detail($params): array { $data = ProjectCommission::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id'])->toArray(); - $project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty(); - $contract = MarketingContract::field('contract_name,project_manager,industry_nature')->where('id', $project['contract_id'])->findOrEmpty(); - $admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); + $project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty(); + $contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty(); + $admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty(); $data['project_name'] = $project['project_name']; $data['project_num'] = $project['project_num']; $data['contract_name'] = $contract['contract_name']; - $data['project_director'] = $admin['name']; - $data['industry_nature_text'] = !$contract->isEmpty() ? $contract->industry_nature_text : ''; - $data['industry_nature'] = (string)$contract['industry_nature']; + $data['industry_nature'] = $project->industry_text; + $data['principal_name'] = $admin?->name; //到账金额 $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); //已支付总额 diff --git a/app/adminapi/logic/task/TaskAllocationLogic.php b/app/adminapi/logic/task/TaskAllocationLogic.php index f093a4545..7d38cde84 100644 --- a/app/adminapi/logic/task/TaskAllocationLogic.php +++ b/app/adminapi/logic/task/TaskAllocationLogic.php @@ -18,7 +18,6 @@ use app\adminapi\logic\TaskDetailLogic; use app\common\logic\BaseLogic; use app\common\model\auth\Admin; - use app\common\model\marketing\MarketingContract; use app\common\model\task\TaskAllocation; use app\common\model\task\TaskType; use app\common\model\TaskDetail; @@ -153,9 +152,8 @@ public static function detail($params): array { $data = TaskAllocation::with(['taskTypeInfo', 'projectInfo'])->findOrEmpty($params['id'])->toArray(); - $contract = MarketingContract::field('project_manager')->where('id', $data['projectInfo']['contract_id'])->findOrEmpty(); - $admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); - $data['project_director'] = $admin['name']; + $admin = Admin::field('name')->where('id', $data['projectInfo']['principal'])->findOrEmpty(); + $data['project_director'] = $admin?->name; $data['task_detail'] = TaskDetail::where('task_allocation_id', $data['id'])->select()->each(function ($item) { $taskTypeInfo = TaskType::findOrEmpty($item['task_type_id'])->toArray(); $item['task_name'] = $taskTypeInfo['name'];