|
@@ -360,9 +360,12 @@ class ProjectService extends Service
|
|
|
public function organizationData($data) {
|
|
|
if (empty($data['data'])) return $data;
|
|
|
|
|
|
- $map = $this->getProjectEmployee(['id' => array_column($data['data'], 'id')], ProjectEmployee::type_one);
|
|
|
+ $project = array_column($data['data'], 'id');
|
|
|
+ $map = $this->getProjectEmployee(['id' => $project], ProjectEmployee::type_one);
|
|
|
$emp_id = array_unique(array_merge_recursive(array_column($data['data'], 'business_director'), array_column($data['data'], 'technical_director'),array_column($data['data'], 'online_director'),array_column($data['data'], 'after_sale_director'),array_column($data['data'],'crt_id')));
|
|
|
$emp_map = Employee::whereIn('id',$emp_id)->pluck('emp_name','id')->toArray();
|
|
|
+ //获取当前阶段 当前阶段节点 已收金额
|
|
|
+ $other_map = $this->getProjectOtherMessage($project);
|
|
|
foreach ($data['data'] as $key => $value){
|
|
|
$start_time = $value['plan_start_time'] ? date("Y-m-d H:i",$value['plan_start_time']) : '';
|
|
|
$end_time = $value['plan_end_time'] ? date("Y-m-d H:i",$value['plan_end_time']) : '';
|
|
@@ -377,6 +380,12 @@ class ProjectService extends Service
|
|
|
$tmp = $map[$value['id']] ?? [];
|
|
|
$data['data'][$key]['employee_title'] = $tmp['name'] ?? "";
|
|
|
$data['data'][$key]['employee_id'] = $tmp['name_id'] ?? "";
|
|
|
+
|
|
|
+ //获取当前阶段 当前阶段节点 已收金额
|
|
|
+ $tmp = $other_map[$value['id']] ?? [];
|
|
|
+ $data['data'][$key]['current_stage'] = $tmp['stage'] ?? [];
|
|
|
+ $data['data'][$key]['current_stage_node'] = $tmp['node'] ?? [];
|
|
|
+ $data['data'][$key]['receipt_amount'] = $tmp['receipt'] ?? 0;
|
|
|
}
|
|
|
|
|
|
return $data;
|
|
@@ -1311,4 +1320,47 @@ class ProjectService extends Service
|
|
|
|
|
|
return $map;
|
|
|
}
|
|
|
+
|
|
|
+ public function getProjectOtherMessage($project_id = []){
|
|
|
+ if(empty($project_id)) return [];
|
|
|
+
|
|
|
+ $project = [];
|
|
|
+ $stage = ProjectStage::whereIn('project_id', $project_id)
|
|
|
+ ->where('del_time',0)
|
|
|
+ ->select('id','title','receipt_amount','project_id')
|
|
|
+ ->orderBy('id','desc')
|
|
|
+ ->get()->toArray();
|
|
|
+
|
|
|
+ foreach ($stage as $value){
|
|
|
+ if(! isset($project[$value['project_id']]['stage'])){
|
|
|
+ $project[$value['project_id']]['stage'] = [
|
|
|
+ 'id' => $value['id'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ if(! isset($project[$value['project_id']]['receipt'])){
|
|
|
+ $receipt = bcadd($value['receipt_amount'], $project[$value['project_id']]['receipt'],2);
|
|
|
+ $project[$value['project_id']]['receipt'] = $receipt;
|
|
|
+ }else{
|
|
|
+ $project[$value['project_id']]['receipt'] = $value['receipt_amount'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $node = ProjectStageNode::whereIn('project_id', $project_id)
|
|
|
+ ->where('del_time',0)
|
|
|
+ ->select('id','title','project_id')
|
|
|
+ ->get()->toArray();
|
|
|
+
|
|
|
+ foreach ($node as $value){
|
|
|
+ if(! isset($project[$value['project_id']]['node'])){
|
|
|
+ $project[$value['project_id']]['node'] = [
|
|
|
+ 'id' => $value['id'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $project;
|
|
|
+ }
|
|
|
}
|