mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
Merge branch 'development-before-sso' of https://gitlab.com/mbugroup/lti-api into dev/teguh
This commit is contained in:
@@ -192,6 +192,23 @@ var TransferToLayingApprovalSteps = map[approvalutils.ApprovalStep]string{
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Recording Approval
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
const (
|
||||
ApprovalWorkflowRecording approvalutils.ApprovalWorkflowKey = approvalutils.ApprovalWorkflowKey("RECORDINGS")
|
||||
RecordingStepGradingTelur approvalutils.ApprovalStep = 1
|
||||
RecordingStepPengajuan approvalutils.ApprovalStep = 2
|
||||
RecordingStepDisetujui approvalutils.ApprovalStep = 3
|
||||
)
|
||||
|
||||
var RecordingApprovalSteps = map[approvalutils.ApprovalStep]string{
|
||||
RecordingStepGradingTelur: "Grading-Telur",
|
||||
RecordingStepPengajuan: "Pengajuan",
|
||||
RecordingStepDisetujui: "Disetujui",
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Validators
|
||||
// -------------------------------------------------------------------
|
||||
@@ -320,6 +337,8 @@ func IsValidSupplierCategory(v string) bool {
|
||||
|
||||
// example use
|
||||
|
||||
// Recording helper
|
||||
|
||||
/**
|
||||
if !utils.IsValidFlagType(req.FlagName) {
|
||||
return fiber.NewError(fiber.StatusBadRequest, "Invalid flag type")
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
package recording
|
||||
|
||||
import (
|
||||
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
|
||||
validation "gitlab.com/mbugroup/lti-api.git/internal/modules/production/recordings/validations"
|
||||
)
|
||||
|
||||
func MapBodyWeights(recordingID uint, items []validation.BodyWeight) []entity.RecordingBW {
|
||||
if len(items) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
result := make([]entity.RecordingBW, 0, len(items))
|
||||
for _, item := range items {
|
||||
totalWeight := item.TotalWeight
|
||||
if totalWeight == nil {
|
||||
calculated := item.AvgWeight * item.Qty
|
||||
totalWeight = &calculated
|
||||
}
|
||||
|
||||
result = append(result, entity.RecordingBW{
|
||||
RecordingId: recordingID,
|
||||
AvgWeight: item.AvgWeight,
|
||||
Qty: item.Qty,
|
||||
TotalWeight: *totalWeight,
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func MapStocks(recordingID uint, items []validation.Stock) []entity.RecordingStock {
|
||||
if len(items) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
result := make([]entity.RecordingStock, 0, len(items))
|
||||
for _, item := range items {
|
||||
var usageAmount float64
|
||||
if item.Qty != nil {
|
||||
usageAmount = *item.Qty
|
||||
}
|
||||
usagePtr := new(float64)
|
||||
*usagePtr = usageAmount
|
||||
pending := item.PendingQty
|
||||
if pending == nil {
|
||||
pending = new(float64)
|
||||
}
|
||||
result = append(result, entity.RecordingStock{
|
||||
RecordingId: recordingID,
|
||||
ProductWarehouseId: item.ProductWarehouseId,
|
||||
UsageQty: usagePtr,
|
||||
PendingQty: pending,
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func MapDepletions(recordingID uint, items []validation.Depletion) []entity.RecordingDepletion {
|
||||
if len(items) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
result := make([]entity.RecordingDepletion, 0, len(items))
|
||||
for _, item := range items {
|
||||
result = append(result, entity.RecordingDepletion{
|
||||
RecordingId: recordingID,
|
||||
ProductWarehouseId: item.ProductWarehouseId,
|
||||
Qty: item.Qty,
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func MapEggs(recordingID uint, createdBy uint, items []validation.Egg) []entity.RecordingEgg {
|
||||
if len(items) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
result := make([]entity.RecordingEgg, 0, len(items))
|
||||
for _, item := range items {
|
||||
result = append(result, entity.RecordingEgg{
|
||||
RecordingId: recordingID,
|
||||
ProductWarehouseId: item.ProductWarehouseId,
|
||||
Qty: item.Qty,
|
||||
CreatedBy: createdBy,
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func ToGrams(weight float64) float64 {
|
||||
if weight <= 0 {
|
||||
return 0
|
||||
}
|
||||
if weight < 10 {
|
||||
return weight * 1000
|
||||
}
|
||||
return weight
|
||||
}
|
||||
|
||||
func GramsToKg(grams float64) float64 {
|
||||
if grams <= 0 {
|
||||
return 0
|
||||
}
|
||||
return grams / 1000
|
||||
}
|
||||
Reference in New Issue
Block a user