mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
редактирование и удаление сопоставлений
список накладных с позициями
This commit is contained in:
@@ -4,14 +4,17 @@ import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"rmser/internal/services/drafts"
|
||||
invService "rmser/internal/services/invoices"
|
||||
"rmser/pkg/logger"
|
||||
)
|
||||
|
||||
type InvoiceHandler struct {
|
||||
service *invService.Service
|
||||
service *invService.Service
|
||||
draftsService *drafts.Service
|
||||
}
|
||||
|
||||
func NewInvoiceHandler(service *invService.Service) *InvoiceHandler {
|
||||
@@ -35,7 +38,8 @@ func (h *InvoiceHandler) SendInvoice(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
docNum, err := h.service.SendInvoiceToRMS(req)
|
||||
userID := c.MustGet("userID").(uuid.UUID)
|
||||
docNum, err := h.service.SendInvoiceToRMS(req, userID)
|
||||
if err != nil {
|
||||
logger.Log.Error("Ошибка отправки накладной", zap.Error(err))
|
||||
// Возвращаем 502 Bad Gateway, т.к. ошибка скорее всего на стороне RMS
|
||||
@@ -48,3 +52,36 @@ func (h *InvoiceHandler) SendInvoice(c *gin.Context) {
|
||||
"created_number": docNum,
|
||||
})
|
||||
}
|
||||
|
||||
// GetInvoice godoc
|
||||
// @Summary Получить детали накладной
|
||||
// @Description Возвращает детали синхронизированной накладной по ID
|
||||
// @Tags invoices
|
||||
// @Produce json
|
||||
// @Param id path string true "Invoice ID"
|
||||
// @Success 200 {object} invService.InvoiceDetailsDTO
|
||||
// @Failure 400 {object} map[string]string
|
||||
// @Failure 404 {object} map[string]string
|
||||
// @Failure 500 {object} map[string]string
|
||||
func (h *InvoiceHandler) GetInvoice(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
if id == "" {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "ID накладной обязателен"})
|
||||
return
|
||||
}
|
||||
|
||||
uuidID, err := uuid.Parse(id)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Неверный формат ID"})
|
||||
return
|
||||
}
|
||||
|
||||
dto, err := h.service.GetInvoice(uuidID)
|
||||
if err != nil {
|
||||
logger.Log.Error("Ошибка получения накладной", zap.Error(err), zap.String("id", id))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Ошибка получения накладной"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, dto)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user