feat (medicine): wip
This commit is contained in:
@@ -34,6 +34,9 @@ func Create(input e.CreateDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := createItemWithDefaultPrice(&input, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
if resData, err := CreateData(input, &event, tx); err != nil {
|
||||
return err
|
||||
} else {
|
||||
|
||||
@@ -5,7 +5,17 @@ Any functions that are used internally by the use-case
|
||||
package medicine
|
||||
|
||||
import (
|
||||
ei "simrs-vx/internal/domain/main-entities/item"
|
||||
eip "simrs-vx/internal/domain/main-entities/item-price"
|
||||
e "simrs-vx/internal/domain/main-entities/medicine"
|
||||
|
||||
ui "simrs-vx/internal/use-case/main-use-case/item"
|
||||
uip "simrs-vx/internal/use-case/main-use-case/item-price"
|
||||
|
||||
pl "simrs-vx/pkg/logger"
|
||||
pu "simrs-vx/pkg/use-case-helper"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Medicine) {
|
||||
@@ -26,3 +36,44 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Medicine) {
|
||||
data.Infra_Id = inputSrc.Infra_Id
|
||||
data.Stock = inputSrc.Stock
|
||||
}
|
||||
|
||||
func createItem(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
|
||||
igcMed := "Medicine"
|
||||
itemCreate := ei.CreateDto{
|
||||
Code: pu.AddPrefix("med-", input.Code),
|
||||
Name: input.Name,
|
||||
ItemGroup_Code: &igcMed,
|
||||
Uom_Code: input.Uom_Code,
|
||||
Infra_Id: input.Infra_Id,
|
||||
Stock: input.Stock,
|
||||
}
|
||||
item, err := ui.CreateData(itemCreate, event, tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
input.Item_Id = &item.Id
|
||||
return nil
|
||||
}
|
||||
|
||||
func createItemPrice(input *e.CreateDto, event *pl.Event, tx *gorm.DB, item_id *uint) error {
|
||||
itemPriceCreate := eip.CreateDto{
|
||||
Item_Id: item_id,
|
||||
Price: 0,
|
||||
InsuranceCompany_Code: input.InsuranceCompany_Code,
|
||||
}
|
||||
_, err := uip.CreateData(itemPriceCreate, event, tx)
|
||||
return err
|
||||
}
|
||||
|
||||
func createItemWithDefaultPrice(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
|
||||
if err := createItem(input, event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := createItemPrice(input, event, tx, input.Item_Id); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -7,17 +7,3 @@ package medicine
|
||||
// CreateMw{Name: "check-data", Func: pm.CheckData},
|
||||
// )
|
||||
// }
|
||||
|
||||
// func createItemAndItemPrice(input *e.CreateDto, data *e.Medicine, tx *gorm.DB) error {
|
||||
// if input != nil {
|
||||
// itemCreate := ei.CreateDto{
|
||||
// Code: input.Code,
|
||||
// Name: input.Name,
|
||||
// ItemGroup_Code: "Medicine",
|
||||
// Uom_Code: input.Uom_Code,
|
||||
// Infra_Id: input.Infra_Id,
|
||||
// Stock: input.Stock,
|
||||
// }
|
||||
// }
|
||||
// return nil
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user