From 067650e77790adeb5222b7736649cb5b6b016162 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 28 四月 2024 10:49:44 +0800
Subject: [PATCH] 时间范围和该工人以往添加记录重复性校验
---
controllers/raw_silk_standard.go | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 155 insertions(+), 4 deletions(-)
diff --git a/controllers/raw_silk_standard.go b/controllers/raw_silk_standard.go
index 2ab9dd2..53db4c0 100644
--- a/controllers/raw_silk_standard.go
+++ b/controllers/raw_silk_standard.go
@@ -2,10 +2,14 @@
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"
)
type RawSilkStandardController struct {
@@ -43,12 +47,12 @@
// @Tags 绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯
// @Summary 鑾峰彇鐢熶笣瀹氫环鏍囧噯
// @Produce application/json
-// @Param object body models.RawSilkPriceStandard true "鍙傛暟"
-// @Success 200 {object} util.Response "鎴愬姛"
+// @Param object query request.GetPriceStandard true "鍙傛暟"
+// @Success 200 {object} util.ResponseList{data=[]models.RawSilkPriceStandard} "鎴愬姛"
// @Router /api-jl/v1/system/getPriceStandardList [get]
func (slf RawSilkStandardController) GetPriceStandardList(c *gin.Context) {
var param request.GetPriceStandard
- err := c.BindJSON(¶m)
+ err := c.ShouldBindQuery(¶m)
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
return
@@ -58,5 +62,152 @@
util.ResponseFormat(c, code.SelectError, "鏌ヨ澶辫触")
return
}
- util.ResponseFormatList(c, code.Success, list, int(total))
+ util.ResponseFormatList(c, code.Success, list, total)
+}
+
+// DeletePriceStandard
+//
+// @Tags 绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯
+// @Summary 鍒犻櫎鐢熶笣瀹氫环鏍囧噯
+// @Produce application/json
+// @Param id path string true "id"
+// @Success 200 {object} util.Response "鎴愬姛"
+// @Router /api-jl/v1/system/deletePriceStandard/{id} [delete]
+func (slf RawSilkStandardController) DeletePriceStandard(c *gin.Context) {
+ id := c.Param("id")
+ if id == "" {
+ util.ResponseFormat(c, code.RequestParamError, "鏃犳晥鐨刬d")
+ return
+ }
+ atoi, err := strconv.Atoi(id)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲澶辫触")
+ return
+ }
+ err = models.NewRawSilkPriceStandardSearch().SetId(atoi).Delete()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
+}
+
+// GetRankStandard
+//
+// @Tags 绯荤粺璁剧疆/鐢熶笣瀹氱骇鏍囧噯
+// @Summary 鑾峰彇鐢熶笣瀹氱骇鏍囧噯
+// @Produce application/json
+// @Success 200 {object} util.ResponseList{data=[]response.RankStandard} "鎴愬姛"
+// @Router /api-jl/v1/system/getRankStandard [get]
+func (slf RawSilkStandardController) GetRankStandard(c *gin.Context) {
+ standards, err := models.NewRawSilkRankStandardSearch().FindNotTotal()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鑾峰彇鐢熶笣瀹氱骇鏍囧噯澶辫触")
+ return
+ }
+ m := make(map[string]response.RankStandard)
+ for _, standard := range standards {
+ 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
+ rankStandard.CheckItem = standard.CheckItem
+ rankStandard.StartFineness = standard.StartFineness
+ rankStandard.EndFineness = standard.EndFineness
+ rankStandard.RankA = standard.RankA
+ rankStandard.RankB = standard.RankB
+ rankStandard.RankC = standard.RankC
+ }
+ rankStandard.DynamicsRanks = append(rankStandard.DynamicsRanks, dr)
+ m[standard.LineId] = rankStandard
+ }
+ data := make([]response.RankStandard, 0)
+ for _, standard := range m {
+ data = append(data, standard)
+ }
+ 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, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ 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, "淇濆瓨鎴愬姛")
+}
+
+// GetRankStandardGrade
+//
+// @Tags 绯荤粺璁剧疆/鐢熶笣瀹氱骇鏍囧噯
+// @Summary 鑾峰彇鐢熶笣绛夌骇
+// @Produce application/json
+// @Success 200 {object} util.Response{data=map[string]string} "鎴愬姛"
+// @Router /api-jl/v1/system/getRankStandardGrade [get]
+func (slf RawSilkStandardController) GetRankStandardGrade(c *gin.Context) {
+ standards, err := models.NewRawSilkRankStandardSearch().FindNotTotal()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鑾峰彇鐢熶笣绛夌骇澶辫触")
+ return
+ }
+ m := make(map[string]string)
+ m["閲庣氦"] = "閲庣氦"
+ m["澶ч噹"] = "澶ч噹"
+ m["鐗归噹"] = "鐗归噹"
+ for _, standard := range standards {
+ m[standard.RankName] = standard.RankName
+ }
+ util.ResponseFormat(c, code.Success, m)
}
--
Gitblit v1.8.0