package controllers import ( "github.com/gin-gonic/gin" "silkserver/controllers/request" "silkserver/controllers/response" "silkserver/extend/code" "silkserver/extend/util" "silkserver/models" ) type ReportFormsController struct { } // SalaryReportForms // // @Tags 报表管理 // @Summary 薪资报表 // @Produce application/json // @Param object body request.SalaryReportForms true "参数" // @Param Authorization header string true "token" // @Success 200 {object} util.ResponseList{data=[]response.SalaryReportForms} "成功" // @Router /api-jl/v1/forms/salaryReportForms [post] func (slf ReportFormsController) SalaryReportForms(c *gin.Context) { var params request.SalaryReportForms err := c.BindJSON(¶ms) if err != nil { util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") return } reportForms, total, err := models.NewSalaryReportFormSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetPreload(true).Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, err) return } data := make([]response.SalaryReportForms, 0) for _, form := range reportForms { var srf response.SalaryReportForms srf.WorkerId = form.WorkerId srf.WorkerName = form.WorkerName srf.Phone = form.Phone srf.IssueSalary = form.IssueSalary srf.Remark = form.Remark srf.WorkType = form.WorkType.WorkName salaryDetails := make([]response.SalaryDetail, 0) for _, detail := range form.Details { var sd response.SalaryDetail sd.SalaryTypeId = detail.SalaryTypeId sd.SalaryType = detail.SalaryType.Name sd.Amount = detail.Amount salaryDetails = append(salaryDetails, sd) } srf.Details = salaryDetails } util.ResponseFormatList(c, code.Success, data, total) }