From d6aea9913510936bde157e22a1f7042a0eb33ac3 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 28 四月 2024 10:36:50 +0800
Subject: [PATCH] 时间范围和该工人以往添加记录重复性校验
---
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..8cf5c99 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(¶m)
+ err := c.BindJSON(¶m)
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(¶ms)
+ 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(¶ms)
+ 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().SetWorkshop(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