yinbentan
2024-07-10 743614db00f9b8cd9a97997a743f9c161e493aea
车间分组配置
2个文件已添加
8个文件已修改
393 ■■■■ 已修改文件
constvar/const.go 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/request/system_set.go 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/request/workshop_manage.go 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/response/workshop_manage.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/workshop_manage_controller.go 212 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/fineness.go 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/fineness_item.go 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/workshop_manage.go 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/workshop.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
constvar/const.go
@@ -22,7 +22,14 @@
const (
    LeftHalfCar  CarFlag = iota + 1 //左半车
    RightHalfCar                    //右半车
    AllCar                          //全车结束
    //AllCar                          //全车结束
)
type WorkshopType int
const (
    Workshop WorkshopType = iota + 1 // 车间信息
    Group                            // 分组信息
)
type CheckItem int
controllers/request/system_set.go
@@ -49,17 +49,3 @@
    RankName  string          `json:"rankName"`  //等级名称
    RankValue decimal.Decimal `json:"rankValue"` //等级值
}
// ---------------------------------------车间---------------------------------
type GetWorkshopManage struct {
    PageInfo
    KeyWord      string `json:"keyWord"`
    WorkshopName string `json:"workshopName"` //车间名称
    GroupNumber  int    `json:"groupNumber"`  //组别
}
type GetWorkshopManageCar struct {
    WorkshopName string `json:"workshopName"` //车间名称
    GroupNumber  int    `json:"groupNumber"`  //组别
    MarketName   string `json:"marketName"`   //庄口名
}
controllers/request/workshop_manage.go
New file
@@ -0,0 +1,25 @@
package request
import (
    "silkserver/models"
)
type AddWorkshopManage struct {
    models.WorkshopManage
    Details []models.WorkshopManage `json:"details"` // 车间信息
}
type GetWorkshopManage struct {
    PageInfo
    KeyWord        string `json:"keyWord"`
    WorkshopNumber string `json:"workshopNumber"` // 车间编号
    WorkshopName   string `json:"workshopName"`   //车间名称
    GroupNumber    int    `json:"groupNumber"`    //组别
}
type GetWorkshopManageCar struct {
    WorkshopNumber string `json:"workshopNumber"` // 车间编号
    WorkshopName   string `json:"workshopName"`   //车间名称
    GroupNumber    int    `json:"groupNumber"`    //组别
    MarketName     string `json:"marketName"`     //庄口名
}
controllers/response/workshop_manage.go
New file
@@ -0,0 +1,8 @@
package response
import "silkserver/models"
type WorkshopManage struct {
    models.WorkshopManage
    Details []models.WorkshopManage `json:"details"` // 车间信息
}
controllers/workshop_manage_controller.go
@@ -3,6 +3,7 @@
import (
    "github.com/gin-gonic/gin"
    "gorm.io/gorm"
    "silkserver/constvar"
    "silkserver/controllers/request"
    "silkserver/controllers/response"
    "silkserver/extend/code"
@@ -16,41 +17,117 @@
// 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]
//    @Tags        系统设置/车间管理
//    @Summary    保存车间管理
//    @Produce    application/json
//    @Param     Authorization    header string true "token"
//    @Param        object    body    request.AddWorkshopManage    true    "参数"
//    @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)
    var param *request.AddWorkshopManage
    err := c.BindJSON(&param)
    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 param.StartCarNumber > param.EndCarNumber {
        util.ResponseFormat(c, code.RequestParamError, "结束车号不能小于开始车号")
        return
    }
    editIds := make([]uint, len(param.Details))
    for _, detail := range param.Details {
        if detail.StartCarNumber > detail.EndCarNumber {
            util.ResponseFormat(c, code.RequestParamError, "分组结束车号不能小于分组开始车号")
            return
        }
        if detail.EndCarNumber > param.EndCarNumber {
            util.ResponseFormat(c, code.RequestParamError, "分组结束车号不能大于结束车号")
            return
        }
        if detail.ID > 0 {
            editIds = append(editIds, detail.ID)
        }
    }
    info := models.WorkshopManage{
        WorkshopNumber: param.WorkshopNumber,
        WorkshopName:   param.WorkshopName,
        Type:           constvar.Workshop,
        GroupNumber:    param.GroupNumber,
        StartCarNumber: param.StartCarNumber,
        EndCarNumber:   param.EndCarNumber,
        CarFlag:        param.CarFlag,
        Notes:          param.Notes,
    }
    err = models.WithTransaction(func(tx *gorm.DB) error {
        if param.ID > 0 {
            info.ID = param.ID
            err = models.NewWorkshopManageSearch().Save(&info)
            if err != nil {
                return err
            }
            oldDetailsList, err := models.NewWorkshopManageSearch().SetType(constvar.Group).SetWorkshopNumber(param.WorkshopNumber).SetGroupNumber(param.GroupNumber).FindNotTotal()
            if err != nil {
                return err
            }
            for _, oldDetails := range oldDetailsList {
                delFlag := true
                for _, editId := range editIds {
                    if oldDetails.ID == editId {
                        delFlag = false
                        break
                    }
                }
                if delFlag {
                    err = models.NewWorkshopManageSearch().SetId(int(oldDetails.ID)).Delete()
                    if err != nil {
                        return err
                    }
                }
            }
        } else {
            err = models.NewWorkshopManageSearch().Create(&info)
        }
        if err != nil {
            return err
        }
        for _, detail := range param.Details {
            detail.Type = constvar.Group
            detail.WorkshopNumber = param.WorkshopNumber
            detail.WorkshopName = param.WorkshopName
            detail.ParentID = param.WorkshopNumber
            //detail.GroupNumber = param.Workshop.GroupNumber
            if detail.ID > 0 {
                err = models.NewWorkshopManageSearch().Save(&detail)
            } else {
                err = models.NewWorkshopManageSearch().Create(&detail)
            }
        }
        return nil
    })
    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 [post]
//    @Tags        系统设置/车间管理
//    @Summary    获取车间管理列表
//    @Produce    application/json
//    @Param     Authorization    header string true "token"
//    @Param        object    query        request.GetPriceStandard    true    "参数"
//    @Success    200        {object}    util.ResponseList{data=[]response.WorkshopManage}        "成功"
//    @Router        /api-jl/v1/system/getWorkshopManageList [post]
func (slf WorkshopManageController) GetWorkshopManageList(c *gin.Context) {
    var param request.GetWorkshopManage
    err := c.BindJSON(&param)
@@ -58,12 +135,49 @@
        util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
        return
    }
    list, total, err := models.NewWorkshopManageSearch().SetWorkshopName(param.WorkshopName).SetGroupNumber(param.GroupNumber).SetPage(param.Page, param.PageSize).Find()
    workshopManageSearch := models.NewWorkshopManageSearch()
    if param.Page > 0 && param.PageSize > 0 {
        workshopManageSearch.SetPage(param.Page, param.PageSize)
    }
    workshopManageSearch.SetType(constvar.Workshop).SetWorkshopName(param.WorkshopName).SetGroupNumber(param.GroupNumber)
    list, total, err := workshopManageSearch.SetOrder("workshop_number,group_number,start_car_number").Find()
    if err != nil {
        util.ResponseFormat(c, code.SelectError, "查询失败")
        return
    }
    util.ResponseFormatList(c, code.Success, list, total)
    workshopNumberArr := make([]string, len(list))
    for _, workshopManage := range list {
        workshopNumberArr = append(workshopNumberArr, workshopManage.WorkshopNumber)
    }
    details, _ := models.NewWorkshopManageSearch().SetType(constvar.Group).SetWorkshopNumberArr(workshopNumberArr).
        SetOrder("workshop_number,group_number,start_car_number").FindNotTotal()
    var result []*response.WorkshopManage
    for _, info := range list {
        var infoTemp response.WorkshopManage
        infoTemp.ID = info.ID
        infoTemp.CreatedAt = info.CreatedAt
        infoTemp.UpdatedAt = info.UpdatedAt
        infoTemp.WorkshopNumber = info.WorkshopNumber
        infoTemp.WorkshopName = info.WorkshopName
        infoTemp.Type = info.Type
        infoTemp.ParentID = info.ParentID
        infoTemp.GroupNumber = info.GroupNumber
        infoTemp.StartCarNumber = info.StartCarNumber
        infoTemp.EndCarNumber = info.EndCarNumber
        infoTemp.CarFlag = info.CarFlag
        infoTemp.Notes = info.Notes
        var detailList []models.WorkshopManage
        for _, detail := range details {
            if info.WorkshopNumber == detail.WorkshopNumber && info.GroupNumber == detail.GroupNumber {
                detailList = append(detailList, *detail)
            }
        }
        infoTemp.Details = detailList
        result = append(result, &infoTemp)
    }
    util.ResponseFormatList(c, code.Success, result, total)
}
// DeleteWorkshopManage
@@ -85,7 +199,28 @@
        util.ResponseFormat(c, code.RequestParamError, "数据转换失败")
        return
    }
    err = models.NewWorkshopManageSearch().SetId(atoi).Delete()
    err = models.WithTransaction(func(tx *gorm.DB) error {
        first, err := models.NewWorkshopManageSearch().SetId(atoi).First()
        if err != nil {
            return err
        }
        if first.Type == constvar.Group {
            err = models.NewWorkshopManageSearch().SetId(atoi).Delete()
        } else if first.Type == constvar.Workshop {
            workshopManages, err := models.NewWorkshopManageSearch().SetWorkshopNumber(first.WorkshopNumber).SetGroupNumber(first.GroupNumber).FindNotTotal()
            if err != nil {
                return err
            }
            for _, detail := range workshopManages {
                err = models.NewWorkshopManageSearch().SetId(int(detail.ID)).Delete()
                if err != nil {
                    return err
                }
            }
        }
        return nil
    })
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "删除失败")
        return
