package controllers
|
|
import (
|
"github.com/gin-gonic/gin"
|
"github.com/spf13/cast"
|
"silkserver/controllers/request"
|
"silkserver/extend/code"
|
"silkserver/extend/util"
|
"silkserver/middleware"
|
"silkserver/models"
|
)
|
|
type WorkerPositionController struct {
|
}
|
|
// CreateWorkerPositionInfo
|
// @Tags 机台管理
|
// @Summary 创建机台信息
|
// @Produce application/json
|
// @Param object body request.AddWorkPositionRequest true "参数"
|
// @Param Authorization header string true "token"
|
// @Success 200 {object} util.Response "成功"
|
// @Router /api-jl/v1/workerPosition/createWorkerPositionInfo [post]
|
func (slf WorkerPositionController) CreateWorkerPositionInfo(c *gin.Context) {
|
var params request.AddWorkPositionRequest
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
|
//查询是否重复
|
_, err = models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).SetOverlappingDate(params.StartDate, params.EndDate).First()
|
if err == nil {
|
util.ResponseFormat(c, code.RequestParamError, "时间范围和该工人以往添加记录有重复,请检查")
|
return
|
}
|
|
record := &models.WorkerPosition{
|
StartDate: params.StartDate,
|
EndDate: params.EndDate,
|
Workshop: params.Workshop,
|
WorkshopName: params.WorkshopName,
|
WorkshopGroup: params.WorkshopGroup,
|
StartWorkerPosition: params.StartWorkerPosition,
|
EndWorkerPosition: params.EndWorkerPosition,
|
WorkerId: params.WorkerId,
|
}
|
|
info := middleware.GetUserInfo(c)
|
if info != nil {
|
record.Creator = info.NickName
|
}
|
|
err = models.NewWorkerPositionSearch().Create(record)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "创建失败, 请重试")
|
return
|
}
|
util.ResponseFormat(c, code.Success, "创建成功")
|
}
|
|
// UpdateWorkerPositionInfo
|
// @Tags 机台管理
|
// @Summary 更新机台信息
|
// @Produce application/json
|
// @Param object body request.UpdateWorkerPositionRequest true "参数"
|
// @Param Authorization header string true "token"
|
// @Success 200 {object} util.Response "成功"
|
// @Router /api-jl/v1/workerPosition/updateWorkerPositionInfo [post]
|
func (slf WorkerPositionController) UpdateWorkerPositionInfo(c *gin.Context) {
|
var params request.UpdateWorkerPositionRequest
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
if params.Id == 0 {
|
util.ResponseFormat(c, code.RequestParamError, "参数缺失")
|
return
|
}
|
|
//查询是否重复
|
old, err := models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First()
|
if err == nil {
|
if old.ID != params.Id {
|
util.ResponseFormat(c, code.RequestParamError, "时间范围和该工人以往添加记录有重复,请检查")
|
return
|
}
|
}
|
|
record := &models.WorkerPosition{
|
StartDate: params.StartDate,
|
EndDate: params.EndDate,
|
Workshop: params.Workshop,
|
WorkshopGroup: params.WorkshopGroup,
|
StartWorkerPosition: params.StartWorkerPosition,
|
EndWorkerPosition: params.EndWorkerPosition,
|
WorkerId: params.WorkerId,
|
}
|
|
info := middleware.GetUserInfo(c)
|
if info != nil {
|
record.Creator = info.NickName
|
}
|
|
err = models.NewWorkerPositionSearch().SetID(params.Id).Update(record)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "更新失败")
|
return
|
}
|
util.ResponseFormat(c, code.Success, "更新成功")
|
}
|
|
// GetWorkerPositionList
|
//
|
// @Tags 机台管理
|
// @Summary 获取机台信息列表
|
// @Produce application/json
|
// @Param object body request.GetWorkerPositionList true "参数"
|
// @Param Authorization header string true "token"
|
// @Success 200 {object} util.ResponseList{data=[]models.WorkerPosition} "成功"
|
// @Router /api-jl/v1/workerPosition/getWorkerPositionList [post]
|
func (slf WorkerPositionController) GetWorkerPositionList(c *gin.Context) {
|
var params request.GetWorkerPositionList
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
WorkerPositions, total, err := models.NewWorkerPositionSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetPreload().SetOrder("id desc").Find()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查询失败")
|
return
|
}
|
util.ResponseFormatList(c, code.Success, WorkerPositions, total)
|
}
|
|
// DeleteWorkerPositionInfo
|
//
|
// @Tags 机台管理
|
// @Summary 删除机台信息
|
// @Produce application/json
|
// @Param id path string true "id"
|
// @Param Authorization header string true "token"
|
// @Success 200 {object} util.Response "成功"
|
// @Router /api-jl/v1/workerPosition/deleteWorkerPositionInfo/{id} [delete]
|
func (slf WorkerPositionController) DeleteWorkerPositionInfo(c *gin.Context) {
|
id := c.Param("id")
|
if id == "" {
|
util.ResponseFormat(c, code.RequestParamError, "无效的id")
|
return
|
}
|
idInt := cast.ToUint(id)
|
if idInt == 0 {
|
util.ResponseFormat(c, code.RequestParamError, "无效的id")
|
return
|
}
|
err := models.NewWorkerPositionSearch().SetID(idInt).Delete()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "删除失败")
|
return
|
}
|
util.ResponseFormat(c, code.Success, "删除成功")
|
}
|