mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-23 14:55:42 +00:00
feat: input po_date manual
This commit is contained in:
@@ -713,6 +713,12 @@ func (s *purchaseService) ApproveManagerPurchase(c *fiber.Ctx, id uint, req *val
|
|||||||
}
|
}
|
||||||
|
|
||||||
now := time.Now().UTC()
|
now := time.Now().UTC()
|
||||||
|
poDateToSet := now
|
||||||
|
if req.PoDate != nil && strings.TrimSpace(*req.PoDate) != "" {
|
||||||
|
if parsed, parseErr := utils.ParseDateString(strings.TrimSpace(*req.PoDate)); parseErr == nil {
|
||||||
|
poDateToSet = parsed.UTC()
|
||||||
|
}
|
||||||
|
}
|
||||||
hasExistingPO := purchase.PoNumber != nil && strings.TrimSpace(*purchase.PoNumber) != ""
|
hasExistingPO := purchase.PoNumber != nil && strings.TrimSpace(*purchase.PoNumber) != ""
|
||||||
var generatedNumber string
|
var generatedNumber string
|
||||||
|
|
||||||
@@ -725,7 +731,7 @@ func (s *purchaseService) ApproveManagerPurchase(c *fiber.Ctx, id uint, req *val
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
updateData["po_number"] = code
|
updateData["po_number"] = code
|
||||||
updateData["po_date"] = now
|
updateData["po_date"] = poDateToSet
|
||||||
generatedNumber = code
|
generatedNumber = code
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -770,7 +776,7 @@ func (s *purchaseService) ApproveManagerPurchase(c *fiber.Ctx, id uint, req *val
|
|||||||
|
|
||||||
if generatedNumber != "" {
|
if generatedNumber != "" {
|
||||||
purchase.PoNumber = &generatedNumber
|
purchase.PoNumber = &generatedNumber
|
||||||
purchase.PoDate = &now
|
purchase.PoDate = &poDateToSet
|
||||||
}
|
}
|
||||||
|
|
||||||
updated, err := s.PurchaseRepo.GetByID(c.Context(), purchase.Id, s.withRelations)
|
updated, err := s.PurchaseRepo.GetByID(c.Context(), purchase.Id, s.withRelations)
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ type ApproveStaffPurchaseRequest struct {
|
|||||||
type ApproveManagerPurchaseRequest struct {
|
type ApproveManagerPurchaseRequest struct {
|
||||||
Action string `json:"action" validate:"required,oneof=APPROVED REJECTED"`
|
Action string `json:"action" validate:"required,oneof=APPROVED REJECTED"`
|
||||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||||
|
PoDate *string `json:"po_date,omitempty" validate:"omitempty,datetime=2006-01-02"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReceivePurchaseItemRequest struct {
|
type ReceivePurchaseItemRequest struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user