mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-22 22:35:43 +00:00
feat(BE-281): fixing recording error, fixing limit upload uniformity and purchase, add filter and statistic uniformity
This commit is contained in:
@@ -5,7 +5,11 @@ import (
|
||||
|
||||
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
|
||||
approvalDTO "gitlab.com/mbugroup/lti-api.git/internal/modules/approvals/dto"
|
||||
service "gitlab.com/mbugroup/lti-api.git/internal/modules/production/uniformities/services"
|
||||
utypes "gitlab.com/mbugroup/lti-api.git/internal/modules/production/uniformities/types"
|
||||
validation "gitlab.com/mbugroup/lti-api.git/internal/modules/production/uniformities/validations"
|
||||
"gitlab.com/mbugroup/lti-api.git/internal/utils"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type UniformitySamplingDTO struct {
|
||||
@@ -49,13 +53,13 @@ type UniformityInfoDTO struct {
|
||||
}
|
||||
|
||||
type UniformityDetailDTO struct {
|
||||
Id uint `json:"id"`
|
||||
InfoUmum UniformityInfoDTO `json:"info_umum"`
|
||||
Sampling UniformitySamplingDTO `json:"sampling"`
|
||||
Result UniformityResultDTO `json:"result"`
|
||||
Standard *UniformityStandardDTO `json:"standard"`
|
||||
Id uint `json:"id"`
|
||||
InfoUmum UniformityInfoDTO `json:"info_umum"`
|
||||
Sampling UniformitySamplingDTO `json:"sampling"`
|
||||
Result UniformityResultDTO `json:"result"`
|
||||
Standard *UniformityStandardDTO `json:"standard"`
|
||||
LatestApproval *approvalDTO.ApprovalRelationDTO `json:"latest_approval"`
|
||||
UniformityDetails []UniformityDetailItemDTO `json:"uniformity_details"`
|
||||
UniformityDetails []UniformityDetailItemDTO `json:"uniformity_details"`
|
||||
}
|
||||
|
||||
type UniformityListDTO struct {
|
||||
@@ -76,6 +80,7 @@ type UniformityListDTO struct {
|
||||
MeanDown float64 `json:"mean_down"`
|
||||
StandardMeanWeight *float64 `json:"standard_mean_weight"`
|
||||
StandardUniformity *float64 `json:"standard_uniformity"`
|
||||
ChartData *utypes.UniformityChartData `json:"chart_data,omitempty"`
|
||||
CreatedBy uint `json:"created_by"`
|
||||
LatestApproval *approvalDTO.ApprovalRelationDTO `json:"latest_approval"`
|
||||
}
|
||||
@@ -87,7 +92,7 @@ func NewDocumentForResponse(name string) *entity.Document {
|
||||
return &entity.Document{Name: name}
|
||||
}
|
||||
|
||||
func ToUniformityVerificationDTO(calc service.UniformityCalculation) UniformityVerificationDTO {
|
||||
func ToUniformityVerificationDTO(calc utypes.UniformityCalculation) UniformityVerificationDTO {
|
||||
return UniformityVerificationDTO{
|
||||
Sampling: toUniformitySamplingDTO(calc),
|
||||
Result: toUniformityResultDTO(calc),
|
||||
@@ -97,7 +102,7 @@ func ToUniformityVerificationDTO(calc service.UniformityCalculation) UniformityV
|
||||
|
||||
func ToUniformityDetailDTO(
|
||||
entityData entity.ProjectFlockKandangUniformity,
|
||||
calc service.UniformityCalculation,
|
||||
calc utypes.UniformityCalculation,
|
||||
document *entity.Document,
|
||||
documentURL string,
|
||||
standard *UniformityStandardDTO,
|
||||
@@ -171,8 +176,9 @@ func ToUniformityListDTOs(items []entity.ProjectFlockKandangUniformity) []Unifor
|
||||
|
||||
func ToUniformityListDTOsWithStandard(
|
||||
items []entity.ProjectFlockKandangUniformity,
|
||||
standards map[uint]service.UniformityStandard,
|
||||
standards map[uint]utypes.UniformityStandard,
|
||||
documentNames map[uint]string,
|
||||
charts map[uint]utypes.UniformityChartData,
|
||||
) []UniformityListDTO {
|
||||
result := ToUniformityListDTOs(items)
|
||||
if len(result) == 0 || len(standards) == 0 {
|
||||
@@ -180,6 +186,10 @@ func ToUniformityListDTOsWithStandard(
|
||||
if name, ok := documentNames[result[i].Id]; ok {
|
||||
result[i].FileName = name
|
||||
}
|
||||
if chart, ok := charts[result[i].Id]; ok {
|
||||
chartCopy := chart
|
||||
result[i].ChartData = &chartCopy
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
@@ -192,11 +202,15 @@ func ToUniformityListDTOsWithStandard(
|
||||
if name, ok := documentNames[result[i].Id]; ok {
|
||||
result[i].FileName = name
|
||||
}
|
||||
if chart, ok := charts[result[i].Id]; ok {
|
||||
chartCopy := chart
|
||||
result[i].ChartData = &chartCopy
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func toUniformitySamplingDTO(calc service.UniformityCalculation) UniformitySamplingDTO {
|
||||
func toUniformitySamplingDTO(calc utypes.UniformityCalculation) UniformitySamplingDTO {
|
||||
return UniformitySamplingDTO{
|
||||
ChickQtyOfWeight: calc.ChickQtyOfWeight,
|
||||
MeanWeight: calc.MeanWeight,
|
||||
@@ -205,7 +219,7 @@ func toUniformitySamplingDTO(calc service.UniformityCalculation) UniformitySampl
|
||||
}
|
||||
}
|
||||
|
||||
func toUniformityResultDTO(calc service.UniformityCalculation) UniformityResultDTO {
|
||||
func toUniformityResultDTO(calc utypes.UniformityCalculation) UniformityResultDTO {
|
||||
return UniformityResultDTO{
|
||||
UniformQty: calc.UniformQty,
|
||||
OutsideQty: calc.OutsideQty,
|
||||
@@ -214,7 +228,7 @@ func toUniformityResultDTO(calc service.UniformityCalculation) UniformityResultD
|
||||
}
|
||||
}
|
||||
|
||||
func toUniformityDetailItemsDTO(calc service.UniformityCalculation) []UniformityDetailItemDTO {
|
||||
func toUniformityDetailItemsDTO(calc utypes.UniformityCalculation) []UniformityDetailItemDTO {
|
||||
result := make([]UniformityDetailItemDTO, len(calc.Details))
|
||||
for i, item := range calc.Details {
|
||||
result[i] = UniformityDetailItemDTO{
|
||||
@@ -254,5 +268,18 @@ func formatUniformityDate(date *time.Time) string {
|
||||
if date == nil || date.IsZero() {
|
||||
return ""
|
||||
}
|
||||
return date.Format("2006-01-02")
|
||||
return utils.FormatDate(*date)
|
||||
}
|
||||
|
||||
func BuildUniformityFilters(query *validation.Query) fiber.Map {
|
||||
if query == nil {
|
||||
return fiber.Map{}
|
||||
}
|
||||
return fiber.Map{
|
||||
"project_flock_kandang_id": query.ProjectFlockKandangId,
|
||||
"start_date": query.StartDate,
|
||||
"end_date": query.EndDate,
|
||||
"with_chart": query.WithChart,
|
||||
"status": "Pengajuan",
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user