This commit is contained in:
weiz 2024-04-13 09:26:48 +08:00
parent 52e9b02b7a
commit ff4c4d55b7

View File

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