liujiandao
2024-03-11 6da8ee2f471792e9bd21839b99c9dc925c76242e
保存生丝定级标准
5个文件已修改
107 ■■■■■ 已修改文件
controllers/raw_silk_standard.go 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/request/system_set.go 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/response/raw_silk_standard.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/raw_silk_rank_standard.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/router.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/raw_silk_standard.go
@@ -2,11 +2,13 @@
import (
    "github.com/gin-gonic/gin"
    "gorm.io/gorm"
    "silkserver/controllers/request"
    "silkserver/controllers/response"
    "silkserver/extend/code"
    "silkserver/extend/util"
    "silkserver/models"
    "silkserver/pkg/snowflake"
    "strconv"
)
@@ -108,6 +110,7 @@
        var dr response.DynamicsRank
        dr.RankName = standard.RankName
        dr.RankValue = standard.RankValue
        dr.RankProp = standard.RankProp
        rankStandard, ok := m[standard.LineId]
        if !ok {
            rankStandard.LineId = standard.LineId
@@ -127,3 +130,61 @@
    }
    util.ResponseFormat(c, code.Success, data)
}
// SaveRankStandard
//
//    @Tags        系统设置/生丝定级标准
//    @Summary    保存生丝定级标准
//    @Produce    application/json
//    @Param        object    body        request.SaveRankStandard    true    "参数"
//    @Success    200        {object}    util.Response        "成功"
//    @Router        /api-jl/v1/system/saveRankStandard [post]
func (slf RawSilkStandardController) SaveRankStandard(c *gin.Context) {
    var rankStandard request.SaveRankStandard
    err := c.BindJSON(&rankStandard)
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
        return
    }
    batch := make([]*models.RawSilkRankStandard, 0)
    for _, standard := range rankStandard.RankStandard {
        var rank models.RawSilkRankStandard
        if standard.LineId == "" {
            rank.LineId = snowflake.GenerateIdStr()
        } else {
            rank.LineId = standard.LineId
        }
        rank.CheckItem = standard.CheckItem
        rank.StartFineness = standard.StartFineness
        rank.EndFineness = standard.EndFineness
        rank.RankA = standard.RankA
        rank.RankB = standard.RankB
        rank.RankC = standard.RankC
        for _, dynamicsRank := range standard.DynamicsRanks {
            rs := rank
            rs.RankProp = dynamicsRank.RankProp
            rs.RankName = dynamicsRank.RankName
            rs.RankValue = dynamicsRank.RankValue
            batch = append(batch, &rs)
        }
    }
    err = models.WithTransaction(func(db *gorm.DB) error {
        err = models.NewRawSilkRankStandardSearch().SetOrm(db).DeleteAll()
        if err != nil {
            return err
        }
        if len(batch) > 0 {
            err = models.NewRawSilkRankStandardSearch().SetOrm(db).CreateBatch(batch)
            if err != nil {
                return err
            }
        }
        return nil
    })
    if err != nil {
        util.ResponseFormat(c, code.SaveFail, "保存失败")
        return
    }
    util.ResponseFormat(c, code.Success, "保存成功")
}
controllers/request/system_set.go
@@ -1,6 +1,9 @@
package request
import "silkserver/constvar"
import (
    "github.com/shopspring/decimal"
    "silkserver/constvar"
)
type GetDictList struct {
    PageInfo
@@ -25,6 +28,27 @@
    KeyWord string `json:"keyWord"`
}
type SaveRankStandard struct {
    RankStandard []RankStandard `json:"rankStandard"`
}
type RankStandard struct {
    LineId        string             `json:"lineId"`        //行id
    CheckItem     constvar.CheckItem `json:"checkItem"`     //检查项目名称
    StartFineness decimal.Decimal    `json:"startFineness"` //开始纤度
    EndFineness   decimal.Decimal    `json:"endFineness"`   //结束纤度
    RankA         decimal.Decimal    `json:"rankA"`         //野纤
    RankB         decimal.Decimal    `json:"rankB"`         //大野
    RankC         decimal.Decimal    `json:"rankC"`         //特野
    DynamicsRanks []DynamicsRank     `json:"dynamicsRanks"`
}
type DynamicsRank struct {
    RankProp  string          `json:"rankProp"`  //前缀key
    RankName  string          `json:"rankName"`  //等级名称
    RankValue decimal.Decimal `json:"rankValue"` //等级值
}
// ---------------------------------------车间---------------------------------
type GetWorkshopManage struct {
    PageInfo
controllers/response/raw_silk_standard.go
@@ -17,6 +17,7 @@
}
type DynamicsRank struct {
    RankProp  string          `json:"rankProp"`  //前缀key
    RankName  string          `json:"rankName"`  //等级名称
    RankValue decimal.Decimal `json:"rankValue"` //等级值
}
models/raw_silk_rank_standard.go
@@ -19,6 +19,7 @@
        RankA         decimal.Decimal    `json:"rankA" gorm:"type:decimal(20,4);comment:野纤"`
        RankB         decimal.Decimal    `json:"rankB" gorm:"type:decimal(20,4);comment:大野"`
        RankC         decimal.Decimal    `json:"rankC" gorm:"type:decimal(20,4);comment:特野"`
        RankProp      string             `json:"rankProp" gorm:"type:varchar(255);comment:前缀key"`
        RankName      string             `json:"rankName" gorm:"type:varchar(255);comment:等级名称"`
        RankValue     decimal.Decimal    `json:"rankValue" gorm:"type:decimal(20,4);comment:等级值"`
    }
@@ -68,6 +69,17 @@
    return nil
}
// CreateBatch 批量插入
func (slf *RawSilkRankStandardSearch) CreateBatch(records []*RawSilkRankStandard) error {
    var db = slf.build()
    if err := db.Create(&records).Error; err != nil {
        return fmt.Errorf("create batch err: %v, records: %+v", err, records)
    }
    return nil
}
func (slf *RawSilkRankStandardSearch) FindNotTotal() ([]*RawSilkRankStandard, error) {
    var (
        records = make([]*RawSilkRankStandard, 0)
@@ -91,10 +103,10 @@
    return nil
}
func (slf *RawSilkRankStandardSearch) Delete() error {
func (slf *RawSilkRankStandardSearch) DeleteAll() error {
    var db = slf.build()
    if err := db.Unscoped().Delete(&RawSilkRankStandard{}).Error; err != nil {
    if err := db.Where("1=1").Delete(&RawSilkRankStandard{}).Error; err != nil {
        return err
    }
router/router.go
@@ -39,7 +39,8 @@
        systemApi.POST("savePriceStandard", rawSilkController.SavePriceStandard)           //保存生丝定价标准
        systemApi.DELETE("deletePriceStandard/:id", rawSilkController.DeletePriceStandard) //删除生丝定价标准
        //生丝定价
        systemApi.GET("getRankStandard", rawSilkController.GetRankStandard)
        systemApi.GET("getRankStandard", rawSilkController.GetRankStandard)    //获取生丝定级标准
        systemApi.POST("saveRankStandard", rawSilkController.SaveRankStandard) //保存生丝定级标准
        //车间管理
        systemApi.GET("getWorkshopManageList", workshopController.GetWorkshopManageList)      //获取车间管理列表
        systemApi.POST("saveWorkshopManage", workshopController.SaveWorkshopManage)           //保存车间管理