修复编码风格

dev
Jing Li 2022-11-04 11:48:33 +08:00
parent 7ea9994dba
commit 9b10527985
47 changed files with 315 additions and 302 deletions

View File

@ -2,13 +2,11 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Admin;
use App\Enums\BaseType; use App\Enums\BaseType;
use App\Models\AgriculturalBase; use App\Models\AgriculturalBase;
use Illuminate\Support\Facades\DB; use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
class AgriculturalBaseController extends AdminController class AgriculturalBaseController extends AdminController
@ -42,7 +40,6 @@ class AgriculturalBaseController extends AdminController
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
$filter->like('name')->width(3); $filter->like('name')->width(3);
}); });
}); });
} }
@ -76,7 +73,7 @@ class AgriculturalBaseController extends AdminController
$form->hidden('type')->value(BaseType::Base->value); $form->hidden('type')->value(BaseType::Base->value);
$form->saving(function($form){ $form->saving(function ($form) {
$position = json_decode($form->position); $position = json_decode($form->position);
$form->address = $position->address ?? ''; $form->address = $position->address ?? '';

View File

@ -2,14 +2,14 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Http\Resources\CropResource;
use App\Models\Crop; use App\Models\Crop;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Admin;
use App\Http\Resources\CropResource;
use Peidikeji\Keywords\Models\Keywords;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Show;
use Peidikeji\Keywords\Models\Keywords;
class CropController extends AdminController class CropController extends AdminController
{ {
@ -39,7 +39,6 @@ class CropController extends AdminController
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
$filter->like('name')->width(3); $filter->like('name')->width(3);
}); });
}); });
} }
@ -47,8 +46,7 @@ class CropController extends AdminController
/** /**
* Make a show builder. * Make a show builder.
* *
* @param mixed $id * @param mixed $id
*
* @return Show * @return Show
*/ */
protected function detail($id) protected function detail($id)
@ -78,13 +76,13 @@ class CropController extends AdminController
return Form::make(new Crop(), function (Form $form) { return Form::make(new Crop(), function (Form $form) {
$form->display('id'); $form->display('id');
$form->select('category_id')->options(Keywords::where('type_key', 'crops-category')->get()->pluck('name', 'id')); $form->select('category_id')->options(Keywords::where('type_key', 'crops-category')->get()->pluck('name', 'id'));
$form->select('parent_id')->options(Crop::selectOptions(function($q){ $form->select('parent_id')->options(Crop::selectOptions(function ($q) {
return $q->where('is_end', 0); return $q->where('is_end', 0);
}))->required(); }))->required();
// $form->text('parent_id'); // $form->text('parent_id');
$form->radio('crop_type')->options([ $form->radio('crop_type')->options([
1=> '基地', 1 => '基地',
2=> '镇街' 2 => '镇街',
])->default(2); ])->default(2);
$form->text('name'); $form->text('name');
$form->switch('is_end'); $form->switch('is_end');
@ -102,8 +100,10 @@ class CropController extends AdminController
}); });
} }
public function info($id){ public function info($id)
{
$crop = Crop::findOrFail($id); $crop = Crop::findOrFail($id);
return CropResource::make($crop); return CropResource::make($crop);
} }
} }

View File

