| | |
| | | |
| | | 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 薪资报表 |
| | | // @Summary 获取薪资报表 |
| | | // @Produce application/json |
| | | // @Param object body request.SalaryReportForms true "参数" |
| | | // @Param Authorization header string true "token" |
| | | // @Success 200 {object} util.ResponseList{data=[]models.WorkTypeManage} "成功" |
| | | // @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 |
| | | //} |
| | | //workers, err := models.NewWorkerSearch().SetPage(params.Page, params.PageSize).FindNotTotal() |
| | | //if err != nil { |
| | | // util.ResponseFormat(c, code.RequestParamError, err) |
| | | // return |
| | | //} |
| | | 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, "更新成功") |
| | | } |