From a904aa32e66688ba76c9e4b71b6738b0ba5f5d4f Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期四, 25 七月 2024 11:44:09 +0800 Subject: [PATCH] 添加字段,工种添加工种编码,用于计算工资(id无法固定工种信息) --- controllers/report_forms_controller.go | 82 ++++++++++++++++++++++++++++++++++------ 1 files changed, 69 insertions(+), 13 deletions(-) diff --git a/controllers/report_forms_controller.go b/controllers/report_forms_controller.go index b00be87..5332c88 100644 --- a/controllers/report_forms_controller.go +++ b/controllers/report_forms_controller.go @@ -2,6 +2,11 @@ import ( "github.com/gin-gonic/gin" + "silkserver/controllers/request" + "silkserver/controllers/response" + "silkserver/extend/code" + "silkserver/extend/util" + "silkserver/models" ) type ReportFormsController struct { @@ -10,23 +15,74 @@ // 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, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") - // 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, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + 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, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + 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, "鏇存柊鎴愬姛") } -- Gitblit v1.8.0