feat(BE-281):add dto standart mean bw and uniformity

This commit is contained in:
ragilap
2025-12-30 12:07:28 +07:00
parent 9a094b8bfe
commit 90125ffe1a
4 changed files with 253 additions and 20 deletions
@@ -32,6 +32,10 @@ func (u *UniformityController) GetAll(c *fiber.Ctx) error {
if err != nil {
return err
}
standards, err := u.UniformityService.MapStandards(c, result)
if err != nil {
return err
}
return c.Status(fiber.StatusOK).
JSON(response.SuccessWithPaginate[dto.UniformityListDTO]{
@@ -49,7 +53,7 @@ func (u *UniformityController) GetAll(c *fiber.Ctx) error {
"status": "Pengajuan",
},
},
Data: dto.ToUniformityListDTOs(result),
Data: dto.ToUniformityListDTOsWithStandard(result, standards),
})
}
@@ -90,12 +94,24 @@ func (u *UniformityController) GetOne(c *fiber.Ctx) error {
}
}
standard, err := u.UniformityService.GetStandard(c, result)
if err != nil {
return err
}
var standardDTO *dto.UniformityStandardDTO
if standard != nil {
standardDTO = &dto.UniformityStandardDTO{
MeanWeight: standard.MeanWeight,
Uniformity: standard.Uniformity,
}
}
return c.Status(fiber.StatusOK).
JSON(response.Success{
Code: fiber.StatusOK,
Status: "success",
Message: "Get production uniformity successfully",
Data: dto.ToUniformityDetailDTO(*result, calculation, document),
Data: dto.ToUniformityDetailDTO(*result, calculation, document, standardDTO),
})
}
@@ -121,13 +137,24 @@ func (u *UniformityController) CreateOne(c *fiber.Ctx) error {
}
document := dto.NewDocumentForResponse(file.Filename)
standard, err := u.UniformityService.GetStandard(c, result)
if err != nil {
return err
}
var standardDTO *dto.UniformityStandardDTO
if standard != nil {
standardDTO = &dto.UniformityStandardDTO{
MeanWeight: standard.MeanWeight,
Uniformity: standard.Uniformity,
}
}
return c.Status(fiber.StatusCreated).
JSON(response.Success{
Code: fiber.StatusCreated,
Status: "success",
Message: "Create uniformity successfully",
Data: dto.ToUniformityDetailDTO(*result, calculation, document),
Data: dto.ToUniformityDetailDTO(*result, calculation, document, standardDTO),
})
}
@@ -181,17 +208,36 @@ func (u *UniformityController) UpdateOne(c *fiber.Ctx) error {
return err
}
calculation, document, err := u.UniformityService.CalculateUniformityFromDocument(c, id)
standard, err := u.UniformityService.GetStandard(c, result)
if err != nil {
return err
}
var standardDTO *dto.UniformityStandardDTO
if standard != nil {
standardDTO = &dto.UniformityStandardDTO{
MeanWeight: standard.MeanWeight,
Uniformity: standard.Uniformity,
}
}
calculation := service.UniformityCalculation{
ChickQtyOfWeight: result.ChickQtyOfWeight,
MeanWeight: math.Round(result.MeanUp / 1.10),
MeanDown: result.MeanDown,
MeanUp: result.MeanUp,
UniformQty: result.UniformQty,
OutsideQty: result.NotUniformQty,
Uniformity: result.Uniformity,
Cv: result.Cv,
}
var document *entity.Document
return c.Status(fiber.StatusOK).
JSON(response.Success{
Code: fiber.StatusOK,
Status: "success",
Message: "Update uniformity successfully",
Data: dto.ToUniformityDetailDTO(*result, calculation, document),
Data: dto.ToUniformityDetailDTO(*result, calculation, document, standardDTO),
})
}