feat[BE-127]: create available qty API and inisiate sales order and delivery order

This commit is contained in:
aguhh18
2025-11-07 13:24:48 +07:00
parent ba12320d12
commit 6e69e97d26
24 changed files with 695 additions and 68 deletions
@@ -77,6 +77,20 @@ type TransferLayingDetailDTO struct {
Approval *approvalDTO.ApprovalBaseDTO `json:"approval,omitempty"`
}
// === Available Quantity DTOs ===
type KandangAvailableQtyDTO struct {
ProjectFlockKandangId uint `json:"project_flock_kandang_id"`
AvailableQty float64 `json:"available_qty"`
}
type AvailableQtyForTransferDTO struct {
ProjectFlockId uint `json:"project_flock_id"`
ProjectFlockCode string `json:"project_flock_code"`
Category string `json:"category"`
Kandangs []KandangAvailableQtyDTO `json:"kandangs"`
}
// === Mapper Functions ===
func ToProjectFlockSummaryDTO(pf *entity.ProjectFlock) *ProjectFlockSummaryDTO {
@@ -207,7 +221,6 @@ func ToTransferLayingListDTO(e entity.LayingTransfer) TransferLayingListDTO {
func ToTransferLayingDetailDTO(e entity.LayingTransfer, approvals []entity.Approval) TransferLayingDetailDTO {
var latestApproval *approvalDTO.ApprovalBaseDTO
// Use LatestApproval from entity if available
if e.LatestApproval != nil {
mapped := approvalDTO.ToApprovalDTO(*e.LatestApproval)
latestApproval = &mapped