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 | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 52 insertions(+), 4 deletions(-) diff --git a/controllers/yield_register_controller.go b/controllers/yield_register_controller.go index 6a5c9db..8eca9d8 100644 --- a/controllers/yield_register_controller.go +++ b/controllers/yield_register_controller.go @@ -35,6 +35,20 @@ util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲澶辫触") return } + circles := make([]*models.YieldRegisterCircle, 0) + for _, circle := range yield.Circles { + for _, circleInfo := range params.Circles { + if circle.CarNumber == circleInfo.CarNumber && circle.Circle == circleInfo.Circle { + for _, number := range circleInfo.PieceNumbers { + data := *circle + data.PieceNumber = number.PieceNumber + data.Value = number.Value + circles = append(circles, &data) + } + } + } + } + yield.Circles = circles if yield.ID > 0 { //鏇存柊 err = models.WithTransaction(func(db *gorm.DB) error { @@ -56,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, "淇濆瓨澶辫触") @@ -94,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 } } } @@ -107,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 @@ -121,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 @@ -162,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