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 |   86 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 1 deletions(-)

diff --git a/controllers/raw_silk_standard.go b/controllers/raw_silk_standard.go
index 823619c..53db4c0 100644
--- a/controllers/raw_silk_standard.go
+++ b/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"
 )
 
@@ -87,7 +89,7 @@
 		util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
 		return
 	}
-	util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎鎴愬姛")
+	util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
 }
 
 // GetRankStandard
@@ -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,84 @@
 	}
 	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