From d34992d827f3277bdeebf6ad5459a99da99e8150 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Fri, 18 Aug 2023 10:12:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/CeshiController.php | 90 +++++++++++++++++++ app/common/logic/task/TaskLogic.php | 2 +- .../logic/task_template/TaskTemplateLogic.php | 2 + 3 files changed, 93 insertions(+), 1 deletion(-) diff --git a/app/api/controller/CeshiController.php b/app/api/controller/CeshiController.php index e5029751a..d3fb68b66 100644 --- a/app/api/controller/CeshiController.php +++ b/app/api/controller/CeshiController.php @@ -49,6 +49,80 @@ halt(2); } public function ceshi(){ + $points = [ + [ + "lat"=> 28.914962, + "lon"=>105.442355 + ], + + [ + "lat"=> 28.915456, + "lon"=> 105.443891 + ], + [ + "lat"=> 28.917516, + "lon"=> 105.443371 + ], + [ + "lat"=> 28.917536, + "lon"=> 105.443415 + ], + [ + "lat"=> 28.917001, + "lon"=> 105.442421 + ], + [ + "lat"=> 28.917103, + "lon"=> 105.442291 + ], + [ + "lat"=> 28.916658, + "lon"=> 105.442897 + ], + [ + "lat"=> 28.916428, + "lon"=> 105.44278 + ], + [ + "lat"=> 28.917073, + "lon"=> 105.443507 + ], + [ + "lat"=> 28.917073, + "lon"=> 105.443522 + ], + [ + "lat"=> 28.916796, + "lon"=> 105.443466 + ], + [ + "lat"=> 28.916665, + "lon"=> 105.443357 + ], + [ + "lat"=> 28.916674, + "lon"=> 105.442294 + ], + [ + "lat"=> 28.916698, + "lon"=> 105.442268 + ], + [ + "lat"=> 28.917279, + "lon"=> 105.443006 + ], + [ + "lat"=> 28.917234, + "lon"=> 105.442979 + ] + ]; + $target =[ + "lat"=> 28.917378, + "lon"=> 105.443005 + ]; + + $closestPoint = $this->getClosestPoint($points, $target); + halt($closestPoint); // $time=strtotime(date('Y-m-d',strtotime('+1 day'))); $time=strtotime(date('Y-m-d')); $tiem_end=$time+86399; @@ -63,4 +137,20 @@ halt(2); } halt(TaskLogic::getError()); } + + function getClosestPoint($points, $target) { + $minDistance = PHP_INT_MAX; + $closestPoint = null; + foreach ($points as $point) { + // halt($point,$target); + $distance = sqrt(pow(($point['lat'] - $target['lat']), 2) + pow(($point['lon'] - $target['lon']), 2)); + + if ($distance < $minDistance) { + $minDistance = $distance; + $closestPoint = $point; + } + } + + return [$closestPoint,$distance]; + } } \ No newline at end of file diff --git a/app/common/logic/task/TaskLogic.php b/app/common/logic/task/TaskLogic.php index 3358cd23a..86c8b10bf 100644 --- a/app/common/logic/task/TaskLogic.php +++ b/app/common/logic/task/TaskLogic.php @@ -98,7 +98,7 @@ class TaskLogic extends BaseLogic if ($v['template_info']['type'] == 32) { $data['director_uid'] = $v['company']['user_id']; } - + $data['extend'] = $v['template_info']['extend']; $task_id = (new Task())->insertGetId($data); TaskSchedulingPlan::where('id', $v['id'])->update(['task_id' => $task_id, 'is_execute' => 1]); return true; diff --git a/app/common/logic/task_template/TaskTemplateLogic.php b/app/common/logic/task_template/TaskTemplateLogic.php index bbf303d7a..ed0ba5c5d 100644 --- a/app/common/logic/task_template/TaskTemplateLogic.php +++ b/app/common/logic/task_template/TaskTemplateLogic.php @@ -58,6 +58,7 @@ class TaskTemplateLogic extends BaseLogic 'types' => $params['types'], 'status' => $params['status'], 'content' => $params['content'], + 'extend'=>json_encode($params['extend']), 'stage_day_one' => $params['stage_day_one']??0, 'proportion_one' => $params['proportion_one']??0, 'stage_day_two' => $params['stage_day_two']??0, @@ -101,6 +102,7 @@ class TaskTemplateLogic extends BaseLogic 'types' => $params['types'], 'status' => $params['status'], 'content' => $params['content'], + 'extend'=>json_encode($params['extend']), 'stage_day_one' => $params['stage_day_one']??0, 'proportion_one' => $params['proportion_one']??0, 'stage_day_two' => $params['stage_day_two']??0,