| | |
| | | "aps_crm/pkg/ecode" |
| | | "aps_crm/utils" |
| | | "github.com/gin-gonic/gin" |
| | | "github.com/shopspring/decimal" |
| | | ) |
| | | |
| | | type QuotationApi struct{} |
| | |
| | | return |
| | | } |
| | | |
| | | for _, quotation := range quotations { |
| | | amount := decimal.NewFromInt(0) |
| | | for _, product := range quotation.Products { |
| | | amount = amount.Add(product.Total) |
| | | } |
| | | quotation.AmountTotal = amount |
| | | } |
| | | |
| | | ctx.OkWithDetailed(response.QuotationResponse{ |
| | | List: quotations, |
| | | Count: int(total), |
| | | }) |
| | | } |
| | | |
| | | // Statistics |
| | | // |
| | | // @Tags Quotation |
| | | // @Summary 报价单统计 |
| | | // @Produce application/json |
| | | // @Success 200 {object} contextx.Response{data=map[string]int64} |
| | | // @Router /api/quotation/statistics [get] |
| | | func (con *QuotationApi) Statistics(c *gin.Context) { |
| | | ctx, ok := contextx.NewContext(c, nil) |
| | | if !ok { |
| | | return |
| | | } |
| | | m := make(map[string]int64) |
| | | total, _ := model.NewQuotationSearch(nil).Count() |
| | | m["total"] = total |
| | | //已创建 |
| | | created, _ := model.NewQuotationSearch(nil).SetQuotationStatusId(1).Count() |
| | | m["created"] = created |
| | | //已审批 |
| | | approved, _ := model.NewQuotationSearch(nil).SetQuotationStatusId(3).Count() |
| | | m["approved"] = approved |
| | | //已接受 |
| | | accepted, _ := model.NewQuotationSearch(nil).SetQuotationStatusId(5).Count() |
| | | m["accepted"] = accepted |
| | | ctx.OkWithDetailed(m) |
| | | } |