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, "更新成功")
|
}
|