LingxinMeng há 1 ano atrás
pai
commit
d190bb8e03

+ 73 - 0
amd64/score_server/dao/mapper/mapper_exam.go

@@ -21,3 +21,76 @@ func SelectAllFromExam() []webServerEntity.ExamPo {
 	}
 	return result
 }
+
+func UpdateDeductScoreOffline(e *webServerEntity.ExamOfflinePao) {
+	// 更新记录结束时间为默认时间
+	sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["exam-update-deduct_score_offline-by-id.sql"])
+	if err := c_db.DoTx(sqlTemplate, []any{
+		e.DeductScoreOffline_1_1,
+		e.DeductScoreOffline_1_2,
+		e.DeductScoreOffline_1_3,
+		e.DeductScoreOffline_1_4,
+		e.DeductScoreOffline_2_1,
+		e.DeductScoreOffline_2_2,
+		e.DeductScoreOffline_3_1,
+		e.DeductScoreOffline_3_2,
+		e.DeductScoreOffline_3_3,
+		e.DeductScoreOffline_3_4,
+		e.DeductScoreOffline_4_1,
+		e.DeductScoreOffline_4_2,
+		e.DeductScoreOffline_4_3,
+		e.DeductScoreOffline_5_1,
+		e.DeductScoreOffline_5_2,
+		e.DeductScoreOffline_5_3,
+		e.DeductScoreOffline_6_1,
+		e.DeductScoreOffline_6_2,
+		e.DeductScoreOffline_7_1,
+		e.DeductScoreOffline_7_2,
+		e.DeductScoreOffline_7_3,
+		e.DeductScoreOffline_8_1,
+		e.DeductScoreOffline_8_2,
+		e.DeductScoreOffline_8_3,
+		e.DeductScoreOffline_9_1,
+		e.DeductScoreOffline_9_2,
+		e.DeductScoreOffline_9_3,
+		e.DeductScoreOffline_10_1,
+		e.DeductScoreOffline_10_2,
+		e.DeductScoreOffline_11_1,
+		e.DeductScoreOffline_11_2,
+		e.DeductScoreOffline_11_3,
+		e.DeductScoreOffline_12_1,
+		e.DeductScoreOffline_12_2,
+		e.Id,
+	}); err != nil {
+		c_log.GlobalLogger.Error("插入数据报错:", err)
+		return
+	}
+}
+
+//func SelectLatestBuTeamName() *webServerEntity.ExamPo {
+//	// 车辆不是在起点启动的自动驾驶模式
+//	var result []webServerEntity.ExamPo
+//	{
+//		selectSql, err := util.ReadFile(c_db.SqlFilesMap["exam-select-latest-by-team_name.sql"])
+//		if err != nil {
+//			c_log.GlobalLogger.Error("读取sql文件报错:", err)
+//			return nil
+//		}
+//		if err = c_db.MysqlDb.Select(&result, selectSql, teamName); err != nil {
+//			c_log.GlobalLogger.Error("数据库查询报错:", err)
+//			return nil
+//		}
+//		if len(result) == 1 {
+//			c_log.GlobalLogger.Info("上一条数据记录为:", result[0])
+//			// 添加队伍名到缓存中
+//			cacheTeamName.Store(teamName, time.Now())
+//			//cacheTeamName[teamName] = time.Now()
+//		} else {
+//			c_log.GlobalLogger.Errorf("队伍 %v 的考试车辆未在起点开启自动驾驶模式,且今日无考试记录,错误启动自动驾驶模式。", param.TeamName)
+//			c.JSON(http.StatusOK, commonEntity.Response{
+//				Code: 400,
+//				Msg:  "车辆未在起点开启自动驾驶模式,且今日无考试记录,错误启动自动驾驶模式。",
+//			})
+//		}
+//	}
+//}

+ 83 - 11
amd64/score_server/entity/e_exam.go

@@ -13,17 +13,51 @@ type ExamPao struct {
 }
 
 type ExamPo struct {
-	Id              int            `json:"id" db:"id"` // 自增id
-	TeamName        string         `json:"teamName" db:"team_name"`
-	Topic           string         `json:"topic" db:"topic"`
-	BeginTime       time.Time      `json:"beginTime" db:"begin_time"`
-	EndTime         time.Time      `json:"endTime" db:"end_time"`
-	ScoreOnline     float64        `json:"scoreOnline" db:"score_online"`
-	ScoreOffline    float64        `json:"scoreOffline" db:"score_offline"`
-	ScoreFinal      float64        `json:"scoreFinal" db:"score_final"`
-	Details         sql.NullString `json:"details" db:"details"`
-	ScoreReportPath string         `json:"ScoreReportPath" db:"score_report_path"`
-	EquipmentNo     string         `json:"equipmentNo" db:"equipment_no"`
+	Id                      int            `json:"id" db:"id"` // 自增id
+	TeamName                string         `json:"teamName" db:"team_name"`
+	Topic                   string         `json:"topic" db:"topic"`
+	BeginTime               time.Time      `json:"beginTime" db:"begin_time"`
+	EndTime                 time.Time      `json:"endTime" db:"end_time"`
+	ScoreOnline             float64        `json:"scoreOnline" db:"score_online"`
+	ScoreOffline            float64        `json:"scoreOffline" db:"score_offline"`
+	ScoreFinal              float64        `json:"scoreFinal" db:"score_final"`
+	Details                 sql.NullString `json:"details" db:"details"`
+	ScoreReportPath         string         `json:"ScoreReportPath" db:"score_report_path"`
+	EquipmentNo             string         `json:"equipmentNo" db:"equipment_no"`
+	DeductScoreOffline_1_1  int            `json:"deductScoreOffline_1_1" db:"deduct_score_offline_1_1"`
+	DeductScoreOffline_1_2  int            `json:"deductScoreOffline_1_2" db:"deduct_score_offline_1_2"`
+	DeductScoreOffline_1_3  int            `json:"deductScoreOffline_1_3" db:"deduct_score_offline_1_3"`
+	DeductScoreOffline_1_4  int            `json:"deductScoreOffline_1_4" db:"deduct_score_offline_1_4"`
+	DeductScoreOffline_2_1  int            `json:"deductScoreOffline_2_1" db:"deduct_score_offline_2_1"`
+	DeductScoreOffline_2_2  int            `json:"deductScoreOffline_2_2" db:"deduct_score_offline_2_2"`
+	DeductScoreOffline_3_1  int            `json:"deductScoreOffline_3_1" db:"deduct_score_offline_3_1"`
+	DeductScoreOffline_3_2  int            `json:"deductScoreOffline_3_2" db:"deduct_score_offline_3_2"`
+	DeductScoreOffline_3_3  int            `json:"deductScoreOffline_3_3" db:"deduct_score_offline_3_3"`
+	DeductScoreOffline_3_4  int            `json:"deductScoreOffline_3_4" db:"deduct_score_offline_3_4"`
+	DeductScoreOffline_4_1  int            `json:"deductScoreOffline_4_1" db:"deduct_score_offline_4_1"`
+	DeductScoreOffline_4_2  int            `json:"deductScoreOffline_4_2" db:"deduct_score_offline_4_2"`
+	DeductScoreOffline_4_3  int            `json:"deductScoreOffline_4_3" db:"deduct_score_offline_4_3"`
+	DeductScoreOffline_5_1  int            `json:"deductScoreOffline_5_1" db:"deduct_score_offline_5_1"`
+	DeductScoreOffline_5_2  int            `json:"deductScoreOffline_5_2" db:"deduct_score_offline_5_2"`
+	DeductScoreOffline_5_3  int            `json:"deductScoreOffline_5_3" db:"deduct_score_offline_5_3"`
+	DeductScoreOffline_6_1  int            `json:"deductScoreOffline_6_1" db:"deduct_score_offline_6_1"`
+	DeductScoreOffline_6_2  int            `json:"deductScoreOffline_6_2" db:"deduct_score_offline_6_2"`
+	DeductScoreOffline_7_1  int            `json:"deductScoreOffline_7_1" db:"deduct_score_offline_7_1"`
+	DeductScoreOffline_7_2  int            `json:"deductScoreOffline_7_2" db:"deduct_score_offline_7_2"`
+	DeductScoreOffline_7_3  int            `json:"deductScoreOffline_7_3" db:"deduct_score_offline_7_3"`
+	DeductScoreOffline_8_1  int            `json:"deductScoreOffline_8_1" db:"deduct_score_offline_8_1"`
+	DeductScoreOffline_8_2  int            `json:"deductScoreOffline_8_2" db:"deduct_score_offline_8_2"`
+	DeductScoreOffline_8_3  int            `json:"deductScoreOffline_8_3" db:"deduct_score_offline_8_3"`
+	DeductScoreOffline_9_1  int            `json:"deductScoreOffline_9_1" db:"deduct_score_offline_9_1"`
+	DeductScoreOffline_9_2  int            `json:"deductScoreOffline_9_2" db:"deduct_score_offline_9_2"`
+	DeductScoreOffline_9_3  int            `json:"deductScoreOffline_9_3" db:"deduct_score_offline_9_3"`
+	DeductScoreOffline_10_1 int            `json:"deductScoreOffline_10_1" db:"deduct_score_offline_10_1"`
+	DeductScoreOffline_10_2 int            `json:"deductScoreOffline_10_2" db:"deduct_score_offline_10_2"`
+	DeductScoreOffline_11_1 int            `json:"deductScoreOffline_11_1" db:"deduct_score_offline_11_1"`
+	DeductScoreOffline_11_2 int            `json:"deductScoreOffline_11_2" db:"deduct_score_offline_11_2"`
+	DeductScoreOffline_11_3 int            `json:"deductScoreOffline_11_3" db:"deduct_score_offline_11_3"`
+	DeductScoreOffline_12_1 int            `json:"deductScoreOffline_12_1" db:"deduct_score_offline_12_1"`
+	DeductScoreOffline_12_2 int            `json:"deductScoreOffline_12_2" db:"deduct_score_offline_12_2"`
 }
 
 type ExamVo struct {
@@ -53,6 +87,44 @@ type ExamReportPao struct {
 	EndTime     string `json:"endTime"`
 }
 
+type ExamOfflinePao struct {
+	Id                      int `json:"id"`
+	DeductScoreOffline_1_1  int `json:"deductScoreOffline_1_1" db:"deduct_score_offline_1_1"`
+	DeductScoreOffline_1_2  int `json:"deductScoreOffline_1_2" db:"deduct_score_offline_1_2"`
+	DeductScoreOffline_1_3  int `json:"deductScoreOffline_1_3" db:"deduct_score_offline_1_3"`
+	DeductScoreOffline_1_4  int `json:"deductScoreOffline_1_4" db:"deduct_score_offline_1_4"`
+	DeductScoreOffline_2_1  int `json:"deductScoreOffline_2_1" db:"deduct_score_offline_2_1"`
+	DeductScoreOffline_2_2  int `json:"deductScoreOffline_2_2" db:"deduct_score_offline_2_2"`
+	DeductScoreOffline_3_1  int `json:"deductScoreOffline_3_1" db:"deduct_score_offline_3_1"`
+	DeductScoreOffline_3_2  int `json:"deductScoreOffline_3_2" db:"deduct_score_offline_3_2"`
+	DeductScoreOffline_3_3  int `json:"deductScoreOffline_3_3" db:"deduct_score_offline_3_3"`
+	DeductScoreOffline_3_4  int `json:"deductScoreOffline_3_4" db:"deduct_score_offline_3_4"`
+	DeductScoreOffline_4_1  int `json:"deductScoreOffline_4_1" db:"deduct_score_offline_4_1"`
+	DeductScoreOffline_4_2  int `json:"deductScoreOffline_4_2" db:"deduct_score_offline_4_2"`
+	DeductScoreOffline_4_3  int `json:"deductScoreOffline_4_3" db:"deduct_score_offline_4_3"`
+	DeductScoreOffline_5_1  int `json:"deductScoreOffline_5_1" db:"deduct_score_offline_5_1"`
+	DeductScoreOffline_5_2  int `json:"deductScoreOffline_5_2" db:"deduct_score_offline_5_2"`
+	DeductScoreOffline_5_3  int `json:"deductScoreOffline_5_3" db:"deduct_score_offline_5_3"`
+	DeductScoreOffline_6_1  int `json:"deductScoreOffline_6_1" db:"deduct_score_offline_6_1"`
+	DeductScoreOffline_6_2  int `json:"deductScoreOffline_6_2" db:"deduct_score_offline_6_2"`
+	DeductScoreOffline_7_1  int `json:"deductScoreOffline_7_1" db:"deduct_score_offline_7_1"`
+	DeductScoreOffline_7_2  int `json:"deductScoreOffline_7_2" db:"deduct_score_offline_7_2"`
+	DeductScoreOffline_7_3  int `json:"deductScoreOffline_7_3" db:"deduct_score_offline_7_3"`
+	DeductScoreOffline_8_1  int `json:"deductScoreOffline_8_1" db:"deduct_score_offline_8_1"`
+	DeductScoreOffline_8_2  int `json:"deductScoreOffline_8_2" db:"deduct_score_offline_8_2"`
+	DeductScoreOffline_8_3  int `json:"deductScoreOffline_8_3" db:"deduct_score_offline_8_3"`
+	DeductScoreOffline_9_1  int `json:"deductScoreOffline_9_1" db:"deduct_score_offline_9_1"`
+	DeductScoreOffline_9_2  int `json:"deductScoreOffline_9_2" db:"deduct_score_offline_9_2"`
+	DeductScoreOffline_9_3  int `json:"deductScoreOffline_9_3" db:"deduct_score_offline_9_3"`
+	DeductScoreOffline_10_1 int `json:"deductScoreOffline_10_1" db:"deduct_score_offline_10_1"`
+	DeductScoreOffline_10_2 int `json:"deductScoreOffline_10_2" db:"deduct_score_offline_10_2"`
+	DeductScoreOffline_11_1 int `json:"deductScoreOffline_11_1" db:"deduct_score_offline_11_1"`
+	DeductScoreOffline_11_2 int `json:"deductScoreOffline_11_2" db:"deduct_score_offline_11_2"`
+	DeductScoreOffline_11_3 int `json:"deductScoreOffline_11_3" db:"deduct_score_offline_11_3"`
+	DeductScoreOffline_12_1 int `json:"deductScoreOffline_12_1" db:"deduct_score_offline_12_1"`
+	DeductScoreOffline_12_2 int `json:"deductScoreOffline_12_2" db:"deduct_score_offline_12_2"`
+}
+
 /*
 	{
 	  "TotalScore": 10,

+ 19 - 0
amd64/score_server/handler/h_exam.go

@@ -694,3 +694,22 @@ func Display(c *gin.Context) {
 		Data: exam,
 	})
 }
+
+// 云控录入线下成绩
+func Offline(c *gin.Context) {
+	param := new(webServerEntity.ExamOfflinePao)
+	// 映射到结构体
+	if err := c.ShouldBindJSON(&param); err != nil {
+		c_log.GlobalLogger.Error("接收请求参数报错:", err)
+		c.JSON(http.StatusBadRequest, commonEntity.Response{
+			Code: 500,
+			Msg:  "请求体解析失败。",
+		})
+		return
+	}
+	mapper.UpdateDeductScoreOffline(param)
+	c.JSON(http.StatusOK, commonEntity.Response{
+		Code: 200,
+		Msg:  "线下成绩录入成功。",
+	})
+}

+ 1 - 0
amd64/score_server/main.go

@@ -47,6 +47,7 @@ func main() {
 			examPrefix.POST("/display", handler.Display) // 云控展示线上评分
 			examPrefix.POST("/page", handler.Page)       // 分页查询
 			examPrefix.POST("/report", handler.Report)   // pdf下载
+			examPrefix.POST("/offline", handler.Offline) // 录入线下成绩
 		}
 	}
 	{

+ 37 - 0
amd64/score_server/sql/exam-update-deduct_score_offline-by-id.sql

@@ -0,0 +1,37 @@
+update exam
+set deduct_score_offline_1_1  = ?,
+    deduct_score_offline_1_2  = ?,
+    deduct_score_offline_1_3  = ?,
+    deduct_score_offline_1_4  = ?,
+    deduct_score_offline_2_1  = ?,
+    deduct_score_offline_2_2  = ?,
+    deduct_score_offline_3_1  = ?,
+    deduct_score_offline_3_2  = ?,
+    deduct_score_offline_3_3  = ?,
+    deduct_score_offline_3_4  = ?,
+    deduct_score_offline_4_1  = ?,
+    deduct_score_offline_4_2  = ?,
+    deduct_score_offline_4_3  = ?,
+    deduct_score_offline_5_1  = ?,
+    deduct_score_offline_5_2  = ?,
+    deduct_score_offline_5_3  = ?,
+    deduct_score_offline_6_1  = ?,
+    deduct_score_offline_6_2  = ?,
+    deduct_score_offline_7_1  = ?,
+    deduct_score_offline_7_2  = ?,
+    deduct_score_offline_7_3  = ?,
+    deduct_score_offline_8_1  = ?,
+    deduct_score_offline_8_2  = ?,
+    deduct_score_offline_8_3  = ?,
+    deduct_score_offline_9_1  = ?,
+    deduct_score_offline_9_2  = ?,
+    deduct_score_offline_9_3  = ?,
+    deduct_score_offline_10_1 = ?,
+    deduct_score_offline_10_2 = ?,
+    deduct_score_offline_11_1 = ?,
+    deduct_score_offline_11_2 = ?,
+    deduct_score_offline_11_3 = ?,
+    deduct_score_offline_12_1 = ?,
+    deduct_score_offline_12_2 = ?
+where id = ?
+