diff --git a/app/adminapi/controller/marketing/MarketingBidStatisticsController.php b/app/adminapi/controller/marketing/MarketingBidStatisticsController.php index 64dc50a59..3c51e5c9b 100644 --- a/app/adminapi/controller/marketing/MarketingBidStatisticsController.php +++ b/app/adminapi/controller/marketing/MarketingBidStatisticsController.php @@ -16,7 +16,7 @@ class MarketingBidStatisticsController extends BaseAdminController { //中标项目一览表 - public function winningProject(): Json + public function winning_project(): Json { $params = $this->request->get(); $page_no = !empty($params['page_no']) ? $params['page_no'] : 1; @@ -58,7 +58,7 @@ } //投标项目状态明细表 - public function bidProjectStatus(): Json + public function bid_project_status(): Json { $status = [0 => '未启动投标', 1 => '参与投标', 2 => '未开标', 3 => '已中标', 4 => '未中标']; $data = []; @@ -73,7 +73,7 @@ } //投标项目数量明细表 - public function bidProjectNum(): Json + public function bid_project_number(): Json { $column = [0 => '未启动投标', 1 => '参与投标', 2 => '未开标', 3 => '已中标', 4 => '未中标']; $series = [ @@ -91,7 +91,7 @@ } //投标项目分析 - public function bidProjectAnalysis(): Json + public function bid_project_analysis(): Json { $column = DictData::where('type_value', 'cost_consultation_business_nature')->column('name', 'value'); $series = [ @@ -102,7 +102,7 @@ $business_opportunity_ids = MarketingBusinessOpportunity::where('business_nature', $k)->column('id'); $bid_evaluation_ids = MarketingBidEvaluation::where('business_opportunity_id', 'in', $business_opportunity_ids)->column('id'); $bid_info_ids = MarketingBidInfo::where('bid_evaluation_id', 'in', $bid_evaluation_ids)->column('id'); - $series['data'][] = MarketingBidResult::field('id')->where('bid_info_id', 'in', $bid_info_ids)->count(); + $series['data'][] = MarketingBidResult::field('id')->where('bid_info_id', 'in', $bid_info_ids)->where('bid_result', 0)->count(); } $result = [ 'column' => $column, @@ -112,8 +112,35 @@ } //行业投标分析 - public function bidIndustryAnalysis() + public function bid_industry_analysis(): Json { - + $column = DictData::where('type_value', 'cost_consultation_industry_nature')->column('name', 'value'); + $total_series = [ + 'name' => '总金额', + 'data' => [] + ]; + $bid_series = [ + 'name' => '中标金额', + 'data' => [] + ]; + $not_bit_series = [ + 'name' => '未中标金额', + 'data' => [] + ]; + foreach ($column as $k => $v) { + $business_opportunity_ids = MarketingBusinessOpportunity::where('industry_nature', $k)->column('id'); + $bid_evaluation_ids = MarketingBidEvaluation::where('business_opportunity_id', 'in', $business_opportunity_ids)->column('id'); + $bid_info_ids = MarketingBidInfo::where('bid_evaluation_id', 'in', $bid_evaluation_ids)->column('id'); + $total_series['data'][] = MarketingBidResult::field('id')->where('bid_info_id', 'in', $bid_info_ids)->sum('quotation'); + $bid_series['data'][] = MarketingBidResult::field('id')->where('bid_info_id', 'in', $bid_info_ids)->where('bid_result', 0)->sum('quotation'); + $not_bit_series['data'][] = MarketingBidResult::field('id')->where('bid_info_id', 'in', $bid_info_ids)->where('bid_result', 1)->sum('quotation'); + } + $result = [ + 'total_series' => $total_series, + 'bid_series' => $bid_series, + 'not_bit_series' => $not_bit_series, + 'column' => $column, + ]; + return $this->success('success', $result); } } \ No newline at end of file