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). SetMonth(params.Month).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 data = append(data, srf) } util.ResponseFormatList(c, code.Success, data, total) } // UpdateSalaryReportForms // // @Tags 报表管理 // @Summary 修改薪资报表 // @Produce application/json // @Param object body request.UpdateSalaryReportForms true "参数" // @Param Authorization header string true "token" // @Success 200 {object} util.Response "成功" // @Router /api-jl/v1/forms/updateSalaryReportForms [post] func (slf ReportFormsController) UpdateSalaryReportForms(c *gin.Context) { var params request.UpdateSalaryReportForms err := c.BindJSON(¶ms) if err != nil { util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") return } first, err := models.NewSalaryReportFormSearch().SetMonth(params.Month).SetWorkerId(params.WorkerId).First() if err != nil { util.ResponseFormat(c, code.RequestParamError, err) return } err = models.NewSalaryDetailsSearch().SetSalaryTypeId(params.SalaryTypeId).SetSalaryReportFormId(first.ID). UpdateByMap(map[string]interface{}{"amount": params.Amount}) if err != nil { util.ResponseFormat(c, code.RequestParamError, "更新失败") return } util.ResponseFormat(c, code.RequestParamError, "更新成功") }