fix(BE): adjust dto and project flock, master data, and marketing

This commit is contained in:
Hafizh A. Y
2025-11-21 09:53:33 +07:00
parent cd752f19f4
commit 53b226f243
6 changed files with 101 additions and 84 deletions
@@ -21,27 +21,27 @@ type MarketingRelationDTO struct {
type MarketingListDTO struct {
MarketingRelationDTO
Customer *customerDTO.CustomerRelationDTO `json:"customer,omitempty"`
SalesPerson *userDTO.UserRelationDTO `json:"sales_person,omitempty"`
SoDocs string `json:"so_docs,omitempty"`
SalesOrder []MarketingProductDTO `json:"sales_order,omitempty"`
CreatedUser *userDTO.UserRelationDTO `json:"created_user"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
LatestApproval *approvalDTO.ApprovalRelationDTO `json:"latest_approval,omitempty"`
Customer customerDTO.CustomerRelationDTO `json:"customer"`
SalesPerson userDTO.UserRelationDTO `json:"sales_person"`
SoDocs string `json:"so_docs"`
SalesOrder []MarketingProductDTO `json:"sales_order"`
CreatedUser userDTO.UserRelationDTO `json:"created_user"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
LatestApproval approvalDTO.ApprovalRelationDTO `json:"latest_approval"`
}
type MarketingDetailDTO struct {
MarketingRelationDTO
Customer *customerDTO.CustomerRelationDTO `json:"customer,omitempty"`
SalesPerson *userDTO.UserRelationDTO `json:"sales_person,omitempty"`
SoDocs string `json:"so_docs,omitempty"`
SalesOrder []MarketingProductDTO `json:"sales_order,omitempty"`
DeliveryOrder []DeliveryGroupDTO `json:"delivery_order,omitempty"`
CreatedUser *userDTO.UserRelationDTO `json:"created_user"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
LatestApproval *approvalDTO.ApprovalRelationDTO `json:"latest_approval,omitempty"`
Customer customerDTO.CustomerRelationDTO `json:"customer"`
SalesPerson userDTO.UserRelationDTO `json:"sales_person"`
SoDocs string `json:"so_docs"`
SalesOrder []MarketingProductDTO `json:"sales_order"`
DeliveryOrder []DeliveryGroupDTO `json:"delivery_order"`
CreatedUser userDTO.UserRelationDTO `json:"created_user"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
LatestApproval approvalDTO.ApprovalRelationDTO `json:"latest_approval"`
}
type MarketingDeliveryProductDTO struct {
Id uint `json:"id"`
@@ -131,28 +131,28 @@ func ToMarketingDeliveryProductDTO(e entity.MarketingDeliveryProduct) MarketingD
}
func ToMarketingListDTO(marketing *entity.Marketing, deliveryProducts []entity.MarketingDeliveryProduct) MarketingListDTO {
var createdUser *userDTO.UserRelationDTO
var createdUser userDTO.UserRelationDTO
if marketing.CreatedUser.Id != 0 {
mapped := userDTO.ToUserRelationDTO(marketing.CreatedUser)
createdUser = &mapped
createdUser = mapped
}
var customer *customerDTO.CustomerRelationDTO
var customer customerDTO.CustomerRelationDTO
if marketing.Customer.Id != 0 {
mapped := customerDTO.ToCustomerRelationDTO(marketing.Customer)
customer = &mapped
customer = mapped
}
var salesPerson *userDTO.UserRelationDTO
var salesPerson userDTO.UserRelationDTO
if marketing.SalesPerson.Id != 0 {
mapped := userDTO.ToUserRelationDTO(marketing.SalesPerson)
salesPerson = &mapped
salesPerson = mapped
}
var latestApproval *approvalDTO.ApprovalRelationDTO
var latestApproval approvalDTO.ApprovalRelationDTO
if marketing.LatestApproval != nil {
mapped := approvalDTO.ToApprovalDTO(*marketing.LatestApproval)
latestApproval = &mapped
latestApproval = mapped
}
var salesOrderProducts []MarketingProductDTO
@@ -177,22 +177,22 @@ func ToMarketingListDTO(marketing *entity.Marketing, deliveryProducts []entity.M
}
func ToMarketingDetailDTO(marketing *entity.Marketing, deliveryProducts []entity.MarketingDeliveryProduct) MarketingDetailDTO {
var createdUser *userDTO.UserRelationDTO
var createdUser userDTO.UserRelationDTO
if marketing.CreatedUser.Id != 0 {
mapped := userDTO.ToUserRelationDTO(marketing.CreatedUser)
createdUser = &mapped
createdUser = mapped
}
var customer *customerDTO.CustomerRelationDTO
var customer customerDTO.CustomerRelationDTO
if marketing.Customer.Id != 0 {
mapped := customerDTO.ToCustomerRelationDTO(marketing.Customer)
customer = &mapped
customer = mapped
}
var salesPerson *userDTO.UserRelationDTO
var salesPerson userDTO.UserRelationDTO
if marketing.SalesPerson.Id != 0 {
mapped := userDTO.ToUserRelationDTO(marketing.SalesPerson)
salesPerson = &mapped
salesPerson = mapped
}
var salesOrderProducts []MarketingProductDTO
@@ -214,10 +214,10 @@ func ToMarketingDetailDTO(marketing *entity.Marketing, deliveryProducts []entity
deliveryGroups := groupDeliveryProducts(deliveryProductsDTOs, marketing.SoNumber)
var latestApproval *approvalDTO.ApprovalRelationDTO
var latestApproval approvalDTO.ApprovalRelationDTO
if marketing.LatestApproval != nil {
mapped := approvalDTO.ToApprovalDTO(*marketing.LatestApproval)
latestApproval = &mapped
latestApproval = mapped
}
return MarketingDetailDTO{
@@ -58,7 +58,7 @@ func (s salesOrdersService) withRelations(db *gorm.DB) *gorm.DB {
Preload("CreatedUser").
Preload("Customer").
Preload("SalesPerson").
Preload("Products.ProductWarehouse.Product").
Preload("Products.ProductWarehouse.Product.Flags").
Preload("Products.ProductWarehouse.Warehouse")
}