Feat[BE-261] : inisiate expense module

This commit is contained in:
aguhh18
2025-11-17 14:46:21 +07:00
parent d528096d56
commit 09d503f5be
15 changed files with 451 additions and 64 deletions
@@ -34,22 +34,20 @@ type SalesOrdersService interface {
type salesOrdersService struct {
Log *logrus.Logger
Validate *validator.Validate
Repository repository.SalesOrdersRepository
MarketingRepo repository.MarketingRepository
CustomerRepo customerRepo.CustomerRepository
ProductWarehouseRepo productWarehouseRepo.ProductWarehouseRepository
MarketingRepo repository.MarketingRepository
UserRepo userRepo.UserRepository
ApprovalSvc commonSvc.ApprovalService
}
func NewSalesOrdersService(repo repository.SalesOrdersRepository, customerRepo customerRepo.CustomerRepository, productWarehouseRepo productWarehouseRepo.ProductWarehouseRepository, marketingRepo repository.MarketingRepository, userRepo userRepo.UserRepository, approvalSvc commonSvc.ApprovalService, validate *validator.Validate) SalesOrdersService {
func NewSalesOrdersService(marketingRepo repository.MarketingRepository, customerRepo customerRepo.CustomerRepository, productWarehouseRepo productWarehouseRepo.ProductWarehouseRepository, userRepo userRepo.UserRepository, approvalSvc commonSvc.ApprovalService, validate *validator.Validate) SalesOrdersService {
return &salesOrdersService{
Log: utils.Log,
Validate: validate,
Repository: repo,
MarketingRepo: marketingRepo,
CustomerRepo: customerRepo,
ProductWarehouseRepo: productWarehouseRepo,
MarketingRepo: marketingRepo,
UserRepo: userRepo,
ApprovalSvc: approvalSvc,
}
@@ -118,7 +116,7 @@ func (s *salesOrdersService) CreateOne(c *fiber.Ctx, req *validation.Create) (*e
soNumber := fmt.Sprintf("SO-%05d", nextSeq)
var marketing *entity.Marketing
err = s.Repository.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error {
err = s.MarketingRepo.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error {
marketingRepoTx := repository.NewMarketingRepository(dbTransaction)
marketingProductRepoTx := repository.NewMarketingProductRepository(dbTransaction)
@@ -208,7 +206,7 @@ func (s salesOrdersService) UpdateOne(c *fiber.Ctx, req *validation.Update, id u
}
}
err = s.Repository.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error {
err = s.MarketingRepo.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error {
marketingRepoTx := repository.NewMarketingRepository(dbTransaction)
marketingProductRepoTx := repository.NewMarketingProductRepository(dbTransaction)
@@ -366,7 +364,7 @@ func (s salesOrdersService) DeleteOne(c *fiber.Ctx, id uint) error {
return fiber.NewError(fiber.StatusInternalServerError, "Failed to fetch sales order")
}
err = s.Repository.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error {
err = s.MarketingRepo.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error {
marketingProductRepoTx := repository.NewMarketingProductRepository(dbTransaction)
marketingDeliveryProductRepoTx := repository.NewMarketingDeliveryProductRepository(dbTransaction)