This commit is contained in:
weiz 2024-04-10 13:54:06 +08:00
parent 05e9226d7a
commit 21510302a8
5 changed files with 30 additions and 34 deletions

View File

@ -114,14 +114,14 @@
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
$where[] = ['project_name', 'like', '%' . $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) { ->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(); $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['contract_name'] = $contract['contract_name'];
$data['project_director'] = $admin['name']; $data['project_director'] = $admin?->name;
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept?->name;
//任务分配状态 //任务分配状态
$task_allocation_status = TaskAllocation::where('cost_project_id', $data['id'])->count(); $task_allocation_status = TaskAllocation::where('cost_project_id', $data['id'])->count();
$data['task_allocation_status'] = $task_allocation_status > 0 ? 1 : 0; $data['task_allocation_status'] = $task_allocation_status > 0 ? 1 : 0;
@ -158,14 +158,14 @@
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
$where[] = ['project_name', 'like', '%' . $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) { ->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(); $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['contract_name'] = $contract['contract_name'];
$data['project_director'] = $admin['name']; $data['project_director'] = $admin?->name;
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept?->name;
//开票金额 //开票金额
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['id'])->sum('apply_amount'); $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(); $CostProject = (new CostProject)->where('id', $item['cost_project_id'])->field('depar,project_name')->find();
$item['project_name'] = $CostProject['project_name']; $item['project_name'] = $CostProject['project_name'];
$item['name'] = (new Admin)->where('id', $item['uid'])->value('name'); $item['name'] = (new Admin)->where('id', $item['uid'])->value('name');
if ($CostProject['depar'] > 0) { if ($CostProject['depar'] > 0) {
$item['depar'] = Dept::where('id', $CostProject['depar'])->value('name'); $item['depar'] = Dept::where('id', $CostProject['depar'])->value('name');
} }
@ -262,18 +261,17 @@
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
$where[] = ['project_name', 'like', '%' . $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) { ->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(); $province = GeoProvince::field('province_name')->where('province_code', $data['province'])->findOrEmpty();
$city = GeoCity::field('city_name')->where('city_code', $data['city'])->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(); $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['contract_name'] = $contract['contract_name'];
$data['project_director'] = $contract['project_director'];
$data['types'] = $data->types_text; $data['types'] = $data->types_text;
$data['industry_nature'] = $contract->industry_nature_text; $data['industry_nature'] = $data->industry_text;
$data['project_director'] = $admin['name']; $data['project_director'] = $admin?->name;
$data['province'] = $province['province_name']; $data['province'] = $province['province_name'];
$data['city'] = $city['city_name']; $data['city'] = $city['city_name'];
$data['actual_starting'] = $schedule['start_date']; $data['actual_starting'] = $schedule['start_date'];

View File

@ -17,6 +17,7 @@
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\auth\Admin;
use app\common\model\cost_project\CostProject; use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingContract; use app\common\model\marketing\MarketingContract;
use app\common\model\ProjectCommission; use app\common\model\ProjectCommission;
@ -63,12 +64,14 @@
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function ($data) { ->select()->each(function ($data) {
$project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty();
$contract = MarketingContract::field('contract_name,industry_nature')->where('id', $project['contract_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_name'] = $project['project_name'];
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['contract_name'] = $contract['contract_name']; $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'); $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount');
//已支付总额 //已支付总额

View File

@ -19,7 +19,6 @@
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\auth\Admin; use app\common\model\auth\Admin;
use app\common\model\marketing\MarketingContract;
use app\common\model\task\TaskAllocation; use app\common\model\task\TaskAllocation;
@ -61,9 +60,8 @@
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function ($data) { ->select()->each(function ($data) {
$contract = MarketingContract::field('project_manager')->where('id', $data['projectInfo']['contract_id'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $data['projectInfo']['principal'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); $data['project_director'] = $admin?->name;
$data['project_director'] = $admin['name'];
}) })
->toArray(); ->toArray();
} }

View File

@ -137,15 +137,14 @@
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectCommission::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id'])->toArray(); $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(); $project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty();
$contract = MarketingContract::field('contract_name,project_manager,industry_nature')->where('id', $project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['project_director'] = $admin['name']; $data['industry_nature'] = $project->industry_text;
$data['industry_nature_text'] = !$contract->isEmpty() ? $contract->industry_nature_text : ''; $data['principal_name'] = $admin?->name;
$data['industry_nature'] = (string)$contract['industry_nature'];
//到账金额 //到账金额
$data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount');
//已支付总额 //已支付总额

View File

@ -18,7 +18,6 @@
use app\adminapi\logic\TaskDetailLogic; use app\adminapi\logic\TaskDetailLogic;
use app\common\logic\BaseLogic; use app\common\logic\BaseLogic;
use app\common\model\auth\Admin; use app\common\model\auth\Admin;
use app\common\model\marketing\MarketingContract;
use app\common\model\task\TaskAllocation; use app\common\model\task\TaskAllocation;
use app\common\model\task\TaskType; use app\common\model\task\TaskType;
use app\common\model\TaskDetail; use app\common\model\TaskDetail;
@ -153,9 +152,8 @@
public static function detail($params): array public static function detail($params): array
{ {
$data = TaskAllocation::with(['taskTypeInfo', 'projectInfo'])->findOrEmpty($params['id'])->toArray(); $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', $data['projectInfo']['principal'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty(); $data['project_director'] = $admin?->name;
$data['project_director'] = $admin['name'];
$data['task_detail'] = TaskDetail::where('task_allocation_id', $data['id'])->select()->each(function ($item) { $data['task_detail'] = TaskDetail::where('task_allocation_id', $data['id'])->select()->each(function ($item) {
$taskTypeInfo = TaskType::findOrEmpty($item['task_type_id'])->toArray(); $taskTypeInfo = TaskType::findOrEmpty($item['task_type_id'])->toArray();
$item['task_name'] = $taskTypeInfo['name']; $item['task_name'] = $taskTypeInfo['name'];