From 7d06c6472f1acea6b2e49e7b8837bf555e94e219 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 07 五月 2024 16:21:06 +0800
Subject: [PATCH] fox

---
 controllers/workshop_manage_controller.go |  150 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 132 insertions(+), 18 deletions(-)

diff --git a/controllers/workshop_manage_controller.go b/controllers/workshop_manage_controller.go
index 5b4b706..07df3f0 100644
--- a/controllers/workshop_manage_controller.go
+++ b/controllers/workshop_manage_controller.go
@@ -2,7 +2,9 @@
 
 import (
 	"github.com/gin-gonic/gin"
+	"gorm.io/gorm"
 	"silkserver/controllers/request"
+	"silkserver/controllers/response"
 	"silkserver/extend/code"
 	"silkserver/extend/util"
 	"silkserver/models"
@@ -14,15 +16,13 @@
 
 // SaveWorkshopManage
 //
-//	@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
-//	@Summary	淇濆瓨杞﹂棿绠$悊
-//	@Produce	application/json
-//	@Param		object	body		models.WorkshopManage	true	"鍙傛暟"
-//
-// @Param     Authorization	header string true "token"
-//
-//	@Success	200		{object}	util.Response		"鎴愬姛"
-//	@Router		/api-jl/v1/system/saveWorkshopManage [post]
+//		@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
+//		@Summary	淇濆瓨杞﹂棿绠$悊
+//		@Produce	application/json
+//		@Param		object	body		models.WorkshopManage	true	"鍙傛暟"
+//	 @Param     Authorization	header string true "token"
+//		@Success	200		{object}	util.Response		"鎴愬姛"
+//		@Router		/api-jl/v1/system/saveWorkshopManage [post]
 func (slf WorkshopManageController) SaveWorkshopManage(c *gin.Context) {
 	var workshop models.WorkshopManage
 	err := c.BindJSON(&workshop)
@@ -44,20 +44,21 @@
 
 // GetWorkshopManageList
 //
-//	@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
-//	@Summary	鑾峰彇杞﹂棿绠$悊鍒楄〃
-//	@Produce	application/json
-//	@Param		object	query		request.GetPriceStandard	true	"鍙傛暟"
-//	@Success	200		{object}	util.ResponseList{data=[]models.WorkshopManage}		"鎴愬姛"
-//	@Router		/api-jl/v1/system/getWorkshopManageList [get]
+//		@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
+//		@Summary	鑾峰彇杞﹂棿绠$悊鍒楄〃
+//		@Produce	application/json
+//	 @Param     Authorization	header string true "token"
+//		@Param		object	query		request.GetPriceStandard	true	"鍙傛暟"
+//		@Success	200		{object}	util.ResponseList{data=[]models.WorkshopManage}		"鎴愬姛"
+//		@Router		/api-jl/v1/system/getWorkshopManageList [post]
 func (slf WorkshopManageController) GetWorkshopManageList(c *gin.Context) {
 	var param request.GetWorkshopManage
-	err := c.ShouldBindQuery(&param)
+	err := c.BindJSON(&param)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
 		return
 	}
-	list, total, err := models.NewWorkshopManageSearch().SetPage(param.Page, param.PageSize).Find()
+	list, total, err := models.NewWorkshopManageSearch().SetWorkshopName(param.WorkshopName).SetGroupNumber(param.GroupNumber).SetPage(param.Page, param.PageSize).Find()
 	if err != nil {
 		util.ResponseFormat(c, code.SelectError, "鏌ヨ澶辫触")
 		return
@@ -89,5 +90,118 @@
 		util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
 		return
 	}
-	util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎鎴愬姛")
+	util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
+}
+
+// GetCarNumber
+//
+//	@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
+//	@Summary	鑾峰彇杞﹁締缂栧彿
+//	@Produce	application/json
+//	@Param     Authorization	header string true "token"
+//	@Param		object	body		request.GetWorkshopManageCar	true	"鍙傛暟"
+//	@Success	200		{object}	util.Response{data=[]int}		"鎴愬姛"
+//	@Router		/api-jl/v1/system/getCarNumber [post]
+func (slf WorkshopManageController) GetCarNumber(c *gin.Context) {
+	var params request.GetWorkshopManageCar
+	err := c.BindJSON(&params)
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		return
+	}
+	all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	carNumbers := make([]int, 0)
+	for _, manage := range all {
+		i := manage.StartCarNumber
+		for ; i <= manage.EndCarNumber; i++ {
+			carNumbers = append(carNumbers, i)
+		}
+	}
+	util.ResponseFormat(c, code.Success, carNumbers)
+}
+
+// GetWorkshopManageGroup
+//
+//	@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
+//	@Summary	鑾峰彇杞﹂棿缁勫埆
+//	@Produce	application/json
+//	@Param     Authorization	header string true "token"
+//	@Param		number	path		string			true	"number"
+//	@Success	200		{object}	util.Response{data=map[int]int}		"鎴愬姛"
+//	@Router		/api-jl/v1/system/getWorkshopManageGroup/{number} [get]
+func (slf WorkshopManageController) GetWorkshopManageGroup(c *gin.Context) {
+	number := c.Param("number")
+	if number == "" {
+		util.ResponseFormat(c, code.RequestParamError, "鏃犳晥鐨勭紪鐮�")
+		return
+	}
+	all, err := models.NewWorkshopManageSearch().SetWorkshopNumber(number).FindAll()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	groupMap := make(map[int]int)
+	for _, manage := range all {
+		groupMap[manage.GroupNumber] = manage.GroupNumber
+	}
+	util.ResponseFormat(c, code.Success, groupMap)
+}
+
+// GetCarAndLevel
+//
+//	@Tags		绯荤粺璁剧疆/杞﹂棿绠$悊
+//	@Summary	鑾峰彇杞﹁締缂栧彿鍜岀瓑绾�
+//	@Produce	application/json
+//	@Param     Authorization	header string true "token"
+//	@Param		object	body		request.GetWorkshopManageCar	true	"鍙傛暟"
+//	@Success	200		{object}	util.Response{data=response.CarAndLevel}		"鎴愬姛"
+//	@Router		/api-jl/v1/system/getCarAndLevel [post]
+func (slf WorkshopManageController) GetCarAndLevel(c *gin.Context) {
+	var params request.GetWorkshopManageCar
+	err := c.BindJSON(&params)
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		return
+	}
+	all, err := models.NewWorkshopManageSearch().SetWorkshopName(params.WorkshopName).SetGroupNumber(params.GroupNumber).FindAll()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	fineness, err := models.NewFinenessRegisterSearch().SetWorkshopName(params.WorkshopName).SetWorkshopGroup(params.GroupNumber).
+		SetMarket(params.MarketName).First()
+	if err != nil {
+		if err == gorm.ErrRecordNotFound {
+			util.ResponseFormat(c, code.RequestParamError, "褰撳墠搴勫彛,杞﹂棿,缁勫埆涓�,娌℃湁绾ゅ害鐧昏淇℃伅")
+			return
+		}
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	first, err := models.NewFinenessCheckSearch().SetID(fineness.FinenessCheckID).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	var data response.CarAndLevel
+	data.Level = first.FinenessGrade
+
+	carNum := make([][]int, 0)
+	for _, manage := range all {
+		car := make([]int, 0)
+		i := manage.StartCarNumber
+		for ; i <= manage.EndCarNumber; i++ {
+			car = append(car, i)
+		}
+		if len(car) > 0 {
+			carNum = append(carNum, car)
+		}
+	}
+	data.Car = carNum
+
+	util.ResponseFormat(c, code.Success, data)
 }

--
Gitblit v1.8.0