This commit is contained in:
che
2026-07-12 20:42:21 +05:00
parent b815cde04c
commit e3490e5d2e
23 changed files with 1568 additions and 538 deletions
+32 -1
View File
@@ -8,19 +8,50 @@ import (
func RegisterApp(r *gin.Engine, db *gorm.DB) {
db.AutoMigrate(&ControlCase{})
db.AutoMigrate(&InitialCondition{})
db.AutoMigrate(&Params{})
migrateParamsPrToSc(db)
controller := NewControlCaseController(db)
params := NewParamsController(db)
initialConditions := NewInitialConditionController(db)
go4rest.RegisterCRUDRoutes(r, "control_case", controller)
go4rest.RegisterCRUDRoutes(r, "params", params)
go4rest.RegisterCRUDRoutes(r, "initial_condition", initialConditions)
r.POST("/api/control_case/launch", controller.Launch)
r.POST("/api/control_case/:id/recalculate-analysis", controller.RecalculateAnalysis)
r.GET("/api/control_case/:id/chart-data", controller.ChartData)
r.GET("/api/control_case/:id/psi-spectrum", controller.PSISpectrum)
r.GET("/api/control_case/:id/field-map", controller.FieldMap)
r.POST("/api/control_case/:id/initial-condition", controller.CreateInitialCondition)
numJobs := 1
//jobs := make(chan Params, numJobs)
results := make(chan int, numJobs)
go RunControllWorker(db, results)
}
func migrateParamsPrToSc(db *gorm.DB) {
type columnInfo struct {
Name string `gorm:"column:name"`
}
var columns []columnInfo
if err := db.Raw("PRAGMA table_info(params)").Scan(&columns).Error; err != nil {
return
}
hasPr := false
hasSc := false
for _, column := range columns {
switch column.Name {
case "pr":
hasPr = true
case "sc":
hasSc = true
}
}
if hasPr && hasSc {
db.Exec("UPDATE params SET sc = pr WHERE sc IS NULL OR sc = 0")
}
}