dev
Jing Li 2022-10-24 17:28:10 +08:00
parent f4f1079cbb
commit 6448d8ab87
12 changed files with 30 additions and 28 deletions

View File

@ -4,11 +4,11 @@ namespace App\Http\Controllers;
use App\Enums\BaseType; use App\Enums\BaseType;
use App\Helpers\Paginator; use App\Helpers\Paginator;
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
{ {
@ -62,7 +62,7 @@ class AgriculturalBaseController extends Controller
$cropsIds = $request->input('crops_ids', []); $cropsIds = $request->input('crops_ids', []);
$type = $request->input('type'); $type = $request->input('type');
//已添加区域无法变更类型 //已添加区域无法变更类型
if($type !== $agriculturalBasic->type->value) { if ($type !== $agriculturalBasic->type->value) {
return $this->error('无法变更类型'); return $this->error('无法变更类型');
} }
try { try {

View File

@ -2,11 +2,11 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Http\Requestes\CropRequest;
use App\Http\Resources\CropResource;
use App\Models\Crop; use App\Models\Crop;
use App\Models\CropYield; use App\Models\CropYield;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Requestes\CropRequest;
use App\Http\Resources\CropResource;
class CropController extends Controller class CropController extends Controller
{ {
@ -22,7 +22,7 @@ class CropController extends Controller
{ {
$input = $request->input(); $input = $request->input();
//如果有上级录入path //如果有上级录入path
if($input['parent_id'] ?? 0){ if ($input['parent_id'] ?? 0) {
$parent = Crop::findOrFail($input['parent_id']); $parent = Crop::findOrFail($input['parent_id']);
$input['path'] = ($parent?->path ?? '').$parent?->id.'-'; $input['path'] = ($parent?->path ?? '').$parent?->id.'-';
} }
@ -41,8 +41,8 @@ class CropController extends Controller
//如果原本是结点,不允许修改为非节点 //如果原本是结点,不允许修改为非节点
//如果原本非结点,且有子节点,同样无法修改; //如果原本非结点,且有子节点,同样无法修改;
$input = $request->input(); $input = $request->input();
if($input['is_end'] != $crop->is_end){ if ($input['is_end'] != $crop->is_end) {
if($crop->is_end || Crop::where(['parent_id', $crop->id])->exists()){ if ($crop->is_end || Crop::where(['parent_id', $crop->id])->exists()) {
return $this->error('无法修改结点状态'); return $this->error('无法修改结点状态');
} }
} }
@ -55,11 +55,11 @@ class CropController extends Controller
public function destroy(Crop $crop) public function destroy(Crop $crop)
{ {
//如果有关联数据,无法删除 //如果有关联数据,无法删除
if(CropYield::where('crop_id', $crop->id)->exists()){ if (CropYield::where('crop_id', $crop->id)->exists()) {
return $this->error('该结点有关联产量数据, 无法删除'); return $this->error('该结点有关联产量数据, 无法删除');
} }
//如果有子节点,无法删除 //如果有子节点,无法删除
if(Crop::where(['parent_id', $crop->id])->exists()){ if (Crop::where(['parent_id', $crop->id])->exists()) {
return $this->error('该结点有关联产量数据, 无法删除'); return $this->error('该结点有关联产量数据, 无法删除');
} }

View File

@ -3,10 +3,10 @@
namespace App\Http\Requestes; namespace App\Http\Requestes;
use App\Enums\BaseType; use App\Enums\BaseType;
use Illuminate\Validation\Rules\Enum;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator; use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Validation\Rules\Enum;
class AgriculturalBaseRequest extends FormRequest class AgriculturalBaseRequest extends FormRequest
{ {

View File

@ -36,7 +36,7 @@ class CropRequest extends FormRequest
'is_end' => '请选择是否结点', 'is_end' => '请选择是否结点',
'unit' => '请填写单位', 'unit' => '请填写单位',
'extends' => '请正确填写扩展字段', 'extends' => '请正确填写扩展字段',
'sort' => '请正确填写排序' 'sort' => '请正确填写排序',
]; ];
return $messages; return $messages;

View File

@ -3,7 +3,6 @@
namespace App\Http\Resources; namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
use Peidikeji\Keywords\Http\Resources\KeywordResource;
class AgriculturalBaseResource extends JsonResource class AgriculturalBaseResource extends JsonResource
{ {

View File

@ -6,7 +6,8 @@ use EloquentFilter\ModelFilter;
class AgriculturalBaseFilter extends ModelFilter class AgriculturalBaseFilter extends ModelFilter
{ {
public function type($type){ public function type($type)
{
return $this->where('type', $type); return $this->where('type', $type);
} }
} }

View File

@ -15,7 +15,7 @@ class CropFilter extends ModelFilter
{ {
$q = $this; $q = $this;
switch ($type) { switch ($type) {
case "top": case 'top':
$q->whereNull('parent_id'); $q->whereNull('parent_id');
break; break;
case 'all': case 'all':
@ -23,6 +23,7 @@ class CropFilter extends ModelFilter
default: default:
break; break;
} }
return $q; return $q;
} }
} }

View File

@ -21,11 +21,13 @@ class AgriculturalBase extends Model
'description', 'map', 'areas', 'workforce', 'description', 'map', 'areas', 'workforce',
]; ];
public function scopeBase($q){ public function scopeBase($q)
{
return $q->where('type', BaseType::Base); return $q->where('type', BaseType::Base);
} }
public function scopeTown($q){ public function scopeTown($q)
{
return $q->where('type', BaseType::Town); return $q->where('type', BaseType::Town);
} }

View File

@ -9,7 +9,8 @@ class Crop extends Model
{ {
use Filterable; use Filterable;
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');
} }
@ -18,6 +19,6 @@ class Crop extends Model
'name', 'parent_id', 'name', 'parent_id',
'path', 'is_end', 'path', 'is_end',
'sort', 'sort',
'extends' 'extends',
]; ];
} }

View File

@ -4,7 +4,6 @@ namespace App\Models;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Peidikeji\Keywords\Models\Keywords;
class CropFlow extends Model class CropFlow extends Model
{ {

View File

@ -4,7 +4,6 @@ namespace App\Models;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Peidikeji\Keywords\Models\Keywords;
class CropYield extends Model class CropYield extends Model
{ {

View File

@ -437,13 +437,13 @@ class LinkosDeviceLogService
// 角度转弧度 // 角度转弧度
$radian = deg2rad($sample['wind_degree']); $radian = deg2rad($sample['wind_degree']);
$x += $sample['wind_speed']*sin($radian); $x += $sample['wind_speed'] * sin($radian);
$y += $sample['wind_speed']*cos($radian); $y += $sample['wind_speed'] * cos($radian);
} }
$degree = round(rad2deg(atan($x/$y))); $degree = round(rad2deg(atan($x / $y)));
if (($x > 0 || $x < 0 ) && $y < 0) { if (($x > 0 || $x < 0) && $y < 0) {
$degree += 180; $degree += 180;
} elseif ($x < 0 && $y > 0) { } elseif ($x < 0 && $y > 0) {
$degree += 360; $degree += 360;