调整城镇饼图统计排行榜接口返回
parent
fc2728d23c
commit
32ab9a7105
|
|
@ -228,18 +228,19 @@ class CropYieldController extends Controller
|
|||
$baseId = $request->input('base_id'); //镇
|
||||
$year = $request->input('year', date('Y')); //年份
|
||||
|
||||
$q = CropYield::query();
|
||||
$q->where('time_year', $year);
|
||||
if ($baseId) {
|
||||
$q->where('base_id', $baseId);
|
||||
}else{
|
||||
$baseIds = AgriculturalBase::where('type', BaseType::Town)->pluck('id')->toArray();
|
||||
$q->whereIn('base_id', $baseIds);
|
||||
}
|
||||
$q->groupBy('category_id');
|
||||
$totalData = $q->select(DB::raw('category_id, sum(output) as output_total '))
|
||||
->get()
|
||||
->keyBy('category_id')->toArray();
|
||||
//使用单独配置,不再做统计
|
||||
// $q = CropYield::query();
|
||||
// $q->where('time_year', $year);
|
||||
// if ($baseId) {
|
||||
// $q->where('base_id', $baseId);
|
||||
// }else{
|
||||
// $baseIds = AgriculturalBase::where('type', BaseType::Town)->pluck('id')->toArray();
|
||||
// $q->whereIn('base_id', $baseIds);
|
||||
// }
|
||||
// $q->groupBy('category_id');
|
||||
// $totalData = $q->select(DB::raw('category_id, sum(output) as output_total '))
|
||||
// ->get()
|
||||
// ->keyBy('category_id')->toArray();
|
||||
|
||||
$categories = Keywords::filter($request->all())->where('type_key', 'crops-category')->get();
|
||||
|
||||
|
|
@ -250,9 +251,10 @@ class CropYieldController extends Controller
|
|||
}
|
||||
foreach ($categories as $category) {
|
||||
$data[$category->name] = 0;
|
||||
if (isset($totalData[$category->id])) {
|
||||
$data[$category->name] = $totalData[$category->id]['output_total'];
|
||||
}
|
||||
//使用单独配置,不再做统计
|
||||
// if (isset($totalData[$category->id])) {
|
||||
// $data[$category->name] = $totalData[$category->id]['output_total'];
|
||||
// }
|
||||
//如果是没有查指定城镇,则如果设置数据统计,则使用统计数值;
|
||||
if(!($baseId > 0)){
|
||||
$data[$category->name] = 0;
|
||||
|
|
@ -283,6 +285,36 @@ class CropYieldController extends Controller
|
|||
}
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
$baseExtends = AgriculturalBase::where('id', $baseId)->value('extends');
|
||||
$baseExtends = json_decode($baseExtends, true);
|
||||
switch($category->key){
|
||||
case 'crops-cate-nongye':
|
||||
if(isset($baseExtends['chart_nongye'][$year])){
|
||||
$data[$category->name] = ($baseExtends['chart_nongye'][$year])*10000;
|
||||
}
|
||||
break;
|
||||
case 'crops-cate-yuye':
|
||||
if(isset($baseExtends['chart_yuye'][$year])){
|
||||
$data[$category->name] = ($baseExtends['chart_yuye'][$year])*10000;
|
||||
}
|
||||
break;
|
||||
case 'crops-cate-xumuye':
|
||||
if(isset($baseExtends['chart_xumuye'][$year])){
|
||||
$data[$category->name] = ($baseExtends['chart_xumuye'][$year])*10000;
|
||||
}
|
||||
break;
|
||||
case 'crops-cate-lingye':
|
||||
if(isset($baseExtends['chart_lingye'][$year])){
|
||||
$data[$category->name] = ($baseExtends['chart_lingye'][$year])*10000;
|
||||
}
|
||||
break;
|
||||
case 'crops-cate-activity':
|
||||
if(isset($baseExtends['chart_activity'][$year])){
|
||||
$data[$category->name] = ($baseExtends['chart_activity'][$year])*10000;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -300,20 +332,20 @@ class CropYieldController extends Controller
|
|||
$nowYear = date('Y');
|
||||
//默认去年开始往前4年;
|
||||
$nowYear--;
|
||||
//使用单独配置,不再做统计
|
||||
// $q = CropYield::query();
|
||||
// if ($baseId) {
|
||||
// $q->where('base_id', $baseId);
|
||||
// }else{
|
||||
// $baseIds = AgriculturalBase::where('type', BaseType::Town)->pluck('id')->toArray();
|
||||
// $q->whereIn('base_id', $baseIds);
|
||||
// }
|
||||
// $q->where('time_year', '>=', $nowYear - 3);
|
||||
|
||||
$q = CropYield::query();
|
||||
if ($baseId) {
|
||||
$q->where('base_id', $baseId);
|
||||
}else{
|
||||
$baseIds = AgriculturalBase::where('type', BaseType::Town)->pluck('id')->toArray();
|
||||
$q->whereIn('base_id', $baseIds);
|
||||
}
|
||||
$q->where('time_year', '>=', $nowYear - 3);
|
||||
|
||||
$q->groupBy('time_year');
|
||||
$totalData = $q->select(DB::raw('time_year, sum(output) as output_total '))
|
||||
->get()
|
||||
->keyBy('time_year')->toArray();
|
||||
// $q->groupBy('time_year');
|
||||
// $totalData = $q->select(DB::raw('time_year, sum(output) as output_total '))
|
||||
// ->get()
|
||||
// ->keyBy('time_year')->toArray();
|
||||
|
||||
$data = [];
|
||||
$settingCharts = [];
|
||||
|
|
@ -323,9 +355,10 @@ class CropYieldController extends Controller
|
|||
for ($i = 0; $i < 4; $i++) {
|
||||
$_year = $nowYear - $i;
|
||||
$data[$_year] = 0;
|
||||
if (isset($totalData[$_year])) {
|
||||
$data[$_year] = $totalData[$_year]['output_total'];
|
||||
}
|
||||
//使用单独配置,不再做统计
|
||||
// if (isset($totalData[$_year])) {
|
||||
// $data[$_year] = $totalData[$_year]['output_total'];
|
||||
// }
|
||||
if(!($baseId > 0)){
|
||||
$data[$_year] = 0;
|
||||
if(isset(json_decode($settingCharts['city_data_chart_nongye'], true)[$_year])){
|
||||
|
|
@ -343,6 +376,24 @@ class CropYieldController extends Controller
|
|||
if(isset(json_decode($settingCharts['city_data_chart_activity'], true)[$_year])){
|
||||
$data[$_year] += (json_decode($settingCharts['city_data_chart_activity'], true)[$_year])*10000;
|
||||
}
|
||||
}else{//使用单独配置,不再做统计
|
||||
$baseExtends = AgriculturalBase::where('id', $baseId)->value('extends');
|
||||
$baseExtends = json_decode($baseExtends, true);
|
||||
if(isset($baseExtends['chart_nongye'][$_year])){
|
||||
$data[$_year] += ($baseExtends['chart_nongye'][$_year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_yuye'][$_year])){
|
||||
$data[$_year] += ($baseExtends['chart_yuye'][$_year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_xumuye'][$_year])){
|
||||
$data[$_year] += ($baseExtends['chart_xumuye'][$_year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_lingye'][$_year])){
|
||||
$data[$_year] += ($baseExtends['chart_lingye'][$_year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_activity'][$_year])){
|
||||
$data[$_year] += ($baseExtends['chart_activity'][$_year])*10000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -361,15 +412,16 @@ class CropYieldController extends Controller
|
|||
$year = $request->input('year', date('Y')); //年份
|
||||
$categoryId = $request->input('category_id'); //行业ID
|
||||
|
||||
$q = CropYield::query();
|
||||
$q->where('time_year', $year);
|
||||
if ($categoryId) {
|
||||
$q->where('category_id', $categoryId);
|
||||
}
|
||||
$q->groupBy('base_id');
|
||||
$totalData = $q->select(DB::raw('base_id, sum(output) as output_total '))
|
||||
->get()
|
||||
->keyBy('base_id')->toArray();
|
||||
//使用单独配置,不再做统计
|
||||
// $q = CropYield::query();
|
||||
// $q->where('time_year', $year);
|
||||
// if ($categoryId) {
|
||||
// $q->where('category_id', $categoryId);
|
||||
// }
|
||||
// $q->groupBy('base_id');
|
||||
// $totalData = $q->select(DB::raw('base_id, sum(output) as output_total '))
|
||||
// ->get()
|
||||
// ->keyBy('base_id')->toArray();
|
||||
|
||||
$bases = AgriculturalBase::town()->get();
|
||||
|
||||
|
|
@ -377,9 +429,26 @@ class CropYieldController extends Controller
|
|||
|
||||
foreach ($bases as $base) {
|
||||
$data[$base->name] = 0;
|
||||
if (isset($totalData[$base->id])) {
|
||||
$data[$base->name] = $totalData[$base->id]['output_total'];
|
||||
$baseExtends = json_decode($base->extends, true);
|
||||
if(isset($baseExtends['chart_nongye'][$year])){
|
||||
$data[$base->name] += ($baseExtends['chart_nongye'][$year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_yuye'][$year])){
|
||||
$data[$base->name] += ($baseExtends['chart_yuye'][$year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_xumuye'][$year])){
|
||||
$data[$base->name] += ($baseExtends['chart_xumuye'][$year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_lingye'][$year])){
|
||||
$data[$base->name] += ($baseExtends['chart_lingye'][$year])*10000;
|
||||
}
|
||||
if(isset($baseExtends['chart_activity'][$year])){
|
||||
$data[$base->name] += ($baseExtends['chart_activity'][$year])*10000;
|
||||
}
|
||||
//使用单独配置,不再做统计
|
||||
// if (isset($totalData[$base->id])) {
|
||||
// $data[$base->name] = $totalData[$base->id]['output_total'];
|
||||
// }
|
||||
}
|
||||
arsort($data);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue