mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
added front - react+ts
ocr improved
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
"github.com/shopspring/decimal"
|
||||
"go.uber.org/zap"
|
||||
|
||||
ocrService "rmser/internal/services/ocr"
|
||||
@@ -31,8 +32,10 @@ func (h *OCRHandler) GetCatalog(c *gin.Context) {
|
||||
}
|
||||
|
||||
type MatchRequest struct {
|
||||
RawName string `json:"raw_name" binding:"required"`
|
||||
ProductID string `json:"product_id" binding:"required"`
|
||||
RawName string `json:"raw_name" binding:"required"`
|
||||
ProductID string `json:"product_id" binding:"required"`
|
||||
Quantity float64 `json:"quantity"`
|
||||
ContainerID *string `json:"container_id"`
|
||||
}
|
||||
|
||||
// SaveMatch сохраняет привязку (обучение)
|
||||
@@ -49,7 +52,19 @@ func (h *OCRHandler) SaveMatch(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.service.SaveMapping(req.RawName, pID); err != nil {
|
||||
qty := decimal.NewFromFloat(1.0)
|
||||
if req.Quantity > 0 {
|
||||
qty = decimal.NewFromFloat(req.Quantity)
|
||||
}
|
||||
|
||||
var contID *uuid.UUID
|
||||
if req.ContainerID != nil && *req.ContainerID != "" {
|
||||
if uid, err := uuid.Parse(*req.ContainerID); err == nil {
|
||||
contID = &uid
|
||||
}
|
||||
}
|
||||
|
||||
if err := h.service.SaveMapping(req.RawName, pID, qty, contID); err != nil {
|
||||
logger.Log.Error("Ошибка сохранения матчинга", zap.Error(err))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
@@ -69,3 +84,14 @@ func (h *OCRHandler) GetMatches(c *gin.Context) {
|
||||
|
||||
c.JSON(http.StatusOK, matches)
|
||||
}
|
||||
|
||||
// GetUnmatched возвращает список нераспознанных позиций для подсказок
|
||||
func (h *OCRHandler) GetUnmatched(c *gin.Context) {
|
||||
items, err := h.service.GetUnmatchedItems()
|
||||
if err != nil {
|
||||
logger.Log.Error("Ошибка получения списка unmatched", zap.Error(err))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, items)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user