<?php
	
	namespace app\adminapi\controller\marketing;
	
	use app\adminapi\controller\BaseAdminController;
	use app\common\model\dict\DictData;
	use app\common\model\marketing\MarketingContract;
	use app\common\model\marketing\MarketingCustom;
	
	class MarketingStatisticsController extends BaseAdminController
	{
		public function custom(){
			$year = $this->request->get('year',date('Y'));
			//总客户数
			$total_num = MarketingCustom::count();
			//年度客户数
			$year_num = MarketingCustom::whereYear('create_time',$year)->count();
			$column = ['1','2','3','4','5','6','7','8','9','10','11','12'];
			$custom_series = [
				'name' => '客户数',
				'data' => []
			];
			foreach($column as &$v){
				$custom_series['data'][] = MarketingCustom::whereMonth('create_time',$year.'-'.$v)->count();
				$v = $v.'月';
			}
			$result = compact('total_num','year_num','column','custom_series');
			return $this->success('success',$result);
		}
		
		public function contract(){
			$year = $this->request->get('year',date('Y'));
			//总主合同数
			$total_zht = MarketingContract::where('contract_type',0)->count();
			//年度主合同数
			$year_zht = MarketingContract::where('contract_type',0)->whereYear('create_time',$year)->count();
			//总框架协议数
			$total_kjxy = MarketingContract::where('contract_type',1)->count();
			//年度框架协议数
			$year_kjxy = MarketingContract::where('contract_type',1)->whereYear('create_time',$year)->count();
			//总补充协议数
			$total_bcxy = MarketingContract::where('contract_type',2)->count();
			//年度补充协议数
			$year_bcxy = MarketingContract::where('contract_type',2)->whereYear('create_time',$year)->count();
			$column = ['1','2','3','4','5','6','7','8','9','10','11','12'];
			$zht_series = [
				'name' => '主合同',
				'data' => []
			];
			$kjxy_series = [
				'name' => '框架协议',
				'data' => []
			];
			$bcxy_series = [
				'name' => '补充协议',
				'data' => []
			];
			foreach($column as &$v){
				$zht_series['data'][] = MarketingContract::where('contract_type',0)->whereMonth('create_time',$year.'-'.$v)->count();
				$kjxy_series['data'][] = MarketingContract::where('contract_type',1)->whereMonth('create_time',$year.'-'.$v)->count();
				$bcxy_series['data'][] = MarketingContract::where('contract_type',2)->whereMonth('create_time',$year.'-'.$v)->count();
				$v = $v.'月';
			}
			$result = compact('total_zht','year_zht','total_kjxy','year_kjxy','total_bcxy','year_bcxy',
				'column','zht_series','kjxy_series','bcxy_series');
			return $this->success('success',$result);
		}
		
		public function business(){
			$business_nature = DictData::where('type_value','cost_consultation_business_nature')->column('name','value');
			$data = [];
			foreach($business_nature as $k=>$v){
				$count = MarketingContract::where('business_nature',$k)->count();
				$data[] = [
					'name' => $v,
					'value' => $count
				];
			}
			$result['data'] = $data;
			return $this->success('success',$result);
		}
	}