@ -2,14 +2,14 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Models\AgriculturalBase;
use App\Models\Crop; use App\Models\Crop;
use App\Models\CropYield;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Admin;
use App\Models\CropYield;
use App\Models\AgriculturalBase;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Show;
class CropYieldController extends AdminController class CropYieldController extends AdminController
{ {
@ -21,15 +21,16 @@ class CropYieldController extends AdminController
protected function grid() protected function grid()
{ {
$builder = CropYield::with(['base', 'crop', 'createdBy', 'updatedBy']); $builder = CropYield::with(['base', 'crop', 'createdBy', 'updatedBy']);
return Grid::make($builder, function (Grid $grid) { return Grid::make($builder, function (Grid $grid) {
$grid->column('id')->sortable(); $grid->column('id')->sortable();
$grid->column('base.name', '区域')->label(); $grid->column('base.name', '区域')->label();
$grid->column('crop.name', '农作物'); $grid->column('crop.name', '农作物');
$grid->column('time_year')->append('年'); $grid->column('time_year')->append('年');
$grid->column('quarter')->display(function($v){ $grid->column('quarter')->display(function ($v) {
return '第'.$v.'季度'; return '第'.$v.'季度';
}); });
$grid->column('yield')->display(function($v){ $grid->column('yield')->display(function ($v) {
return $v.$this->crop?->unit ?? ''; return $v.$this->crop?->unit ?? '';
}); });
$grid->column('cultivated'); $grid->column('cultivated');
@ -54,8 +55,7 @@ class CropYieldController extends AdminController
/** /**
* Make a show builder. * Make a show builder.
* *
* @param mixed $id * @param mixed $id
*
* @return Show * @return Show
*/ */
protected function detail($id) protected function detail($id)
@ -84,6 +84,7 @@ class CropYieldController extends AdminController
protected function form() protected function form()
{ {
$builder = CropYield::with(['base', 'crop']); $builder = CropYield::with(['base', 'crop']);
return Form::make($builder, function (Form $form) { return Form::make($builder, function (Form $form) {
$model = $form->model(); $model = $form->model();
@ -93,12 +94,12 @@ class CropYieldController extends AdminController
$form->datetime('time_year')->format('YYYY')->required(); $form->datetime('time_year')->format('YYYY')->required();
$form->radio('quarter')->options([ $form->radio('quarter')->options([
1=>'1季度',2=>'2季度',3=>'3季度',4=>'4季度', 1 => '1季度', 2 => '2季度', 3 => '3季度', 4 => '4季度',
])->default(1)->required(); ])->default(1)->required();
$form->currency('yield')->symbol($model->crop?->unit ?? '斤'); $form->currency('yield')->symbol($model->crop?->unit ?? '斤');
Admin::script( Admin::script(
<<<JS <<<'JS'
let crop; let crop;
$('body').on('select2:select', 'select.field_crop_id', function(e){ $('body').on('select2:select', 'select.field_crop_id', function(e){
let url_path = '/admin/api/crops/' + e.params.data.id let url_path = '/admin/api/crops/' + e.params.data.id
@ -120,12 +121,14 @@ class CropYieldController extends AdminController
if ($v === null) { if ($v === null) {
$v = 0; $v = 0;
} }
return $v; return $v;
}); });
$form->currency('output')->symbol('元')->default(0)->required()->saving(function ($v) { $form->currency('output')->symbol('元')->default(0)->required()->saving(function ($v) {
if ($v === null) { if ($v === null) {
$v = 0; $v = 0;
} }
return $v; return $v;
}); });
// $form->text('created_by'); // $form->text('created_by');

View File

@ -2,12 +2,11 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Models\FriendLink;
use Carbon\Carbon; use Carbon\Carbon;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Admin;
use App\Models\FriendLink;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
class FriendLinkController extends AdminController class FriendLinkController extends AdminController
@ -22,7 +21,7 @@ class FriendLinkController extends AdminController
return Grid::make(new FriendLink(), function (Grid $grid) { return Grid::make(new FriendLink(), function (Grid $grid) {
// $grid->column('id')->sortable(); // $grid->column('id')->sortable();
$grid->column('name'); $grid->column('name');
$grid->column('type')->display(function(){ $grid->column('type')->display(function () {
return $this->typeLabel(); return $this->typeLabel();
}); });
// $grid->column('content'); // $grid->column('content');
@ -40,7 +39,6 @@ class FriendLinkController extends AdminController
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
$filter->like('name')->width(3); $filter->like('name')->width(3);
}); });
}); });
} }
@ -58,7 +56,7 @@ class FriendLinkController extends AdminController
$form->radio('type') $form->radio('type')
->options(FriendLink::typeMap()) ->options(FriendLink::typeMap())
->default(FriendLink::TYPE_LINK) ->default(FriendLink::TYPE_LINK)
->when(FriendLink::TYPE_LINK, function($form){ ->when(FriendLink::TYPE_LINK, function ($form) {
$form->text('content_1', '内容')->customFormat(function () { $form->text('content_1', '内容')->customFormat(function () {
if ($this->model()->type == FriendLink::TYPE_LINK) { if ($this->model()->type == FriendLink::TYPE_LINK) {
return $this->model()->content; return $this->model()->content;
@ -67,7 +65,7 @@ class FriendLinkController extends AdminController
} }
}); });
}) })
->when(FriendLink::TYPE_VIDEO, function($form){ ->when(FriendLink::TYPE_VIDEO, function ($form) {
$form->file('content_2', '内容')->chunked() $form->file('content_2', '内容')->chunked()
->accept('mp4', 'mp4/*') ->accept('mp4', 'mp4/*')
->move('friend-link/'.Carbon::now()->toDateString()) ->move('friend-link/'.Carbon::now()->toDateString())
@ -75,14 +73,14 @@ class FriendLinkController extends AdminController
->saveFullUrl() ->saveFullUrl()
->removable(false) ->removable(false)
->autoUpload()->autoSave(false)->customFormat(function () { ->autoUpload()->autoSave(false)->customFormat(function () {
if ($this->model()->type == FriendLink::TYPE_VIDEO) { if ($this->model()->type == FriendLink::TYPE_VIDEO) {
return $this->model()->content; return $this->model()->content;
} else { } else {
return ''; return '';
}; }
}); });
}) })
->when(FriendLink::TYPE_ARTICLE, function($form){ ->when(FriendLink::TYPE_ARTICLE, function ($form) {
$form->editor('content_3', '内容')->options([ $form->editor('content_3', '内容')->options([
'plugins' => [ 'plugins' => [
'image', 'image',

View File

@ -19,12 +19,14 @@ class CropExtends extends Field
public function listen($listen = '') public function listen($listen = '')
{ {
$this->listen = $listen; $this->listen = $listen;
return $this; return $this;
} }
public function render() public function render()
{ {
$this->addVariables(['listen' => $this->listen]); $this->addVariables(['listen' => $this->listen]);
return parent::render(); return parent::render();
} }
@ -38,30 +40,31 @@ class CropExtends extends Field
{ {
$value = json_decode($value, true); $value = json_decode($value, true);
$toValue = null; $toValue = null;
if($value){ if ($value) {
foreach($value as $item){ foreach ($value as $item) {
$toValue[$item['name']] = $item['value']; $toValue[$item['name']] = $item['value'];
} }
} }
return $toValue; return $toValue;
} }
/** /**
* 格式化渲染值 * 格式化渲染值
* *
* @param [type] $value * @param [type] $value
* @return void * @return void
*/ */
protected function formatFieldData($data) protected function formatFieldData($data)
{ {
$value = parent::formatFieldData($data); $value = parent::formatFieldData($data);
$crop = Arr::get($this->variables, 'crop', null); $crop = Arr::get($this->variables, 'crop', null);
$toValue = []; $toValue = [];
if($crop && $crop->extends){ if ($crop && $crop->extends) {
$extends = json_decode($crop->extends, true); $extends = json_decode($crop->extends, true);
foreach ($extends as $ext){ foreach ($extends as $ext) {
$toValue[] = array_merge($ext, ['value'=>$value[$ext['name']] ?? null]); $toValue[] = array_merge($ext, ['value' => $value[$ext['name']] ?? null]);
} }
} }
@ -72,5 +75,4 @@ class CropExtends extends Field
{ {
return $this->addVariables(['crop' => $crop]); return $this->addVariables(['crop' => $crop]);
} }
} }

View File

@ -1,11 +1,11 @@
<?php <?php
use App\Admin\Form\Amap;
use App\Admin\Form\CropExtends;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Show; use Dcat\Admin\Show;
use Dcat\Admin\Admin;
use App\Admin\Form\Amap;
use App\Admin\Form\CropExtends;
/** /**
* Dcat-admin - admin builder based on Laravel. * Dcat-admin - admin builder based on Laravel.

View File

@ -9,7 +9,7 @@ enum DeviceStatus: int
case Offline = 2; // 离线 case Offline = 2; // 离线
case Broken = 3; // 故障 case Broken = 3; // 故障
/** /**
* @return array * @return array
*/ */
public static function status(): array public static function status(): array

View File

@ -51,6 +51,7 @@ class AdminUserController extends Controller
public function show(AdminUser $adminUser) public function show(AdminUser $adminUser)
{ {
$adminUser->load(['bases', 'roles']); $adminUser->load(['bases', 'roles']);
return $this->json(AdminUserResource::make($adminUser)); return $this->json(AdminUserResource::make($adminUser));
} }

View File

@ -3,14 +3,14 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Enums\BaseType; use App\Enums\BaseType;
use App\Enums\DeviceStatus;
use App\Enums\DeviceType; use App\Enums\DeviceType;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use App\Enums\DeviceStatus;
use Illuminate\Http\Request;
use App\Models\AgriculturalBase;
use Illuminate\Support\Facades\DB;
use App\Http\Requestes\AgriculturalBaseRequest; use App\Http\Requestes\AgriculturalBaseRequest;
use App\Http\Resources\AgriculturalBaseResource; use App\Http\Resources\AgriculturalBaseResource;
use App\Models\AgriculturalBase;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AgriculturalBaseController extends Controller class AgriculturalBaseController extends Controller
{ {
@ -57,6 +57,7 @@ class AgriculturalBaseController extends Controller
public function show(AgriculturalBase $agriculturalBasic) public function show(AgriculturalBase $agriculturalBasic)
{ {
$agriculturalBasic->load('crops'); $agriculturalBasic->load('crops');
return $this->json(AgriculturalBaseResource::make($agriculturalBasic)); return $this->json(AgriculturalBaseResource::make($agriculturalBasic));
} }
@ -105,9 +106,10 @@ class AgriculturalBaseController extends Controller
/** /**
* 获取指定设备类型下有设备的基地 * 获取指定设备类型下有设备的基地
*/ */
public function deviceBase(Request $request){ public function deviceBase(Request $request)
{
$deviceType = $request->input('device_type', DeviceType::Monitor); $deviceType = $request->input('device_type', DeviceType::Monitor);
$list = AgriculturalBase::filter($request->all())->whereHas('devices', function($q) use ($deviceType){ $list = AgriculturalBase::filter($request->all())->whereHas('devices', function ($q) use ($deviceType) {
return $q->where('type', $deviceType)->where('status', DeviceStatus::Online); return $q->where('type', $deviceType)->where('status', DeviceStatus::Online);
})->get(); })->get();

View File

@ -7,7 +7,6 @@ use App\Models\Materiel;
use App\Models\RiceShrimpFlow; use App\Models\RiceShrimpFlow;
use App\Models\RiceShrimpIndustry; use App\Models\RiceShrimpIndustry;
use App\Models\RiceShrimpPrice; use App\Models\RiceShrimpPrice;
use App\Services\RiceShrimpPriceService;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class ChartController extends Controller class ChartController extends Controller
@ -15,7 +14,7 @@ class ChartController extends Controller
/** /**
* 稻虾价格趋势 * 稻虾价格趋势
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return array * @return array
*/ */
public function riceShrimpPrice(Request $request) public function riceShrimpPrice(Request $request)
@ -63,7 +62,7 @@ class ChartController extends Controller
/** /**
* 稻虾产业 * 稻虾产业
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return array * @return array
*/ */
public function riceShrimpIndustry(Request $request) public function riceShrimpIndustry(Request $request)
@ -114,7 +113,7 @@ class ChartController extends Controller
/** /**
* 稻虾流向 * 稻虾流向
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return array * @return array
*/ */
public function riceShrimpFlow(Request $request) public function riceShrimpFlow(Request $request)
@ -155,7 +154,7 @@ class ChartController extends Controller
/** /**
* 大宗物资 * 大宗物资
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return array * @return array
*/ */
public function materiel(Request $request) public function materiel(Request $request)

View File

@ -14,6 +14,7 @@ class CropController extends Controller
{ {
$query = Crop::filter($request->input()); $query = Crop::filter($request->input());
$list = $query->sort()->get(); $list = $query->sort()->get();
return $this->json(CropResource::collection($list)); return $this->json(CropResource::collection($list));
} }

View File

@ -2,16 +2,15 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Crop;
use App\Models\CropYield;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Models\AgriculturalBase;
use Illuminate\Support\Facades\DB;
use Peidikeji\Keywords\Models\Keywords;
use App\Http\Requestes\CropYieldRequest; use App\Http\Requestes\CropYieldRequest;
use App\Http\Resources\CropYieldResource; use App\Http\Resources\CropYieldResource;
use App\Http\Requestes\CropYieldUpdateRequest; use App\Models\AgriculturalBase;
use App\Models\Crop;
use App\Models\CropYield;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Peidikeji\Keywords\Models\Keywords;
class CropYieldController extends Controller class CropYieldController extends Controller
{ {
@ -35,19 +34,19 @@ class CropYieldController extends Controller
$cropId = $request->input('crop_id'); $cropId = $request->input('crop_id');
$timeYear = $request->input('time_year'); $timeYear = $request->input('time_year');
$quarter = $request->input('quarter'); $quarter = $request->input('quarter');
if(CropYield::where([ if (CropYield::where([
'base_id' => $baseId, 'base_id' => $baseId,
'crop_id' => $cropId, 'crop_id' => $cropId,
'time_year' => $timeYear, 'time_year' => $timeYear,
'quarter' => $quarter 'quarter' => $quarter,
])->exists()){ ])->exists()) {
return $this->error('该数据已存在,无法添加,请修改'); return $this->error('该数据已存在,无法添加,请修改');
} }
$crop = Crop::find($cropId); $crop = Crop::find($cropId);
CropYield::create(array_merge($request->input(), [ CropYield::create(array_merge($request->input(), [
'category_id'=> $crop->category_id ?? 0, 'category_id' => $crop->category_id ?? 0,
'created_by' => auth('api')->user()?->id ?? 0, 'created_by' => auth('api')->user()?->id ?? 0,
'updated_by' => auth('api')->user()?->id ?? 0, 'updated_by' => auth('api')->user()?->id ?? 0,
])); ]));
@ -68,19 +67,19 @@ class CropYieldController extends Controller
$cropId = $request->input('crop_id'); $cropId = $request->input('crop_id');
$timeYear = $request->input('time_year'); $timeYear = $request->input('time_year');
$quarter = $request->input('quarter'); $quarter = $request->input('quarter');
if(CropYield::where([ if (CropYield::where([
'base_id' => $baseId, 'base_id' => $baseId,
'crop_id' => $cropId, 'crop_id' => $cropId,
'time_year' => $timeYear, 'time_year' => $timeYear,
'quarter' => $quarter 'quarter' => $quarter,
])->where('id', '<>', $cropYield->id)->exists()){ ])->where('id', '<>', $cropYield->id)->exists()) {
return $this->error('该数据已存在,无法添加,请修改'); return $this->error('该数据已存在,无法添加,请修改');
} }
$crop = Crop::find($cropId); $crop = Crop::find($cropId);
$cropYield->update(array_merge($request->input(), [ $cropYield->update(array_merge($request->input(), [
'category_id'=> $crop->category_id ?? 0, 'category_id' => $crop->category_id ?? 0,
'updated_by' => auth('api')->user()?->id ?? 0, 'updated_by' => auth('api')->user()?->id ?? 0,
])); ]));
@ -97,84 +96,85 @@ class CropYieldController extends Controller
/** /**
* 季度统计图 * 季度统计图
* *
* @param Request $request * @param Request $request
* @return void * @return void
*/ */
public function quarterStaticsChart(Request $request){ public function quarterStaticsChart(Request $request)
$categoryId = $request->input('category_id');//获取产业ID {
$cropId = $request->input('crop_id', 0);//农作物ID $categoryId = $request->input('category_id'); //获取产业ID
$cropId = $request->input('crop_id', 0); //农作物ID
//统计区域范围 //统计区域范围
$baseId = $request->input('base_id', 0); $baseId = $request->input('base_id', 0);
//统计时间 //统计时间
$year = $request->input('year', date('Y'));//默认今年 $year = $request->input('year', date('Y')); //默认今年
$crop = Crop::where([ $crop = Crop::where([
'category_id' => $categoryId, 'category_id' => $categoryId,
'id' => $cropId 'id' => $cropId,
])->first(); ])->first();
$staticCropIds = []; $staticCropIds = [];
$extendsQ = ''; $extendsQ = '';
//常规统计 //常规统计
$staticsData = [ $staticsData = [
'yield' => [ 'yield' => [
'name' => '产量', 'name' => '产量',
'unit' => $crop?->unit ??'斤', 'unit' => $crop?->unit ?? '斤',
'list' => [ 'list' => [
'第1季度'=> null, '第1季度' => null,
'第2季度'=> null, '第2季度' => null,
'第3季度'=> null, '第3季度' => null,
'第4季度'=> null, '第4季度' => null,
] ],
], ],
'cultivated' =>[ 'cultivated' => [
'name' => '种养殖面积', 'name' => '种养殖面积',
'unit' => '亩', 'unit' => '亩',
'list' => [ 'list' => [
'第1季度'=> null, '第1季度' => null,
'第2季度'=> null, '第2季度' => null,
'第3季度'=> null, '第3季度' => null,
'第4季度'=> null, '第4季度' => null,
], ],
], ],
'output' => [ 'output' => [
'name' => '产值', 'name' => '产值',
'unit' => '元', 'unit' => '元',
'list' => [ 'list' => [
'第1季度'=> null, '第1季度' => null,
'第2季度'=> null, '第2季度' => null,
'第3季度'=> null, '第3季度' => null,
'第4季度'=> null, '第4季度' => null,
] ],
] ],
]; ];
if($crop?->is_end){ if ($crop?->is_end) {
$staticCropIds[] = $crop->id; $staticCropIds[] = $crop->id;
if($crop->extends){ if ($crop->extends) {
$i = 0; $i = 0;
foreach ($crop->extends as $item){ foreach ($crop->extends as $item) {
$i++; $i++;
$_key = 'extend_'.$i; $_key = 'extend_'.$i;
$staticsData[$_key] = [ $staticsData[$_key] = [
'name' => $item['name'], 'name' => $item['name'],
'unit' => $item['unit'], 'unit' => $item['unit'],
'list' => [ 'list' => [
'第1季度'=> null, '第1季度' => null,
'第2季度'=> null, '第2季度' => null,
'第3季度'=> null, '第3季度' => null,
'第4季度'=> null, '第4季度' => null,
] ],
]; ];
$extendsQ .= ", sum((extends->> '".$item['name']."')::NUMERIC) as extend_".$i."_total "; $extendsQ .= ", sum((extends->> '".$item['name']."')::NUMERIC) as extend_".$i.'_total ';
} }
} }
}else{ } else {
$cropQ = Crop::query(); $cropQ = Crop::query();
if($crop){ if ($crop) {
$cropQ->where('path', 'like', '%'.$crop->id.'-'); $cropQ->where('path', 'like', '%'.$crop->id.'-');
}else{ } else {
$cropQ->where('category_id', $categoryId); $cropQ->where('category_id', $categoryId);
} }
$staticCropIds = $cropQ->where('is_end', 1)->pluck('id')->toArray(); $staticCropIds = $cropQ->where('is_end', 1)->pluck('id')->toArray();
@ -183,19 +183,19 @@ class CropYieldController extends Controller
$q = CropYield::query(); $q = CropYield::query();
$q->where('time_year', $year)->whereIn('crop_id', $staticCropIds)->groupBy('quarter'); $q->where('time_year', $year)->whereIn('crop_id', $staticCropIds)->groupBy('quarter');
if($baseId){ if ($baseId) {
$q->where('base_id', $baseId); $q->where('base_id', $baseId);
} }
$q1 = clone $q; $q1 = clone $q;
$sumSql = "quarter, sum(yield) as yield_total, sum(cultivated) as cultivated_total, sum(output) as output_total "; $sumSql = 'quarter, sum(yield) as yield_total, sum(cultivated) as cultivated_total, sum(output) as output_total ';
if($extendsQ){ if ($extendsQ) {
$sumSql.= $extendsQ; $sumSql .= $extendsQ;
} }
$data1 = $q1->select(DB::raw($sumSql))->get(); $data1 = $q1->select(DB::raw($sumSql))->get();
$data1 = $data1->keyBy('quarter'); $data1 = $data1->keyBy('quarter');
foreach ($staticsData as $key => $value) { foreach ($staticsData as $key => $value) {
foreach ($data1 as $quarter => $item){ foreach ($data1 as $quarter => $item) {
$_key = $key.'_total'; $_key = $key.'_total';
$staticsData[$key]['list']['第'.$quarter.'季度'] = $item->$_key ?? 0; $staticsData[$key]['list']['第'.$quarter.'季度'] = $item->$_key ?? 0;
} }
@ -206,62 +206,61 @@ class CropYieldController extends Controller
/** /**
* 行业产值统计,查询某年,可选镇(饼状图) * 行业产值统计,查询某年,可选镇(饼状图)
*
*/ */
public function categoryStaticsChart(Request $request){ public function categoryStaticsChart(Request $request)
$baseId = $request->input('base_id');//镇 {
$year = $request->input('year', date('Y'));//年份 $baseId = $request->input('base_id'); //镇
$year = $request->input('year', date('Y')); //年份
$q = CropYield::query(); $q = CropYield::query();
$q->where('time_year', $year); $q->where('time_year', $year);
if($baseId){ if ($baseId) {
$q->where('base_id', $baseId); $q->where('base_id', $baseId);
} }
$q->groupBy('category_id'); $q->groupBy('category_id');
$totalData = $q->select(DB::raw("category_id, sum(output) as output_total ")) $totalData = $q->select(DB::raw('category_id, sum(output) as output_total '))
->get() ->get()
->keyBy('category_id')->toArray(); ->keyBy('category_id')->toArray();
$categories = Keywords::filter($request->all())->where('type_key', 'crops-category')->get(); $categories = Keywords::filter($request->all())->where('type_key', 'crops-category')->get();
$data = []; $data = [];
foreach ($categories as $category){ foreach ($categories as $category) {
$data[$category->name] = 0; $data[$category->name] = 0;
if(isset($totalData[$category->id])){ if (isset($totalData[$category->id])) {
$data[$category->name] = $totalData[$category->id]['output_total']; $data[$category->name] = $totalData[$category->id]['output_total'];
} }
} }
return $this->json([ return $this->json([
'list' =>$data 'list' => $data,
]); ]);
} }
/** /**
* 总产值,查询年折线图(当年往前查4年),可选镇 * 总产值,查询年折线图(当年往前查4年),可选镇
*
*/ */
public function totalStaticsChart(Request $request){ public function totalStaticsChart(Request $request)
$baseId = $request->input('base_id');//镇 {
$baseId = $request->input('base_id'); //镇
$nowYear = date('Y'); $nowYear = date('Y');
$q = CropYield::query(); $q = CropYield::query();
if($baseId){ if ($baseId) {
$q->where('base_id', $baseId); $q->where('base_id', $baseId);
} }
$q->where('time_year', '>=', $nowYear-3); $q->where('time_year', '>=', $nowYear - 3);
$q->groupBy('time_year'); $q->groupBy('time_year');
$totalData = $q->select(DB::raw("time_year, sum(output) as output_total ")) $totalData = $q->select(DB::raw('time_year, sum(output) as output_total '))
->get() ->get()
->keyBy('time_year')->toArray(); ->keyBy('time_year')->toArray();
$data = []; $data = [];
for($i = 0; $i < 4; $i++){ for ($i = 0; $i < 4; $i++) {
$_year = $nowYear-$i; $_year = $nowYear - $i;
$data[$_year] = 0; $data[$_year] = 0;
if(isset($totalData[$_year])){ if (isset($totalData[$_year])) {
$data[$_year] = $totalData[$_year]['output_total']; $data[$_year] = $totalData[$_year]['output_total'];
} }
} }
@ -276,17 +275,18 @@ class CropYieldController extends Controller
* *
* @return void * @return void
*/ */
public function totalStaticsList(Request $request){ public function totalStaticsList(Request $request)
$year = $request->input('year', date('Y'));//年份 {
$categoryId = $request->input('category_id');//行业ID $year = $request->input('year', date('Y')); //年份
$categoryId = $request->input('category_id'); //行业ID
$q = CropYield::query(); $q = CropYield::query();
$q->where('time_year', $year); $q->where('time_year', $year);
if($categoryId){ if ($categoryId) {
$q->where('category_id', $categoryId); $q->where('category_id', $categoryId);
} }
$q->groupBy('base_id'); $q->groupBy('base_id');
$totalData = $q->select(DB::raw("base_id, sum(output) as output_total ")) $totalData = $q->select(DB::raw('base_id, sum(output) as output_total '))
->get() ->get()
->keyBy('base_id')->toArray(); ->keyBy('base_id')->toArray();
@ -294,9 +294,9 @@ class CropYieldController extends Controller
$data = []; $data = [];
foreach ($bases as $base){ foreach ($bases as $base) {
$data[$base->name] = 0; $data[$base->name] = 0;
if(isset($totalData[$base->id])){ if (isset($totalData[$base->id])) {
$data[$base->name] = $totalData[$base->id]['output_total']; $data[$base->name] = $totalData[$base->id]['output_total'];
} }
} }

View File

@ -2,17 +2,17 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Device; use App\Enums\DeviceStatus;
use App\Enums\DeviceType; use App\Enums\DeviceType;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use App\Enums\DeviceStatus;
use Illuminate\Http\Request;
use App\Models\SoilMonitoringLog;
use Illuminate\Support\Facades\DB;
use App\Http\Requestes\DeviceRequest; use App\Http\Requestes\DeviceRequest;
use App\Http\Resources\DeviceResource; use App\Http\Resources\DeviceResource;
use App\Models\WaterQualityMonitoringLog; use App\Models\Device;
use App\Models\MeteorologicalMonitoringLog; use App\Models\MeteorologicalMonitoringLog;
use App\Models\SoilMonitoringLog;
use App\Models\WaterQualityMonitoringLog;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class DeviceController extends Controller class DeviceController extends Controller
{ {
@ -73,7 +73,8 @@ class DeviceController extends Controller
/** /**
* 统计某个基地下所有设备状态数量 * 统计某个基地下所有设备状态数量
*/ */
public function typeStatusNum(Request $request){ public function typeStatusNum(Request $request)
{
$baseId = $request->input('base_id'); $baseId = $request->input('base_id');
$query = Device::where('agricultural_base_id', $baseId)->groupBy('type')->groupBy('status'); $query = Device::where('agricultural_base_id', $baseId)->groupBy('type')->groupBy('status');
@ -86,11 +87,12 @@ class DeviceController extends Controller
//初始化数据; //初始化数据;
$data = []; $data = [];
foreach (DeviceType::types() as $typeKey => $typeName){ foreach (DeviceType::types() as $typeKey => $typeName) {
foreach(DeviceStatus::status() as $statusKey => $statusName){ foreach (DeviceStatus::status() as $statusKey => $statusName) {
$data[$typeKey][$statusKey] = $resData[$typeKey][$statusKey] ?? 0; $data[$typeKey][$statusKey] = $resData[$typeKey][$statusKey] ?? 0;
} }
} }
return $this->json($data); return $this->json($data);
} }
@ -100,11 +102,11 @@ class DeviceController extends Controller
public function dataStatics(Request $request) public function dataStatics(Request $request)
{ {
$deviceId = $request->input('device_id'); $deviceId = $request->input('device_id');
$deviceColumn = $request->input('device_column');//指定字段 $deviceColumn = $request->input('device_column'); //指定字段
$device = Device::find($deviceId); $device = Device::find($deviceId);
$data = null; $data = null;
switch ($device->type){ switch ($device->type) {
case DeviceType::Monitor://监控设备 case DeviceType::Monitor://监控设备
$data = DeviceResource::make($device); $data = DeviceResource::make($device);
break; break;
@ -117,10 +119,10 @@ class DeviceController extends Controller
//当天 //当天
$dataList = SoilMonitoringLog::where('device_id', $deviceId)->whereDate('monitored_at', now())->get()->keyBy('monitored_at')->toArray(); $dataList = SoilMonitoringLog::where('device_id', $deviceId)->whereDate('monitored_at', now())->get()->keyBy('monitored_at')->toArray();
$data = []; $data = [];
for ($i = 0; $i < 24; $i++){ for ($i = 0; $i < 24; $i++) {
$_key = date('Y-m-d').' '.str_pad($i, 2, '0',STR_PAD_LEFT).':00:00'; $_key = date('Y-m-d').' '.str_pad($i, 2, '0', STR_PAD_LEFT).':00:00';
$data[$_key] = null; $data[$_key] = null;
if(isset($dataList[$_key])){ if (isset($dataList[$_key])) {
$data[$_key] = $dataList[$_key][$deviceColumn] ?? null; $data[$_key] = $dataList[$_key][$deviceColumn] ?? null;
} }
} }
@ -129,10 +131,10 @@ class DeviceController extends Controller
//当天 //当天
$dataList = WaterQualityMonitoringLog::where('device_id', $deviceId)->whereDate('monitored_at', now())->get()->keyBy('monitored_at')->toArray(); $dataList = WaterQualityMonitoringLog::where('device_id', $deviceId)->whereDate('monitored_at', now())->get()->keyBy('monitored_at')->toArray();
$data = []; $data = [];
for ($i = 0; $i < 24; $i++){ for ($i = 0; $i < 24; $i++) {
$_key = date('Y-m-d').' '.str_pad($i, 2, '0',STR_PAD_LEFT).':00:00'; $_key = date('Y-m-d').' '.str_pad($i, 2, '0', STR_PAD_LEFT).':00:00';
$data[$_key] = null; $data[$_key] = null;
if(isset($dataList[$_key])){ if (isset($dataList[$_key])) {
$data[$_key] = $dataList[$_key][$deviceColumn] ?? null; $data[$_key] = $dataList[$_key][$deviceColumn] ?? null;
} }
} }
@ -151,32 +153,32 @@ class DeviceController extends Controller
{ {
$baseId = $request->input('base_id'); $baseId = $request->input('base_id');
$deviceType = $request->input('device_type'); $deviceType = $request->input('device_type');
$deviceColumn = $request->input('device_column');//指定字段 $deviceColumn = $request->input('device_column'); //指定字段
//先获取基地下该类型所有设备 //先获取基地下该类型所有设备
$deviceData = Device::where([ $deviceData = Device::where([
'agricultural_base_id' => $baseId, 'agricultural_base_id' => $baseId,
'type' => $deviceType 'type' => $deviceType,
])->get(); ])->get();
$data = []; $data = [];
switch ($deviceType){ switch ($deviceType) {
case DeviceType::Monitor->value://监控设备 case DeviceType::Monitor->value://监控设备
$data = DeviceResource::collection($deviceData); $data = DeviceResource::collection($deviceData);
break; break;
case DeviceType::Soil->value: case DeviceType::Soil->value:
$dataList = SoilMonitoringLog::where('agricultural_base_id', $baseId)->whereDate('monitored_at', now())->get()->groupBy('device_id'); $dataList = SoilMonitoringLog::where('agricultural_base_id', $baseId)->whereDate('monitored_at', now())->get()->groupBy('device_id');
foreach ($deviceData as $device){ foreach ($deviceData as $device) {
$_dataList = $dataList->get($device->id); $_dataList = $dataList->get($device->id);
$data[$device->monitoring_point] = []; $data[$device->monitoring_point] = [];
if($_dataList){ if ($_dataList) {
$_dataList = $_dataList->keyBy('monitored_at')->toArray(); $_dataList = $_dataList->keyBy('monitored_at')->toArray();
} }
for ($i = 0; $i < 24; $i++){ for ($i = 0; $i < 24; $i++) {
$_key = date('Y-m-d').' '.str_pad($i, 2, '0',STR_PAD_LEFT).':00:00'; $_key = date('Y-m-d').' '.str_pad($i, 2, '0', STR_PAD_LEFT).':00:00';
$data[$device->monitoring_point][$_key] = null; $data[$device->monitoring_point][$_key] = null;
if(isset($_dataList[$_key])){ if (isset($_dataList[$_key])) {
$data[$device->monitoring_point][$_key] = $_dataList[$_key][$deviceColumn] ?? null; $data[$device->monitoring_point][$_key] = $_dataList[$_key][$deviceColumn] ?? null;
} }
} }
@ -185,23 +187,23 @@ class DeviceController extends Controller
case DeviceType::WaterQuality->value: case DeviceType::WaterQuality->value:
$dataList = WaterQualityMonitoringLog::where('agricultural_base_id', $baseId)->whereDate('monitored_at', now())->get()->groupBy('device_id'); $dataList = WaterQualityMonitoringLog::where('agricultural_base_id', $baseId)->whereDate('monitored_at', now())->get()->groupBy('device_id');
foreach ($deviceData as $device){ foreach ($deviceData as $device) {
$_dataList = $dataList->get($device->id); $_dataList = $dataList->get($device->id);
$data[$device->monitoring_point] = []; $data[$device->monitoring_point] = [];
if($_dataList){ if ($_dataList) {
$_dataList = $_dataList->keyBy('monitored_at')->toArray(); $_dataList = $_dataList->keyBy('monitored_at')->toArray();
} }
for ($i = 0; $i < 24; $i++){ for ($i = 0; $i < 24; $i++) {
$_key = date('Y-m-d').' '.str_pad($i, 2, '0',STR_PAD_LEFT).':00:00'; $_key = date('Y-m-d').' '.str_pad($i, 2, '0', STR_PAD_LEFT).':00:00';
$data[$device->monitoring_point][$_key] = null; $data[$device->monitoring_point][$_key] = null;
if(isset($_dataList[$_key])){ if (isset($_dataList[$_key])) {
$data[$device->monitoring_point][$_key] = $_dataList[$_key][$deviceColumn] ?? null; $data[$device->monitoring_point][$_key] = $_dataList[$_key][$deviceColumn] ?? null;
} }
} }
} }
break; break;
} }
return $this->json($data); return $this->json($data);
} }
} }

View File

@ -3,10 +3,10 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Models\DeviceWarning;
use Peidikeji\Setting\Models\Setting;
use App\Http\Resources\DeviceWarningResource; use App\Http\Resources\DeviceWarningResource;
use App\Models\DeviceWarning;
use Illuminate\Http\Request;
use Peidikeji\Setting\Models\Setting;
class DeviceWarningController extends Controller class DeviceWarningController extends Controller
{ {
@ -32,23 +32,22 @@ class DeviceWarningController extends Controller
public function updateRule(Request $request) public function updateRule(Request $request)
{ {
$slug = $request->input(['slug']); $slug = $request->input(['slug']);
$ruleValue = $request->input(['value'], []); $ruleValue = $request->input(['value'], []);
$rule = Setting::where('slug', $slug)->first(); $rule = Setting::where('slug', $slug)->first();
//获取提交的规则 //获取提交的规则
if($rule){ if ($rule) {
$oldValue = json_decode($rule->value, true); $oldValue = json_decode($rule->value, true);
foreach($oldValue as $key => $value){ foreach ($oldValue as $key => $value) {
foreach($value as $lv =>$item){ foreach ($value as $lv => $item) {
if(isset($ruleValue[$key][$lv])){ if (isset($ruleValue[$key][$lv])) {
$oldValue[$key][$lv] = $ruleValue[$key][$lv]; $oldValue[$key][$lv] = $ruleValue[$key][$lv];
} }
} }
} }
$rule->update([ $rule->update([
'value' => json_encode($oldValue) 'value' => json_encode($oldValue),
]); ]);
} }
@ -67,5 +66,4 @@ class DeviceWarningController extends Controller
return $this->json(DeviceWarningResource::collection($list)); return $this->json(DeviceWarningResource::collection($list));
} }
} }

View File

@ -3,13 +3,14 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use App\Http\Resources\FriendLinkResource;
use App\Models\FriendLink; use App\Models\FriendLink;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Resources\FriendLinkResource;
class FriendLinkController extends Controller class FriendLinkController extends Controller
{ {
public function index(Request $request){ public function index(Request $request)
{
$query = FriendLink::filter($request->all()); $query = FriendLink::filter($request->all());
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));

View File

@ -15,7 +15,7 @@ class MaterielController extends Controller
/** /**
* 物资列表 * 物资列表
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Resources\Json\ResourceCollection * @return \Illuminate\Http\Resources\Json\ResourceCollection
*/ */
public function index(Request $request): ResourceCollection public function index(Request $request): ResourceCollection
@ -31,7 +31,7 @@ class MaterielController extends Controller
/** /**
* 创建物资 * 创建物资
* *
* @param \App\Http\Requestes\MaterielStoreRequest $request * @param \App\Http\Requestes\MaterielStoreRequest $request
* @return \App\Http\Resources\MaterielResource * @return \App\Http\Resources\MaterielResource
* *
* @throws \App\Exceptions\BizException * @throws \App\Exceptions\BizException
@ -65,8 +65,8 @@ class MaterielController extends Controller
/** /**
* 修改物资 * 修改物资
* *
* @param int $id * @param int $id
* @param \App\Http\Requestes\MaterielUpdateRequest $request * @param \App\Http\Requestes\MaterielUpdateRequest $request
* @return \App\Http\Resources\RiceShrimpIndustryResource * @return \App\Http\Resources\RiceShrimpIndustryResource
*/ */
public function update($id, MaterielUpdateRequest $request): MaterielResource public function update($id, MaterielUpdateRequest $request): MaterielResource
@ -100,7 +100,7 @@ class MaterielController extends Controller
/** /**
* 删除物资 * 删除物资
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy($id): JsonResponse public function destroy($id): JsonResponse

View File

@ -9,14 +9,13 @@ use App\Models\RiceShrimpFlow;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection; use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Validation\ValidationException;
class RiceShrimpFlowController extends Controller class RiceShrimpFlowController extends Controller
{ {
/** /**
* 稻虾流向列表 * 稻虾流向列表
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Resources\Json\ResourceCollection * @return \Illuminate\Http\Resources\Json\ResourceCollection
*/ */
public function index(Request $request): ResourceCollection public function index(Request $request): ResourceCollection
@ -32,7 +31,7 @@ class RiceShrimpFlowController extends Controller
/** /**
* 创建稻虾流向 * 创建稻虾流向
* *
* @param \App\Http\Requestes\RiceShrimpFlowStoreRequest $request * @param \App\Http\Requestes\RiceShrimpFlowStoreRequest $request
* @return \App\Http\Resources\RiceShrimpFlowResource * @return \App\Http\Resources\RiceShrimpFlowResource
* *
* @throws \App\Exceptions\BizException * @throws \App\Exceptions\BizException
@ -64,8 +63,8 @@ class RiceShrimpFlowController extends Controller
/** /**
* 修改稻虾流向 * 修改稻虾流向
* *
* @param int $id * @param int $id
* @param \App\Http\Requestes\RiceShrimpFlowUpdateRequest $request * @param \App\Http\Requestes\RiceShrimpFlowUpdateRequest $request
* @return \App\Http\Resources\RiceShrimpIndustryResource * @return \App\Http\Resources\RiceShrimpIndustryResource
*/ */
public function update($id, RiceShrimpFlowUpdateRequest $request): RiceShrimpFlowResource public function update($id, RiceShrimpFlowUpdateRequest $request): RiceShrimpFlowResource
@ -97,7 +96,7 @@ class RiceShrimpFlowController extends Controller
/** /**
* 删除稻虾流向 * 删除稻虾流向
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy($id): JsonResponse public function destroy($id): JsonResponse

View File

@ -9,14 +9,13 @@ use App\Models\RiceShrimpIndustry;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection; use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Validation\ValidationException;
class RiceShrimpIndustryController extends Controller class RiceShrimpIndustryController extends Controller
{ {
/** /**
* 稻虾产业列表 * 稻虾产业列表
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Resources\Json\ResourceCollection * @return \Illuminate\Http\Resources\Json\ResourceCollection
*/ */
public function index(Request $request): ResourceCollection public function index(Request $request): ResourceCollection
@ -32,7 +31,7 @@ class RiceShrimpIndustryController extends Controller
/** /**
* 创建稻虾价格 * 创建稻虾价格
* *
* @param \App\Http\Requestes\RiceShrimpIndustryStoreRequest $request * @param \App\Http\Requestes\RiceShrimpIndustryStoreRequest $request
* @return \App\Http\Resources\RiceShrimpIndustryResource * @return \App\Http\Resources\RiceShrimpIndustryResource
* *
* @throws \App\Exceptions\BizException * @throws \App\Exceptions\BizException
@ -65,8 +64,8 @@ class RiceShrimpIndustryController extends Controller
/** /**
* 修改稻虾价格 * 修改稻虾价格
* *
* @param int $id * @param int $id
* @param \App\Http\Requestes\RiceShrimpIndustryUpdateRequest $request * @param \App\Http\Requestes\RiceShrimpIndustryUpdateRequest $request
* @return \App\Http\Resources\RiceShrimpIndustryResource * @return \App\Http\Resources\RiceShrimpIndustryResource
*/ */
public function update($id, RiceShrimpIndustryUpdateRequest $request): RiceShrimpIndustryResource public function update($id, RiceShrimpIndustryUpdateRequest $request): RiceShrimpIndustryResource
@ -99,7 +98,7 @@ class RiceShrimpIndustryController extends Controller
/** /**
* 删除稻虾价格 * 删除稻虾价格
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy($id): JsonResponse public function destroy($id): JsonResponse

View File

@ -2,7 +2,6 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Exceptions\BizException;
use App\Http\Requestes\RiceShrimpPriceStoreRequest; use App\Http\Requestes\RiceShrimpPriceStoreRequest;
use App\Http\Requestes\RiceShrimpPriceUpdateRequest; use App\Http\Requestes\RiceShrimpPriceUpdateRequest;
use App\Http\Resources\RiceShrimpPriceResource; use App\Http\Resources\RiceShrimpPriceResource;
@ -10,14 +9,13 @@ use App\Models\RiceShrimpPrice;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection; use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Validation\ValidationException;
class RiceShrimpPriceController extends Controller class RiceShrimpPriceController extends Controller
{ {
/** /**
* 稻虾价格列表 * 稻虾价格列表
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Resources\Json\ResourceCollection * @return \Illuminate\Http\Resources\Json\ResourceCollection
*/ */
public function index(Request $request): ResourceCollection public function index(Request $request): ResourceCollection
@ -33,7 +31,7 @@ class RiceShrimpPriceController extends Controller
/** /**
* 创建稻虾价格 * 创建稻虾价格
* *
* @param \App\Http\Requestes\RiceShrimpPriceStoreRequest $request * @param \App\Http\Requestes\RiceShrimpPriceStoreRequest $request
* @return \App\Http\Resources\RiceShrimpPriceResource * @return \App\Http\Resources\RiceShrimpPriceResource
* *
* @throws \App\Exceptions\BizException * @throws \App\Exceptions\BizException
@ -63,8 +61,8 @@ class RiceShrimpPriceController extends Controller
/** /**
* 修改稻虾价格 * 修改稻虾价格
* *
* @param int $id * @param int $id
* @param \App\Http\Requestes\RiceShrimpPriceUpdateRequest $request * @param \App\Http\Requestes\RiceShrimpPriceUpdateRequest $request
* @return \App\Http\Resources\RiceShrimpPriceResource * @return \App\Http\Resources\RiceShrimpPriceResource
*/ */
public function update($id, RiceShrimpPriceUpdateRequest $request): RiceShrimpPriceResource public function update($id, RiceShrimpPriceUpdateRequest $request): RiceShrimpPriceResource
@ -95,7 +93,7 @@ class RiceShrimpPriceController extends Controller
/** /**
* 删除稻虾价格 * 删除稻虾价格
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy($id): JsonResponse public function destroy($id): JsonResponse

View File

@ -5,7 +5,6 @@ namespace App\Http\Requestes;
use App\Enums\MaterielType; use App\Enums\MaterielType;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Enum; use Illuminate\Validation\Rules\Enum;
class MaterielStoreRequest extends FormRequest class MaterielStoreRequest extends FormRequest

View File

@ -4,7 +4,6 @@ namespace App\Http\Requestes;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Enum; use Illuminate\Validation\Rules\Enum;
class MaterielUpdateRequest extends FormRequest class MaterielUpdateRequest extends FormRequest

View File

@ -4,7 +4,6 @@ namespace App\Http\Requestes;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class RiceShrimpFlowStoreRequest extends FormRequest class RiceShrimpFlowStoreRequest extends FormRequest
{ {

View File

@ -4,7 +4,6 @@ namespace App\Http\Requestes;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class RiceShrimpIndustryStoreRequest extends FormRequest class RiceShrimpIndustryStoreRequest extends FormRequest
{ {

View File

@ -4,7 +4,6 @@ namespace App\Http\Requestes;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class RiceShrimpIndustryUpdateRequest extends FormRequest class RiceShrimpIndustryUpdateRequest extends FormRequest
{ {

View File

@ -4,7 +4,6 @@ namespace App\Http\Requestes;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class RiceShrimpPriceStoreRequest extends FormRequest class RiceShrimpPriceStoreRequest extends FormRequest
{ {

View File

@ -4,7 +4,6 @@ namespace App\Http\Requestes;
use App\Rules\Quarter; use App\Rules\Quarter;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class RiceShrimpPriceUpdateRequest extends FormRequest class RiceShrimpPriceUpdateRequest extends FormRequest
{ {

View File

@ -23,9 +23,9 @@ class AgriculturalBaseResource extends JsonResource
'address_lng' => $this->address_lng ?? '', 'address_lng' => $this->address_lng ?? '',
'description' => $this->description ?? '', 'description' => $this->description ?? '',
'map' => $this->map ?? '', 'map' => $this->map ?? '',
'areas' => ($this->areas ?? 0.00),//占地面积 'areas' => ($this->areas ?? 0.00), //占地面积
'workforce' => $this->workforce ?? 0,//人数 'workforce' => $this->workforce ?? 0, //人数
'cultivated' =>$this->cultivated ?? 0,//种养殖面积 'cultivated' => $this->cultivated ?? 0, //种养殖面积
'crops' => CropResource::collection($this->whenLoaded('crops')), 'crops' => CropResource::collection($this->whenLoaded('crops')),
]; ];
} }

View File

@ -2,7 +2,6 @@
namespace App\Http\Resources; namespace App\Http\Resources;
use App\Models\AdminUser;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
class RiceShrimpPriceResource extends JsonResource class RiceShrimpPriceResource extends JsonResource

View File

@ -11,7 +11,8 @@ class AgriculturalBaseFilter extends ModelFilter
return $this->where('type', $type); return $this->where('type', $type);
} }
public function parentId($parentId){ public function parentId($parentId)
{
return $this->where('parent_id', $parentId); return $this->where('parent_id', $parentId);
} }
} }

View File

@ -22,7 +22,8 @@ class CropFilter extends ModelFilter
return $q; return $q;
} }
public function cropType($cropType){ public function cropType($cropType)
{
return $this->where('crop_type', $cropType); return $this->where('crop_type', $cropType);
} }
@ -31,8 +32,8 @@ class CropFilter extends ModelFilter
return $this->where('category_id', $categoryId); return $this->where('category_id', $categoryId);
} }
public function parent($parentId)
public function parent($parentId){ {
return $this->where('parent_id', $parentId); return $this->where('parent_id', $parentId);
} }
} }

View File

@ -21,7 +21,8 @@ class DeviceFilter extends ModelFilter
return $this->where('type', $type); return $this->where('type', $type);
} }
public function status($status){ public function status($status)
{
return $this->where('status', $status); return $this->where('status', $status);
} }
} }

View File

@ -11,7 +11,8 @@ class DeviceWarningFilter extends ModelFilter
return $this->where('base_id', $base); return $this->where('base_id', $base);
} }
public function status($status){ public function status($status)
{
return $this->where('status', $status); return $this->where('status', $status);
} }
} }

View File

@ -16,11 +16,13 @@ class FriendLinkFilter extends ModelFilter
return $this->where('type', $type); return $this->where('type', $type);
} }
public function recommend($recommend){ public function recommend($recommend)
{
return $this->where('is_recommend', $recommend); return $this->where('is_recommend', $recommend);
} }
public function show($show){ public function show($show)
{
return $this->where('is_show', $show); return $this->where('is_show', $show);
} }
} }

View File

@ -3,9 +3,9 @@
namespace App\Models; namespace App\Models;
use App\Enums\BaseType; use App\Enums\BaseType;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Dcat\Admin\Traits\HasDateTimeFormatter;
class AgriculturalBase extends Model class AgriculturalBase extends Model
{ {
@ -19,7 +19,7 @@ class AgriculturalBase extends Model
'type', 'type',
'name', 'person', 'address', 'address_lat', 'address_lng', 'name', 'person', 'address', 'address_lat', 'address_lng',
'description', 'map', 'areas', 'workforce', 'description', 'map', 'areas', 'workforce',
'parent_id','cultivated', 'parent_id', 'cultivated',
]; ];
public function scopeBase($q) public function scopeBase($q)
@ -42,11 +42,13 @@ class AgriculturalBase extends Model
return $this->belongsToMany(Crop::class, 'base_crops', 'base_id', 'crop_id'); return $this->belongsToMany(Crop::class, 'base_crops', 'base_id', 'crop_id');
} }
public function yieldLogs(){ public function yieldLogs()
{
return $this->hasMany(CropYield::class, 'base_id'); return $this->hasMany(CropYield::class, 'base_id');
} }
public function devices(){ public function devices()
{
return $this->hasMany(Device::class, 'agricultural_base_id'); return $this->hasMany(Device::class, 'agricultural_base_id');
} }
} }

View File

@ -2,11 +2,11 @@
namespace App\Models; namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Dcat\Admin\Traits\ModelTree;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Peidikeji\Keywords\Models\Keywords; use Peidikeji\Keywords\Models\Keywords;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Dcat\Admin\Traits\ModelTree;
class Crop extends Model class Crop extends Model
{ {
@ -17,7 +17,7 @@ class Crop extends Model
protected $orderColumn = 'sort'; protected $orderColumn = 'sort';
protected $casts = [ protected $casts = [
'extends' => 'array' 'extends' => 'array',
]; ];
public function scopeSort($q) public function scopeSort($q)
@ -32,14 +32,16 @@ class Crop extends Model
'path', 'is_end', 'path', 'is_end',
'sort', 'sort',
'extends', 'extends',
'crop_type' 'crop_type',
]; ];
public function category(){ public function category()
{
return $this->belongsTo(Keywords::class, 'category_id'); return $this->belongsTo(Keywords::class, 'category_id');
} }
public function parent(){ public function parent()
{
return $this->belongsTo(self::class, 'parent_id'); return $this->belongsTo(self::class, 'parent_id');
} }
} }

View File

@ -2,23 +2,23 @@
namespace App\Models; namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Dcat\Admin\Traits\HasDateTimeFormatter;
class CropYield extends Model class CropYield extends Model
{ {
use Filterable, HasDateTimeFormatter; use Filterable, HasDateTimeFormatter;
protected $casts = [ protected $casts = [
'extends'=>'array', 'extends' => 'array',
]; ];
protected $fillable = [ protected $fillable = [
'base_id', 'crop_id', 'time_year', 'yield', 'cultivated', 'output', 'user_id', 'base_id', 'crop_id', 'time_year', 'yield', 'cultivated', 'output', 'user_id',
'created_by', 'updated_by', 'created_by', 'updated_by',
'quarter', 'extends', 'quarter', 'extends',
'category_id' 'category_id',
]; ];
/** /**

View File

@ -3,8 +3,8 @@
namespace App\Models; namespace App\Models;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class DeviceWarning extends Model class DeviceWarning extends Model
{ {
@ -12,6 +12,6 @@ class DeviceWarning extends Model
protected $fillable = [ protected $fillable = [
'device_id', 'base_id', 'lv', 'content', 'status', 'remarks', 'device_id', 'base_id', 'lv', 'content', 'status', 'remarks',
'linkos_device_id', 'linkos_reported_at' 'linkos_device_id', 'linkos_reported_at',
]; ];
} }

View File

@ -3,10 +3,10 @@
namespace App\Models; namespace App\Models;
use Dcat\Admin\Admin; use Dcat\Admin\Admin;
use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model;
use Dcat\Admin\Traits\HasDateTimeFormatter; use Dcat\Admin\Traits\HasDateTimeFormatter;
use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class FriendLink extends Model class FriendLink extends Model
{ {
@ -19,7 +19,7 @@ class FriendLink extends Model
public const TYPE_ARTICLE = 3; //文章 public const TYPE_ARTICLE = 3; //文章
protected $fillable = [ protected $fillable = [
'name', 'type', 'content', 'sort', 'is_recommend', 'is_show' 'name', 'type', 'content', 'sort', 'is_recommend', 'is_show',
]; ];
public static function typeMap() public static function typeMap()
@ -27,7 +27,7 @@ class FriendLink extends Model
return [ return [
self::TYPE_LINK => '链接', self::TYPE_LINK => '链接',
self::TYPE_VIDEO => '视频', self::TYPE_VIDEO => '视频',
self::TYPE_ARTICLE => '文章' self::TYPE_ARTICLE => '文章',
]; ];
} }
@ -46,7 +46,8 @@ class FriendLink extends Model
return "<span class='label' style='background: $background;'>{$name}</span>"; return "<span class='label' style='background: $background;'>{$name}</span>";
} }
public function scopeSort($q){ public function scopeSort($q)
{
return $q->orderBy('sort', 'desc')->orderBy('created_at', 'desc'); return $q->orderBy('sort', 'desc')->orderBy('created_at', 'desc');
} }
} }

View File

@ -2,11 +2,10 @@
namespace Database\Seeders; namespace Database\Seeders;
use Throwable;
use Illuminate\Support\Str;
use Illuminate\Database\Seeder;
use App\Models\AgriculturalBase; use App\Models\AgriculturalBase;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Throwable;
class AgriculturalBaseSeeder extends Seeder class AgriculturalBaseSeeder extends Seeder
{ {
@ -19,19 +18,19 @@ class AgriculturalBaseSeeder extends Seeder
{ {
// //
$bases = [ $bases = [
['name' => '古湖街道', 'type' => 2, 'description' => '', 'areas' => '38674', 'workforce'=> '86860'], ['name' => '古湖街道', 'type' => 2, 'description' => '', 'areas' => '38674', 'workforce' => '86860'],
['name' => '金鹅街道', 'type' => 2, 'description' => '', 'areas' => '39532', 'workforce'=> '201'], ['name' => '金鹅街道', 'type' => 2, 'description' => '', 'areas' => '39532', 'workforce' => '201'],
['name' => '响石镇', 'type' => 2, 'description' => '', 'areas' => '56630', 'workforce'=> '47690'], ['name' => '响石镇', 'type' => 2, 'description' => '', 'areas' => '56630', 'workforce' => '47690'],
['name' => '圣灯镇', 'type' => 2, 'description' => '', 'areas' => '21448', 'workforce'=> '23895'], ['name' => '圣灯镇', 'type' => 2, 'description' => '', 'areas' => '21448', 'workforce' => '23895'],
['name' => '黄家镇', 'type' => 2, 'description' => '', 'areas' => '93373', 'workforce'=> '204'], ['name' => '黄家镇', 'type' => 2, 'description' => '', 'areas' => '93373', 'workforce' => '204'],
['name' => '双凤镇', 'type' => 2, 'description' => '', 'areas' => '76150', 'workforce'=> '69042'], ['name' => '双凤镇', 'type' => 2, 'description' => '', 'areas' => '76150', 'workforce' => '69042'],
['name' => '龙市镇', 'type' => 2, 'description' => '', 'areas' => '86558', 'workforce'=> '206'], ['name' => '龙市镇', 'type' => 2, 'description' => '', 'areas' => '86558', 'workforce' => '206'],
['name' => '界市镇', 'type' => 2, 'description' => '', 'areas' => '69345', 'workforce'=> '207'], ['name' => '界市镇', 'type' => 2, 'description' => '', 'areas' => '69345', 'workforce' => '207'],
['name' => '石碾镇', 'type' => 2, 'description' => '', 'areas' => '66164', 'workforce'=> '208'], ['name' => '石碾镇', 'type' => 2, 'description' => '', 'areas' => '66164', 'workforce' => '208'],
['name' => '石燕桥镇', 'type' => 2, 'description' => '', 'areas' => '58382', 'workforce'=> '209'], ['name' => '石燕桥镇', 'type' => 2, 'description' => '', 'areas' => '58382', 'workforce' => '209'],
['name' => '胡家镇', 'type' => 2, 'description' => '', 'areas' => '55742', 'workforce'=> '69332'], ['name' => '胡家镇', 'type' => 2, 'description' => '', 'areas' => '55742', 'workforce' => '69332'],
['name' => '云顶镇', 'type' => 2, 'description' => '', 'areas' => '46676', 'workforce'=> '40749'], ['name' => '云顶镇', 'type' => 2, 'description' => '', 'areas' => '46676', 'workforce' => '40749'],
['name' => '普润镇', 'type' => 2, 'description' => '', 'areas' => '58370', 'workforce'=> '212'], ['name' => '普润镇', 'type' => 2, 'description' => '', 'areas' => '58370', 'workforce' => '212'],
]; ];
DB::table('agricultural_bases')->truncate(); DB::table('agricultural_bases')->truncate();
try { try {

View File

@ -27,7 +27,7 @@ class KeywordsTableSeeder extends Seeder
$list = [ $list = [
['key' => 'crops-category', 'name' => '农作物产业分类', 'value' => '', 'list' => [ ['key' => 'crops-category', 'name' => '农作物产业分类', 'value' => '', 'list' => [
['key' => 'crops-cate-nongye', 'name' => '农业', 'type_key' => 'crops-category', 'value' => ''], ['key' => 'crops-cate-nongye', 'name' => '农业', 'type_key' => 'crops-category', 'value' => ''],
['key' => 'crops-cate-yuye', 'name' => '渔业', 'type_key' => 'crops-category', 'value' => '',], ['key' => 'crops-cate-yuye', 'name' => '渔业', 'type_key' => 'crops-category', 'value' => ''],
['key' => 'crops-cate-xumuye', 'name' => '畜牧业', 'type_key' => 'crops-category', 'value' => ''], ['key' => 'crops-cate-xumuye', 'name' => '畜牧业', 'type_key' => 'crops-category', 'value' => ''],
['key' => 'crops-cate-lingye', 'name' => '林业', 'type_key' => 'crops-category', 'value' => ''], ['key' => 'crops-cate-lingye', 'name' => '林业', 'type_key' => 'crops-category', 'value' => ''],
['key' => 'crops-cate-activity', 'name' => '其他', 'type_key' => 'crops-category', 'value' => ''], ['key' => 'crops-cate-activity', 'name' => '其他', 'type_key' => 'crops-category', 'value' => ''],

View File

@ -32,7 +32,7 @@ class SettingTableSeeder extends Seeder
['name' => '全市数据-人口', 'slug' => 'city_data_population', 'value' => '{"value":"0", "unit":"万人"}'], ['name' => '全市数据-人口', 'slug' => 'city_data_population', 'value' => '{"value":"0", "unit":"万人"}'],
['name' => '全市数据-耕地总面积', 'slug' => 'city_data_cultivated_area', 'value' => '{"value":"0", "unit":"万亩"}'], ['name' => '全市数据-耕地总面积', 'slug' => 'city_data_cultivated_area', 'value' => '{"value":"0", "unit":"万亩"}'],
['name' => '全市数据-生猪年出栏', 'slug' => 'city_data_pig_output', 'value' => '{"value":"0", "unit":"万头"}'], ['name' => '全市数据-生猪年出栏', 'slug' => 'city_data_pig_output', 'value' => '{"value":"0", "unit":"万头"}'],
['name' => '警报规则-土壤设备', 'slug' => 'device_warning_rule_soil', 'value' =>'{ ['name' => '警报规则-土壤设备', 'slug' => 'device_warning_rule_soil', 'value' => '{
"temperature":{ "temperature":{
"1":[{"min":null,"max":null},{"min":null,"max":null}], "1":[{"min":null,"max":null},{"min":null,"max":null}],
"2":[{"min":null,"max":null},{"min":null,"max":null}], "2":[{"min":null,"max":null},{"min":null,"max":null}],
@ -70,7 +70,7 @@ class SettingTableSeeder extends Seeder
"4":[{"min":null,"max":null}] "4":[{"min":null,"max":null}]
} }
}'], }'],
['name' => '警报规则-水质设备', 'slug' => 'device_warning_rule_waterquality', 'value' =>'{ ['name' => '警报规则-水质设备', 'slug' => 'device_warning_rule_waterquality', 'value' => '{
"temperature":{ "temperature":{
"1":[{"min":null,"max":null},{"min":null,"max":null}], "1":[{"min":null,"max":null},{"min":null,"max":null}],
"2":[{"min":null,"max":null},{"min":null,"max":null}], "2":[{"min":null,"max":null},{"min":null,"max":null}],
@ -107,7 +107,7 @@ class SettingTableSeeder extends Seeder
"3":[{"min":null,"max":null}], "3":[{"min":null,"max":null}],
"4":[{"min":null,"max":null}] "4":[{"min":null,"max":null}]
} }
}'] }'],
]; ];
Setting::insert($list); Setting::insert($list);
} }

View File

@ -7,6 +7,7 @@
* *
* @author jqh <841324345@qq.com> * @author jqh <841324345@qq.com>
*/ */
namespace Dcat\Admin { namespace Dcat\Admin {
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@ -253,9 +254,13 @@ namespace Dcat\Admin {
* @method Grid\Column|Collection ph(string $label = null) * @method Grid\Column|Collection ph(string $label = null)
* @method Grid\Column|Collection turbidity(string $label = null) * @method Grid\Column|Collection turbidity(string $label = null)
*/ */
class Grid {} class Grid
{
}
class MiniGrid extends Grid {} class MiniGrid extends Grid
{
}
/** /**
* @property Show\Field|Collection id * @property Show\Field|Collection id
@ -500,30 +505,32 @@ namespace Dcat\Admin {
* @method Show\Field|Collection ph(string $label = null) * @method Show\Field|Collection ph(string $label = null)
* @method Show\Field|Collection turbidity(string $label = null) * @method Show\Field|Collection turbidity(string $label = null)
*/ */
class Show {} class Show
{
}
/** /**
* @method \App\Admin\Form\Amap amap(...$params) * @method \App\Admin\Form\Amap amap(...$params)
*/ */
class Form {} class Form
{
}
} }
namespace Dcat\Admin\Grid { namespace Dcat\Admin\Grid {
/**
*/
class Column {}
/** class Column
{
*/ }
class Filter {}
class Filter
{
}
} }
namespace Dcat\Admin\Show { namespace Dcat\Admin\Show {
/**
class Field
*/ {
class Field {} }
} }

View File

@ -1,4 +1,5 @@
<?php <?php
return [ return [
'labels' => [ 'labels' => [
'AgriculturalBase' => '基地数据', 'AgriculturalBase' => '基地数据',

View File

@ -1,4 +1,5 @@
<?php <?php
return [ return [
'labels' => [ 'labels' => [
'CropYield' => 'CropYield', 'CropYield' => 'CropYield',

View File

@ -1,4 +1,5 @@
<?php <?php
return [ return [
'labels' => [ 'labels' => [
'Crop' => 'Crop', 'Crop' => 'Crop',

View File

@ -1,4 +1,5 @@
<?php <?php
return [ return [
'labels' => [ 'labels' => [
'FriendLink' => '友情链接', 'FriendLink' => '友情链接',

View File

@ -28,7 +28,7 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
Route::get('citydata-statistics', [CityDataController::class, 'statistics'])->name('citydata_statistics.index'); Route::get('citydata-statistics', [CityDataController::class, 'statistics'])->name('citydata_statistics.index');
//基地数据 //基地数据
Route::apiResource('agricultural-basic', AgriculturalBaseController::class)->names('agricultural_basic'); Route::apiResource('agricultural-basic', AgriculturalBaseController::class)->names('agricultural_basic');
Route::get('agricultural-device-basic', [AgriculturalBaseController::class, 'deviceBase'])->name('agricultural_basic.device_bases');//通过设备类型查询基地 Route::get('agricultural-device-basic', [AgriculturalBaseController::class, 'deviceBase'])->name('agricultural_basic.device_bases'); //通过设备类型查询基地
//农作物 //农作物
Route::apiResource('crops', CropController::class)->names('crops'); Route::apiResource('crops', CropController::class)->names('crops');
@ -51,11 +51,11 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links'); Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links');
/**统计 **/ /**统计 **/
Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']);//季度统计 Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']); //季度统计
Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']);//行业统计产值 Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']); //行业统计产值
Route::get('crop-yield-total-list', [CropYieldController::class, 'totalStaticsList']);//城镇统计产值 Route::get('crop-yield-total-list', [CropYieldController::class, 'totalStaticsList']); //城镇统计产值
Route::get('crop-yield-total-chart', [CropYieldController::class, 'totalStaticsChart']);//城镇统计产值 Route::get('crop-yield-total-chart', [CropYieldController::class, 'totalStaticsChart']); //城镇统计产值
Route::get('device-data-statics', [DeviceController::class, 'dataStatics']);//指定设备,当天的设备数据 Route::get('device-data-statics', [DeviceController::class, 'dataStatics']); //指定设备,当天的设备数据
Route::get('device-base-data-statics', [DeviceController::class, 'baseDataStatics']); Route::get('device-base-data-statics', [DeviceController::class, 'baseDataStatics']);
/** 系统管理 **/ /** 系统管理 **/