修复编码风格

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;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Admin;
use App\Enums\BaseType;
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;
class AgriculturalBaseController extends AdminController
@ -42,7 +40,6 @@ class AgriculturalBaseController extends AdminController
$grid->filter(function (Grid\Filter $filter) {
$filter->like('name')->width(3);
});
});
}
@ -76,7 +73,7 @@ class AgriculturalBaseController extends AdminController
$form->hidden('type')->value(BaseType::Base->value);
$form->saving(function($form){
$form->saving(function ($form) {
$position = json_decode($form->position);
$form->address = $position->address ?? '';

View File

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

View File

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

View File

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

View File

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

View File

@ -1,11 +1,11 @@
<?php
use App\Admin\Form\Amap;
use App\Admin\Form\CropExtends;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
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.

View File

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

View File

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

View File

@ -3,14 +3,14 @@
namespace App\Http\Controllers;
use App\Enums\BaseType;
use App\Enums\DeviceStatus;
use App\Enums\DeviceType;
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\Resources\AgriculturalBaseResource;
use App\Models\AgriculturalBase;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AgriculturalBaseController extends Controller
{
@ -57,6 +57,7 @@ class AgriculturalBaseController extends Controller
public function show(AgriculturalBase $agriculturalBasic)
{
$agriculturalBasic->load('crops');
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);
$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);
})->get();

View File

@ -7,7 +7,6 @@ use App\Models\Materiel;
use App\Models\RiceShrimpFlow;
use App\Models\RiceShrimpIndustry;
use App\Models\RiceShrimpPrice;
use App\Services\RiceShrimpPriceService;
use Illuminate\Http\Request;
class ChartController extends Controller
@ -15,7 +14,7 @@ class ChartController extends Controller
/**
* 稻虾价格趋势
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Request $request
* @return array
*/
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
*/
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
*/
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
*/
public function materiel(Request $request)

View File

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

View File

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

View File

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

View File

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

View File

@ -3,13 +3,14 @@
namespace App\Http\Controllers;
use App\Helpers\Paginator;
use App\Http\Resources\FriendLinkResource;
use App\Models\FriendLink;
use Illuminate\Http\Request;
use App\Http\Resources\FriendLinkResource;
class FriendLinkController extends Controller
{
public function index(Request $request){
public function index(Request $request)
{
$query = FriendLink::filter($request->all());
$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
*/
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
*
* @throws \App\Exceptions\BizException
@ -65,8 +65,8 @@ class MaterielController extends Controller
/**
* 修改物资
*
* @param int $id
* @param \App\Http\Requestes\MaterielUpdateRequest $request
* @param int $id
* @param \App\Http\Requestes\MaterielUpdateRequest $request
* @return \App\Http\Resources\RiceShrimpIndustryResource
*/
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
*/
public function destroy($id): JsonResponse

View File

@ -9,14 +9,13 @@ use App\Models\RiceShrimpFlow;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Validation\ValidationException;
class RiceShrimpFlowController extends Controller
{
/**
* 稻虾流向列表
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Resources\Json\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
*
* @throws \App\Exceptions\BizException
@ -64,8 +63,8 @@ class RiceShrimpFlowController extends Controller
/**
* 修改稻虾流向
*
* @param int $id
* @param \App\Http\Requestes\RiceShrimpFlowUpdateRequest $request
* @param int $id
* @param \App\Http\Requestes\RiceShrimpFlowUpdateRequest $request
* @return \App\Http\Resources\RiceShrimpIndustryResource
*/
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
*/
public function destroy($id): JsonResponse

View File

@ -9,14 +9,13 @@ use App\Models\RiceShrimpIndustry;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Validation\ValidationException;
class RiceShrimpIndustryController extends Controller
{
/**
* 稻虾产业列表
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Resources\Json\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
*
* @throws \App\Exceptions\BizException
@ -65,8 +64,8 @@ class RiceShrimpIndustryController extends Controller
/**
* 修改稻虾价格
*
* @param int $id
* @param \App\Http\Requestes\RiceShrimpIndustryUpdateRequest $request
* @param int $id
* @param \App\Http\Requestes\RiceShrimpIndustryUpdateRequest $request
* @return \App\Http\Resources\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
*/
public function destroy($id): JsonResponse

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -27,7 +27,7 @@ class KeywordsTableSeeder extends Seeder
$list = [
['key' => 'crops-category', 'name' => '农作物产业分类', 'value' => '', 'list' => [
['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-lingye', '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_cultivated_area', '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":{
"1":[{"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}]
}
}'],
['name' => '警报规则-水质设备', 'slug' => 'device_warning_rule_waterquality', 'value' =>'{
['name' => '警报规则-水质设备', 'slug' => 'device_warning_rule_waterquality', 'value' => '{
"temperature":{
"1":[{"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}],
"4":[{"min":null,"max":null}]
}
}']
}'],
];
Setting::insert($list);
}

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,5 @@
<?php
return [
'labels' => [
'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::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');
@ -51,11 +51,11 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links');
/**统计 **/
Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']);//季度统计
Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']);//行业统计产值
Route::get('crop-yield-total-list', [CropYieldController::class, 'totalStaticsList']);//城镇统计产值
Route::get('crop-yield-total-chart', [CropYieldController::class, 'totalStaticsChart']);//城镇统计产值
Route::get('device-data-statics', [DeviceController::class, 'dataStatics']);//指定设备,当天的设备数据
Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']); //季度统计
Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']); //行业统计产值
Route::get('crop-yield-total-list', [CropYieldController::class, 'totalStaticsList']); //城镇统计产值
Route::get('crop-yield-total-chart', [CropYieldController::class, 'totalStaticsChart']); //城镇统计产值
Route::get('device-data-statics', [DeviceController::class, 'dataStatics']); //指定设备,当天的设备数据
Route::get('device-base-data-statics', [DeviceController::class, 'baseDataStatics']);
/** 系统管理 **/