@@ -109,7 +244,9 @@
        util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
        return
    }
    all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
    all, err := models.NewWorkshopManageSearch().
        SetType(constvar.Group).SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).
        SetOrder("workshop_number,group_number,start_car_number").FindNotTotal()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        return
@@ -139,7 +276,7 @@
        util.ResponseFormat(c, code.RequestParamError, "无效的编码")
        return
    }
    all, err := models.NewWorkshopManageSearch().SetWorkshopNumber(number).FindAll()
    all, err := models.NewWorkshopManageSearch().SetType(constvar.Group).SetWorkshopNumber(number).FindNotTotal()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        return
@@ -167,34 +304,37 @@
        util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
        return
    }
    all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
    workshopManageList, err := models.NewWorkshopManageSearch().
        SetType(constvar.Group).SetWorkshopNumber(params.WorkshopNumber).SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).
        FindNotTotal()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        util.ResponseFormat(c, code.RequestParamError, "车间分组查询失败")
        return
    }
    fineness, err := models.NewFinenessRegisterSearch().SetWorkshopName(params.WorkshopName).SetWorkshopGroup(params.GroupNumber).
        SetMarket(params.MarketName).First()
    finenessRegisterList, err := models.NewFinenessRegisterSearch().
        SetWorkshopNumber(params.WorkshopNumber).SetWorkshopName(params.WorkshopName).SetWorkshopGroup(params.GroupNumber).SetMarket(params.MarketName).
        First()
    if err != nil {
        if err == gorm.ErrRecordNotFound {
            util.ResponseFormat(c, code.RequestParamError, "当前庄口,车间,组别下,没有纤度登记信息")
            util.ResponseFormat(c, code.RequestParamError, "当前庄口、车间、组别下,没有纤度登记信息")
            return
        }
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        util.ResponseFormat(c, code.RequestParamError, "纤度登记查询失败")
        return
    }
    first, err := models.NewFinenessCheckSearch().SetID(fineness.FinenessCheckID).First()
    first, err := models.NewFinenessCheckSearch().SetID(finenessRegisterList.FinenessCheckID).First()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        util.ResponseFormat(c, code.RequestParamError, "纤度检验查询失败")
        return
    }
    var data response.CarAndLevel
    data.Level = first.FinenessGrade
    carNum := make([][]int, 0)
    for _, manage := range all {
    for _, workshop := range workshopManageList {
        car := make([]int, 0)
        i := manage.StartCarNumber
        for ; i <= manage.EndCarNumber; i++ {
        i := workshop.StartCarNumber
        for ; i <= workshop.EndCarNumber; i++ {
            car = append(car, i)
        }
        if len(car) > 0 {
main.go
@@ -37,6 +37,8 @@
        ReadTimeout:  5 * time.Second,
        WriteTimeout: 5 * time.Second,
    }
    logx.Infof("server start success! \n\n\t- Local: \thttp://localhost:%v/\n\t- Network: \thttp://%v:%v/\n",
        conf.WebConf.Port, conf.WebConf.Host, conf.WebConf.Port)
    //定时任务初始化
    task.Init()
models/fineness.go
@@ -11,13 +11,14 @@
    // FinenessRegister 纤度登记
    FinenessRegister struct {
        gorm.Model
        Number          string          `gorm:"type:varchar(255);not null;comment:编号" json:"number"`       //编号
        FinenessCheckID uint            `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"`           //纤度检验表ID
        FinishDate      string          `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"` //落丝时间
        WorkshopNumber  string          `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编号"`
        WorkshopName    string          `json:"workshopName" gorm:"type:varchar(255);comment:车间名称"`
        Number          string          `gorm:"type:varchar(255);not null;comment:编号" json:"number"`             //编号
        FinenessCheckID uint            `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"`                 //纤度检验表ID
        FinishDate      string          `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"`       //落丝时间
        WorkshopNumber  string          `gorm:"type:varchar(255);comment:车间编号" json:"workshopNumber" `           // 车间编号
        WorkshopName    string          `gorm:"type:varchar(255);comment:车间名称" json:"workshopName" `             // 车间名称
        WorkshopGroup   int             `gorm:"type:int(11);not null;default:0;comment:车组" json:"workshopGroup"` //车组
        Market          string          `gorm:"type:varchar(255);not null;comment:庄口" json:"market"`             //庄口
        MarketNumber    string          `gorm:"size:255;comment:庄口" json:"marketNumber"`                         //庄口编号
        Market          string          `gorm:"type:varchar(255);not null;comment:庄口" json:"market"`             //庄口名称
        Spec            string          `gorm:"type:varchar(255);not null;comment:规格" json:"spec"`               //规格
        Circle          uint8           `gorm:"not null;default:0;comment:回数" json:"circle"`                     //回数
        TotalCircle     uint8           `gorm:"not null;default:0;comment:总回数" json:"totalCircle"`               //总回数
@@ -80,8 +81,13 @@
    return slf
}
func (slf *FinenessRegisterSearch) SetWorkshopName(workshop string) *FinenessRegisterSearch {
    slf.WorkshopName = workshop
func (slf *FinenessRegisterSearch) SetWorkshopNumber(workshopNumber string) *FinenessRegisterSearch {
    slf.WorkshopNumber = workshopNumber
    return slf
}
func (slf *FinenessRegisterSearch) SetWorkshopName(workshopName string) *FinenessRegisterSearch {
    slf.WorkshopName = workshopName
    return slf
}
@@ -118,6 +124,10 @@
        db = db.Where("number like ?", fmt.Sprintf("%%%s%%", slf.Keyword))
    }
    if slf.WorkshopNumber != "" {
        db = db.Where("workshop_number = ?", slf.WorkshopNumber)
    }
    if slf.WorkshopName != "" {
        db = db.Where("workshop_name = ?", slf.WorkshopName)
    }
models/fineness_item.go
@@ -11,11 +11,11 @@
    // FinenessItem 纤度登记
    FinenessItem struct {
        gorm.Model
        FinenessRegisterID uint            `gorm:"index" json:"finenessRegisterID"`
        Position           int             `json:"position"` //车号
        Fineness           float32         `json:"fineness"` //纤度
        Quantity           int             `json:"quantity"` //数量
        Sum                decimal.Decimal `json:"sum"`      //纤度合计
        FinenessRegisterID uint            `gorm:"size:11;index" json:"finenessRegisterID"`
        Position           int             `gorm:"size:11;comment:车号" json:"position"`         // 车号
        Fineness           float32         `gorm:"comment:纤度" json:"fineness"`                 // 纤度
        Quantity           int             `gorm:"size:11;comment:数量" json:"quantity"`         // 数量
        Sum                decimal.Decimal `gorm:"type:decimal(12,4);comment:纤度合计" json:"sum"` //纤度合计
    }
    FinenessItemSearch struct {
models/workshop_manage.go
@@ -11,20 +11,25 @@
type (
    WorkshopManage struct {
        gorm.Model
        WorkshopNumber string           `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编号"`
        WorkshopName   string           `json:"workshopName" gorm:"type:varchar(255);comment:车间名称"`
        GroupNumber    int              `json:"groupNumber" gorm:"type:int(11);comment:组别"`
        StartCarNumber int              `json:"startCarNumber"  gorm:"type:int(11);comment:开始车号"`
        EndCarNumber   int              `json:"endCarNumber"  gorm:"type:int(11);comment:结束车号"`
        CarFlag        constvar.CarFlag `json:"carFlag" gorm:"type:int(1);comment:半车标志"`
        Notes          string           `json:"notes" gorm:"type:varchar(255);comment:备注"`
        WorkshopNumber string                `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编号"`
        WorkshopName   string                `json:"workshopName" gorm:"type:varchar(255);comment:车间名称"`
        Type           constvar.WorkshopType `json:"type" gorm:"size:1;comment:类型(1车间、2分组)"` // 类型(1车间、2分组)
        ParentID       string                `json:"parentID" gorm:"size:11;comment:车间编号"`
        GroupNumber    int                   `json:"groupNumber" gorm:"type:int(11);comment:组别"`
        StartCarNumber int                   `json:"startCarNumber"  gorm:"type:int(11);comment:开始车号"`
        StartCarHalf   constvar.CarFlag      `json:"startCarHalf" gorm:"type:int(1);comment:开始半车标识(1左半车、2右半车)"`
        EndCarNumber   int                   `json:"endCarNumber"  gorm:"type:int(11);comment:结束车号"`
        EndCarHalf     constvar.CarFlag      `json:"endCarHalf" gorm:"type:int(1);comment:结束半车标识(1左半车、2右半车)"`
        CarFlag        int                   `json:"carFlag" gorm:"type:int(1);comment:半车标志(0全车、1半车)"`
        Notes          string                `json:"notes" gorm:"type:varchar(255);comment:备注"`
    }
    WorkshopManageSearch struct {
        WorkshopManage
        PageNum  int
        PageSize int
        Order    string
        Orm      *gorm.DB
        WorkshopNumberArr []string
        PageNum           int
        PageSize          int
        Order             string
        Orm               *gorm.DB
    }
)
@@ -51,6 +56,16 @@
    return slf
}
func (slf *WorkshopManageSearch) SetType(types constvar.WorkshopType) *WorkshopManageSearch {
    slf.Type = types
    return slf
}
func (slf *WorkshopManageSearch) SetParentID(parentID string) *WorkshopManageSearch {
    slf.ParentID = parentID
    return slf
}
func (slf *WorkshopManageSearch) SetWorkshopNumber(workshopNumber string) *WorkshopManageSearch {
    slf.WorkshopNumber = workshopNumber
    return slf
@@ -58,6 +73,11 @@
func (slf *WorkshopManageSearch) SetWorkshopName(workshopName string) *WorkshopManageSearch {
    slf.WorkshopName = workshopName
    return slf
}
func (slf *WorkshopManageSearch) SetWorkshopNumberArr(workshopNumberArr []string) *WorkshopManageSearch {
    slf.WorkshopNumberArr = workshopNumberArr
    return slf
}
@@ -78,8 +98,20 @@
        db = db.Where("id = ?", slf.ID)
    }
    if slf.Type > 0 {
        db = db.Where("`type` = ?", slf.Type)
    }
    if slf.ParentID != "" {
        db = db.Where("parent_id = ?", slf.ParentID)
    }
    if slf.WorkshopNumber != "" {
        db = db.Where("workshop_number = ?", slf.WorkshopNumber)
    }
    if len(slf.WorkshopNumberArr) > 0 {
        db = db.Where("workshop_number in (?)", slf.WorkshopNumberArr)
    }
    if slf.WorkshopName != "" {
@@ -103,6 +135,19 @@
    return nil
}
func (slf *WorkshopManageSearch) First() (*WorkshopManage, error) {
    var (
        record = new(WorkshopManage)
        db     = slf.build()
    )
    if err := db.First(record).Error; err != nil {
        return record, err
    }
    return record, nil
}
func (slf *WorkshopManageSearch) Find() ([]*WorkshopManage, int64, error) {
    var (
        records = make([]*WorkshopManage, 0)
@@ -116,19 +161,33 @@
    if slf.PageNum*slf.PageSize > 0 {
        db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
    }
    if err := db.Order("updated_at desc").Find(&records).Error; err != nil {
    if slf.Order != "" {
        db = db.Order(slf.Order)
    } else {
        db = db.Order("updated_at desc")
    }
    if err := db.Find(&records).Error; err != nil {
        return records, total, fmt.Errorf("find records err: %v", err)
    }
    return records, total, nil
}
func (slf *WorkshopManageSearch) FindAll() ([]*WorkshopManage, error) {
func (slf *WorkshopManageSearch) FindNotTotal() ([]*WorkshopManage, error) {
    var (
        records = make([]*WorkshopManage, 0)
        db      = slf.build()
    )
    if slf.PageNum*slf.PageSize > 0 {
        db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
    }
    if slf.Order != "" {
        db = db.Order(slf.Order)
    } else {
        db = db.Order("updated_at desc")
    }
    if err := db.Find(&records).Error; err != nil {
        return records, fmt.Errorf("find records err: %v", err)
    }
service/workshop.go
@@ -3,7 +3,7 @@
import "silkserver/models"
func GetWorkshopEndCarMap(workshopNumber string, groupNumber int) (endCarMap map[int]bool, err error) {
    records, err := models.NewWorkshopManageSearch().SetWorkshopNumber(workshopNumber).SetGroupNumber(groupNumber).FindAll()
    records, err := models.NewWorkshopManageSearch().SetWorkshopNumber(workshopNumber).SetGroupNumber(groupNumber).FindNotTotal()
    if err != nil {
        return
    }