mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
fix: next period,purchase before bop, integration auth module,fix validation-master data
This commit is contained in:
@@ -14,26 +14,28 @@ type CreatePurchaseRequest struct {
|
||||
}
|
||||
|
||||
type StaffPurchaseApprovalItem struct {
|
||||
PurchaseItemID uint64 `json:"purchase_item_id,omitempty" validate:"omitempty,gt=0"`
|
||||
PurchaseItemID uint `json:"purchase_item_id,omitempty" validate:"omitempty,gt=0"`
|
||||
// For new items (no purchase_item_id), product_id is required.
|
||||
ProductID uint64 `json:"product_id,omitempty" validate:"required_without=PurchaseItemID,omitempty,gt=0"`
|
||||
WarehouseID uint64 `json:"warehouse_id,omitempty" validate:"required_without=PurchaseItemID,omitempty,gt=0"`
|
||||
ProductID uint `json:"product_id,omitempty" validate:"required_without=PurchaseItemID,omitempty,gt=0"`
|
||||
WarehouseID uint `json:"warehouse_id,omitempty" validate:"required_without=PurchaseItemID,omitempty,gt=0"`
|
||||
Qty *float64 `json:"qty,omitempty" validate:"required_without=PurchaseItemID,omitempty,gt=0"`
|
||||
Price float64 `json:"price" validate:"required,gt=0"`
|
||||
TotalPrice float64 `json:"total_price" validate:"required,gt=0"`
|
||||
}
|
||||
|
||||
type ApproveStaffPurchaseRequest struct {
|
||||
Items []StaffPurchaseApprovalItem `json:"items" validate:"required,min=1,dive"`
|
||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||
Action string `json:"action" validate:"required,oneof=APPROVED REJECTED"`
|
||||
Items []StaffPurchaseApprovalItem `json:"items,omitempty" validate:"omitempty,min=1,dive"`
|
||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||
}
|
||||
|
||||
type ApproveManagerPurchaseRequest struct {
|
||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||
Action string `json:"action" validate:"required,oneof=APPROVED REJECTED"`
|
||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||
}
|
||||
|
||||
type ReceivePurchaseItemRequest struct {
|
||||
PurchaseItemID uint64 `json:"purchase_item_id" validate:"required,gt=0"`
|
||||
PurchaseItemID uint `json:"purchase_item_id" validate:"required,gt=0"`
|
||||
WarehouseID *uint `json:"warehouse_id" validate:"omitempty,gt=0"`
|
||||
ReceivedDate string `json:"received_date" validate:"required,datetime=2006-01-02"`
|
||||
TravelNumber *string `json:"travel_number" validate:"omitempty,max=100"`
|
||||
@@ -43,21 +45,23 @@ type ReceivePurchaseItemRequest struct {
|
||||
}
|
||||
|
||||
type ReceivePurchaseRequest struct {
|
||||
Items []ReceivePurchaseItemRequest `json:"items" validate:"required,min=1,dive"`
|
||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||
Action string `json:"action" validate:"required,oneof=APPROVED REJECTED"`
|
||||
Items []ReceivePurchaseItemRequest `json:"items,omitempty" validate:"omitempty,min=1,dive"`
|
||||
Notes *string `json:"notes,omitempty" validate:"omitempty,max=500"`
|
||||
}
|
||||
|
||||
type DeletePurchaseItemsRequest struct {
|
||||
ItemIDs []uint64 `json:"item_ids" validate:"required,min=1,dive,gt=0"`
|
||||
ItemIDs []uint `json:"item_ids" validate:"required,min=1,dive,gt=0"`
|
||||
}
|
||||
|
||||
type PurchaseQuery struct {
|
||||
Page int `query:"page" validate:"omitempty,number,min=1"`
|
||||
Limit int `query:"limit" validate:"omitempty,number,min=1,max=100"`
|
||||
SupplierID uint `query:"supplier_id" validate:"omitempty,gt=0"`
|
||||
Search string `query:"search" validate:"omitempty,max=100"`
|
||||
PrNumber string `query:"pr_number" validate:"omitempty,max=50"`
|
||||
CreatedFrom string `query:"created_from" validate:"omitempty,datetime=2006-01-02"`
|
||||
CreatedTo string `query:"created_to" validate:"omitempty,datetime=2006-01-02"`
|
||||
Status string `query:"status" validate:"omitempty,oneof=CREATED UPDATED APPROVED REJECTED COMPLETED"`
|
||||
type Query struct {
|
||||
Page int `query:"page" validate:"omitempty,number,min=1"`
|
||||
Limit int `query:"limit" validate:"omitempty,number,min=1,max=100"`
|
||||
SupplierID uint `query:"supplier_id" validate:"omitempty,gt=0"`
|
||||
AreaID uint `query:"area_id" validate:"omitempty,gt=0"`
|
||||
LocationID uint `query:"location_id" validate:"omitempty,gt=0"`
|
||||
ProductCategoryID uint `query:"product_category_id" validate:"omitempty,gt=0"`
|
||||
Search string `query:"search" validate:"omitempty,max=100"`
|
||||
CreatedFrom string `query:"created_from" validate:"omitempty,datetime=2006-01-02"`
|
||||
CreatedTo string `query:"created_to" validate:"omitempty,datetime=2006-01-02"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user