Прототип страницы расчета ПУУД

This commit is contained in:
emelianov
2026-06-15 12:19:53 +03:00
parent 07ba650e03
commit 7fdac8c71e
9 changed files with 88 additions and 174 deletions
@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.ResponseBody
import org.springframework.web.bind.annotation.RestController
import space.nstart.pcp.pcp_types_lib.dto.ballistics.AngularMotionCalculationRequestDTO
import space.nstart.pcp.slots_service.dto.dynamicplan.DynamicPlanCalculationRequestDTO
import space.nstart.pcp.slots_service.service.DynamicPlanService
import java.util.UUID
@@ -94,7 +95,6 @@ class AngularMotionRestController(
@PostMapping("/calculate")
@ResponseBody
fun calculate(@RequestBody request: Map<String, Any?>) =
fun calculate(@RequestBody request: AngularMotionCalculationRequestDTO) =
dynamicPlanService.calculateAngularMotion(request)
}
@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
import org.springframework.web.reactive.function.client.WebClient
import reactor.core.publisher.Mono
import space.nstart.pcp.pcp_types_lib.dto.ballistics.AngularMotionCalculationRequestDTO
import space.nstart.pcp.slots_service.configuration.CustomErrorException
import space.nstart.pcp.slots_service.dto.dynamicplan.DynamicPlanCalculationRequestDTO
import tools.jackson.databind.JsonNode
@@ -143,7 +144,7 @@ class DynamicPlanService(webClientBuilderProvider: ObjectProvider<WebClient.Buil
.bodyToMono(JsonNode::class.java)
.block() ?: ObjectMapper().createArrayNode()
fun calculateAngularMotion(request: Any): JsonNode =
fun calculateAngularMotion(request: AngularMotionCalculationRequestDTO): JsonNode =
webClientBuilder.build()
.post()
.uri("$ballisticsServiceUrl/api/angular-motion/calculate")
@@ -379,6 +379,7 @@
durationSec: Number(el('angular-motion-duration').value),
leadAngleDeg: Number(el('angular-motion-lead-angle').value || 0),
azimuthDeg: Number(el('angular-motion-azimuth').value || 0),
pointInCenter: false,
focusMm: Number(el('angular-motion-focus').value || 5500),
stepPuudSec: Number(el('angular-motion-step').value || 0.125),
stepSdiSec: Number(el('angular-motion-step-sdi').value || 20),