From cc7c2094568ea8f9d1697da5ed0a2c759ca81abd Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期五, 30 八月 2024 17:18:30 +0800
Subject: [PATCH] 方法修改,修改薪资列表,添加分页查询

---
 controllers/yield_register_controller.go |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/controllers/yield_register_controller.go b/controllers/yield_register_controller.go
index a5412f6..8eca9d8 100644
--- a/controllers/yield_register_controller.go
+++ b/controllers/yield_register_controller.go
@@ -38,7 +38,7 @@
 	circles := make([]*models.YieldRegisterCircle, 0)
 	for _, circle := range yield.Circles {
 		for _, circleInfo := range params.Circles {
-			if circle.CarNumber == circleInfo.CarNumber {
+			if circle.CarNumber == circleInfo.CarNumber && circle.Circle == circleInfo.Circle {
 				for _, number := range circleInfo.PieceNumbers {
 					data := *circle
 					data.PieceNumber = number.PieceNumber
@@ -70,6 +70,11 @@
 		}
 	} else {
 		//淇濆瓨
+		count, _ := models.NewYieldRegisterSearch().SetNumber(yield.Number).Count()
+		if count > 0 {
+			util.ResponseFormat(c, code.RequestParamError, "缂栫爜宸插瓨鍦�")
+			return
+		}
 		err = models.NewYieldRegisterSearch().Create(&yield)
 		if err != nil {
 			util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
@@ -108,7 +113,9 @@
 		for _, dict := range all {
 			if register.MarketId == dict.ID {
 				register.MarketName = dict.Name
-				break
+			}
+			if register.WorkshopNumber == dict.Number {
+				register.WorkshopName = dict.Name
 			}
 		}
 	}
@@ -121,7 +128,7 @@
 //	@Summary	鑾峰彇浜ч噺鐧昏琛ㄨ鎯�
 //	@Produce	application/json
 //	@Param		object	body		request.GetYieldRegisterList	true	"鍙傛暟"
-//	@Success	200		{object}	util.Response{data=models.YieldRegister}		"鎴愬姛"
+//	@Success	200		{object}	util.Response{data=request.YieldRegisterInfo}		"鎴愬姛"
 //	@Router		/api-jl/v1/fineness/getYieldRegisterInfo [post]
 func (slf YieldRegisterController) GetYieldRegisterInfo(c *gin.Context) {
 	var params request.GetYieldRegisterList
@@ -135,7 +142,34 @@
 		util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触")
 		return
 	}
-	util.ResponseFormat(c, code.Success, register)
+	var data request.YieldRegisterInfo
+	err = structx.AssignTo(register, &data)
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲澶辫触")
+		return
+	}
+	circleInfos := make([]request.YieldRegisterCircleInfo, 0)
+	flagMap := make(map[int]bool)
+	for _, circle := range data.Circles {
+		//闃叉閲嶅
+		num := circle.CarNumber*10000 + circle.Circle*100
+		if flagMap[num] {
+			continue
+		}
+		ci := circle
+		for _, registerCircle := range register.Circles {
+			if circle.CarNumber == registerCircle.CarNumber && circle.Circle == registerCircle.Circle {
+				var pi request.PieceInfo
+				pi.PieceNumber = registerCircle.PieceNumber
+				pi.Value = registerCircle.Value
+				ci.PieceNumbers = append(ci.PieceNumbers, pi)
+			}
+		}
+		flagMap[num] = true
+		circleInfos = append(circleInfos, ci)
+	}
+	data.Circles = circleInfos
+	util.ResponseFormat(c, code.Success, data)
 }
 
 // DeleteYieldRegister
@@ -176,7 +210,7 @@
 		return
 	}
 	first, err := models.NewYieldRegisterSearch().SetGroupNumber(params.GroupNumber).SetCreateTime(params.CreateTime).
-		SetMarketId(params.MarketId).SetWorkshopId(params.WorkshopId).SetSpec(params.Spec).SetPreload(true).First()
+		SetMarketId(params.MarketId).SetWorkshopNumber(params.WorkshopNumber).SetSpec(params.Spec).SetPreload(true).First()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触")
 		return

--
Gitblit v1.8.0