package controllers
|
|
import (
|
"github.com/gin-gonic/gin"
|
"gorm.io/gorm"
|
"silkserver/controllers/request"
|
"silkserver/controllers/response"
|
"silkserver/extend/code"
|
"silkserver/extend/util"
|
"silkserver/models"
|
"strconv"
|
)
|
|
type WorkshopManageController struct {
|
}
|
|
// SaveWorkshopManage
|
//
|
// @Tags 系统设置/车间管理
|
// @Summary 保存车间管理
|
// @Produce application/json
|
// @Param object body models.WorkshopManage true "参数"
|
// @Param Authorization header string true "token"
|
// @Success 200 {object} util.Response "成功"
|
// @Router /api-jl/v1/system/saveWorkshopManage [post]
|
func (slf WorkshopManageController) SaveWorkshopManage(c *gin.Context) {
|
var workshop models.WorkshopManage
|
err := c.BindJSON(&workshop)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
if workshop.ID > 0 {
|
err = models.NewWorkshopManageSearch().Save(&workshop)
|
} else {
|
err = models.NewWorkshopManageSearch().Create(&workshop)
|
}
|
if err != nil {
|
util.ResponseFormat(c, code.SaveFail, "保存失败")
|
return
|
}
|
util.ResponseFormat(c, code.Success, "保存成功")
|
}
|
|
// GetWorkshopManageList
|
//
|
// @Tags 系统设置/车间管理
|
// @Summary 获取车间管理列表
|
// @Produce application/json
|
// @Param Authorization header string true "token"
|
// @Param object query request.GetPriceStandard true "参数"
|
// @Success 200 {object} util.ResponseList{data=[]models.WorkshopManage} "成功"
|
// @Router /api-jl/v1/system/getWorkshopManageList [get]
|
func (slf WorkshopManageController) GetWorkshopManageList(c *gin.Context) {
|
var param request.GetWorkshopManage
|
err := c.ShouldBindQuery(¶m)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
list, total, err := models.NewWorkshopManageSearch().SetPage(param.Page, param.PageSize).Find()
|
if err != nil {
|
util.ResponseFormat(c, code.SelectError, "查询失败")
|
return
|
}
|
util.ResponseFormatList(c, code.Success, list, total)
|
}
|
|
// DeleteWorkshopManage
|
//
|
// @Tags 系统设置/车间管理
|
// @Summary 删除车间管理
|
// @Produce application/json
|
// @Param id path string true "id"
|
// @Success 200 {object} util.Response "成功"
|
// @Router /api-jl/v1/system/deleteWorkshopManage/{id} [delete]
|
func (slf WorkshopManageController) DeleteWorkshopManage(c *gin.Context) {
|
id := c.Param("id")
|
if id == "" {
|
util.ResponseFormat(c, code.RequestParamError, "无效的id")
|
return
|
}
|
atoi, err := strconv.Atoi(id)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "数据转换失败")
|
return
|
}
|
err = models.NewWorkshopManageSearch().SetId(atoi).Delete()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "删除失败")
|
return
|
}
|
util.ResponseFormat(c, code.Success, "删除成功")
|
}
|
|
// GetCarNumber
|
//
|
// @Tags 系统设置/车间管理
|
// @Summary 获取车辆编号
|
// @Produce application/json
|
// @Param Authorization header string true "token"
|
// @Param object body request.GetWorkshopManageCar true "参数"
|
// @Success 200 {object} util.Response{data=[]int} "成功"
|
// @Router /api-jl/v1/system/getCarNumber [post]
|
func (slf WorkshopManageController) GetCarNumber(c *gin.Context) {
|
var params request.GetWorkshopManageCar
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查找失败")
|
return
|
}
|
carNumbers := make([]int, 0)
|
for _, manage := range all {
|
i := manage.StartCarNumber
|
for ; i <= manage.EndCarNumber; i++ {
|
carNumbers = append(carNumbers, i)
|
}
|
}
|
util.ResponseFormat(c, code.Success, carNumbers)
|
}
|
|
// GetWorkshopManageGroup
|
//
|
// @Tags 系统设置/车间管理
|
// @Summary 获取车间组别
|
// @Produce application/json
|
// @Param Authorization header string true "token"
|
// @Param number path string true "number"
|
// @Success 200 {object} util.Response{data=map[int]int} "成功"
|
// @Router /api-jl/v1/system/getWorkshopManageGroup/{number} [get]
|
func (slf WorkshopManageController) GetWorkshopManageGroup(c *gin.Context) {
|
number := c.Param("number")
|
if number == "" {
|
util.ResponseFormat(c, code.RequestParamError, "无效的编码")
|
return
|
}
|
all, err := models.NewWorkshopManageSearch().SetWorkshopNumber(number).FindAll()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查找失败")
|
return
|
}
|
groupMap := make(map[int]int)
|
for _, manage := range all {
|
groupMap[manage.GroupNumber] = manage.GroupNumber
|
}
|
util.ResponseFormat(c, code.Success, groupMap)
|
}
|
|
// GetCarAndLevel
|
//
|
// @Tags 系统设置/车间管理
|
// @Summary 获取车辆编号和等级
|
// @Produce application/json
|
// @Param Authorization header string true "token"
|
// @Param object body request.GetWorkshopManageCar true "参数"
|
// @Success 200 {object} util.Response{data=response.CarAndLevel} "成功"
|
// @Router /api-jl/v1/system/getCarAndLevel [post]
|
func (slf WorkshopManageController) GetCarAndLevel(c *gin.Context) {
|
var params request.GetWorkshopManageCar
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查找失败")
|
return
|
}
|
fineness, err := models.NewFinenessRegisterSearch().SetWorkshop(params.WorkshopName).SetWorkshopGroup(params.GroupNumber).
|
SetMarket(params.MarketName).First()
|
if err != nil {
|
if err == gorm.ErrRecordNotFound {
|
util.ResponseFormat(c, code.RequestParamError, "当前庄口,车间,组别下,没有纤度登记信息")
|
return
|
}
|
util.ResponseFormat(c, code.RequestParamError, "查找失败")
|
return
|
}
|
first, err := models.NewFinenessCheckSearch().SetID(fineness.FinenessCheckID).First()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查找失败")
|
return
|
}
|
var data response.CarAndLevel
|
data.Level = first.FinenessGrade
|
|
carNum := make([][]int, 0)
|
for _, manage := range all {
|
car := make([]int, 0)
|
i := manage.StartCarNumber
|
for ; i <= manage.EndCarNumber; i++ {
|
car = append(car, i)
|
}
|
if len(car) > 0 {
|
carNum = append(carNum, car)
|
}
|
}
|
data.Car = carNum
|
|
util.ResponseFormat(c, code.Success, data)
|
}
|