From 6db46482ae4c8dac7161a0e9ded92cff5db7c1a4 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期五, 01 三月 2024 11:51:41 +0800 Subject: [PATCH] 车间管理接口开发 --- constvar/const.go | 8 + /dev/null | 6 - controllers/request/system_set.go | 12 ++ models/workshop_manage.go | 110 ++++++++++++++++++++++ controllers/workshop_manage_controller.go | 90 ++++++++++++++++++ models/raw_silk_price_standard.go | 2 router/router.go | 22 ++-- 7 files changed, 233 insertions(+), 17 deletions(-) diff --git a/constvar/const.go b/constvar/const.go index 34d9dc1..5a024d3 100644 --- a/constvar/const.go +++ b/constvar/const.go @@ -16,3 +16,11 @@ UserTypePrimary // 涓昏处鎴� UserTypeSub // 瀛愯处鎴� ) + +type CarFlag int + +const ( + LeftHalfCar CarFlag = iota + 1 //宸﹀崐杞� + RightHalfCar //鍙冲崐杞� + AllCar //鍏ㄨ溅 +) diff --git a/controllers/request/raw_silk_standard_request.go b/controllers/request/raw_silk_standard_request.go deleted file mode 100644 index dd0ebc5..0000000 --- a/controllers/request/raw_silk_standard_request.go +++ /dev/null @@ -1,6 +0,0 @@ -package request - -type GetPriceStandard struct { - PageInfo - KeyWord string `json:"keyWord"` -} diff --git a/controllers/request/dict.go b/controllers/request/system_set.go similarity index 60% rename from controllers/request/dict.go rename to controllers/request/system_set.go index 86c6847..c87cd33 100644 --- a/controllers/request/dict.go +++ b/controllers/request/system_set.go @@ -18,3 +18,15 @@ ID uint `gorm:"comment:涓婚敭ID;primaryKey;" json:"id"` AddDict } + +// ---------------------------------------鐢熶笣--------------------------------- +type GetPriceStandard struct { + PageInfo + KeyWord string `json:"keyWord"` +} + +// ---------------------------------------杞﹂棿--------------------------------- +type GetWorkshopManage struct { + PageInfo + KeyWord string `json:"keyWord"` +} diff --git a/controllers/workshop_manage_controller.go b/controllers/workshop_manage_controller.go new file mode 100644 index 0000000..c1c85c2 --- /dev/null +++ b/controllers/workshop_manage_controller.go @@ -0,0 +1,90 @@ +package controllers + +import ( + "github.com/gin-gonic/gin" + "silkserver/controllers/request" + "silkserver/extend/code" + "silkserver/extend/util" + "silkserver/models" + "strconv" +) + +type WorkshopManageController struct { +} + +// SaveWorkshopManage +// +// @Tags 绯荤粺璁剧疆/杞﹂棿绠$悊 +// @Summary 淇濆瓨杞﹂棿绠$悊 +// @Produce application/json +// @Param object body models.WorkshopManage true "鍙傛暟" +// @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) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + if workshop.ID > 0 { + err = models.NewWorkshopManageSearch().Save(&workshop) + } else { + err = models.NewWorkshopManageSearch().Create(&workshop) + } + if err != nil { + util.ResponseFormat(c, code.SaveFail, "淇濆瓨澶辫触") + return + } + util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛") +} + +// 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] +func (slf WorkshopManageController) GetWorkshopManageList(c *gin.Context) { + var param request.GetWorkshopManage + err := c.ShouldBindQuery(¶m) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + list, total, err := models.NewWorkshopManageSearch().SetPage(param.Page, param.PageSize).Find() + if err != nil { + util.ResponseFormat(c, code.SelectError, "鏌ヨ澶辫触") + return + } + util.ResponseFormatList(c, code.Success, list, total) +} + +// DeleteWorkshopManage +// +// @Tags 绯荤粺璁剧疆/杞﹂棿绠$悊 +// @Summary 鍒犻櫎杞﹂棿绠$悊 +// @Produce application/json +// @Param id path string true "id" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-jl/v1/system/deleteWorkshopManage/{id} [delete] +func (slf WorkshopManageController) DeleteWorkshopManage(c *gin.Context) { + id := c.Param("id") + if id == "" { + util.ResponseFormat(c, code.RequestParamError, "鏃犳晥鐨刬d") + return + } + atoi, err := strconv.Atoi(id) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲澶辫触") + return + } + err = models.NewWorkshopManageSearch().SetId(atoi).Delete() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触") + return + } + util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎鎴愬姛") +} diff --git a/models/raw_silk_price_standard.go b/models/raw_silk_price_standard.go index 79fd7cd..b8390dd 100644 --- a/models/raw_silk_price_standard.go +++ b/models/raw_silk_price_standard.go @@ -7,7 +7,7 @@ "silkserver/pkg/mysqlx" ) -// RawSilkPriceStandard +// RawSilkPriceStandard 鐢熶笣瀹氫环绠$悊 type ( RawSilkPriceStandard struct { gorm.Model diff --git a/models/workshop_manage.go b/models/workshop_manage.go new file mode 100644 index 0000000..6d920cb --- /dev/null +++ b/models/workshop_manage.go @@ -0,0 +1,110 @@ +package models + +import ( + "fmt" + "gorm.io/gorm" + "silkserver/constvar" + "silkserver/pkg/mysqlx" +) + +// WorkshopManage 杞﹂棿绠$悊 +type ( + WorkshopManage struct { + gorm.Model + WorkshopNumber string `json:"workshopNumber" gorm:"type:varchar(255);comment:杞﹂棿缂栧彿"` + GroupNumber int `json:"groupNumber" gorm:"type:int(11);comment:缁勫埆"` + StartCarNumber int `json:"startCarNumber" gorm:"type:int(11);comment:缁勫埆"` + EndCarNumber int `json:"endCarNumber" gorm:"type:int(11);comment:缁勫埆"` + CarFlag constvar.CarFlag `json:"carFlag" gorm:"type:int(1);comment:鍗婅溅鏍囧織"` + Notes string `json:"notes" gorm:"type:varchar(255);comment:澶囨敞"` + } + WorkshopManageSearch struct { + WorkshopManage + PageNum int + PageSize int + Orm *gorm.DB + } +) + +func (slf WorkshopManage) TableName() string { + return "workshop_manage" +} + +func NewWorkshopManageSearch() *WorkshopManageSearch { + return &WorkshopManageSearch{Orm: mysqlx.GetDB()} +} + +func (slf *WorkshopManageSearch) SetOrm(tx *gorm.DB) *WorkshopManageSearch { + slf.Orm = tx + return slf +} + +func (slf *WorkshopManageSearch) SetPage(page, size int) *WorkshopManageSearch { + slf.PageNum, slf.PageSize = page, size + return slf +} + +func (slf *WorkshopManageSearch) SetId(id int) *WorkshopManageSearch { + slf.ID = uint(id) + return slf +} + +func (slf *WorkshopManageSearch) build() *gorm.DB { + db := slf.Orm.Table(slf.TableName()) + + if slf.ID > 0 { + db = db.Where("id = ?", slf.ID) + } + + return db +} + +// Create 鍗曟潯鎻掑叆 +func (slf *WorkshopManageSearch) Create(record *WorkshopManage) error { + db := slf.build() + err := db.Create(record).Error + if err != nil { + return fmt.Errorf("create err: %v, record: %+v", err, record) + } + return nil +} + +func (slf *WorkshopManageSearch) Find() ([]*WorkshopManage, int64, error) { + var ( + records = make([]*WorkshopManage, 0) + total int64 + db = slf.build() + ) + + if err := db.Count(&total).Error; err != nil { + return records, total, fmt.Errorf("find count err: %v", err) + } + if slf.PageNum*slf.PageSize > 0 { + db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) + } + if err := db.Find(&records).Error; err != nil { + return records, total, fmt.Errorf("find records err: %v", err) + } + + return records, total, nil +} + +func (slf *WorkshopManageSearch) Save(record *WorkshopManage) error { + var db = slf.build() + + if err := db.Save(record).Error; err != nil { + return fmt.Errorf("save err: %v, record: %+v", err, record) + } + + return nil +} + +func (slf *WorkshopManageSearch) Delete() error { + var db = slf.build() + + if err := db.Unscoped().Delete(&WorkshopManage{}).Error; err != nil { + return err + } + + return nil +} diff --git a/router/router.go b/router/router.go index f2ae3a2..6d495b6 100644 --- a/router/router.go +++ b/router/router.go @@ -23,14 +23,25 @@ urlPrefix := "/api-jl/v1" - // 璇嶅吀绠$悊 + // 绯荤粺璁剧疆 DictController := new(controllers.DictController) + rawSilkController := new(controllers.RawSilkStandardController) + workshopController := new(controllers.WorkshopManageController) systemApi := r.Group(urlPrefix + "/system") { + //璇嶅吀绠$悊 systemApi.GET("dict", DictController.List) // 鑾峰彇璇嶅吀鍒楄〃 systemApi.POST("dict", DictController.Add) // 鏂板璇嶅吀 systemApi.PUT("dict", DictController.Update) // 淇敼璇嶅吀 systemApi.DELETE("dict/:id", DictController.Delete) // 鍒犻櫎璇嶅吀 + // 鐢熶笣绠$悊 + systemApi.GET("getPriceStandardList", rawSilkController.GetPriceStandardList) //鑾峰彇鐢熶笣瀹氫环鏍囧噯 + systemApi.POST("savePriceStandard", rawSilkController.SavePriceStandard) //淇濆瓨鐢熶笣瀹氫环鏍囧噯 + systemApi.DELETE("deletePriceStandard/:id", rawSilkController.DeletePriceStandard) //鍒犻櫎鐢熶笣瀹氫环鏍囧噯 + //杞﹂棿绠$悊 + systemApi.GET("getWorkshopManageList", workshopController.GetWorkshopManageList) //鑾峰彇杞﹂棿绠$悊鍒楄〃 + systemApi.POST("saveWorkshopManage", workshopController.SaveWorkshopManage) //淇濆瓨杞﹂棿绠$悊 + systemApi.DELETE("deleteWorkshopManage/:id", workshopController.DeleteWorkshopManage) //鍒犻櫎杞﹂棿绠$悊 } // 鐢熶骇绠$悊 @@ -41,15 +52,6 @@ finenessApi.DELETE("register/:id", FinenessController.Delete) // 鍒犻櫎绾ゅ害鐧昏 finenessApi.POST("register", FinenessController.Add) // 鏂板绾ゅ害鐧昏 finenessApi.GET("register/:id", FinenessController.Info) // 鑾峰彇绾ゅ害鐧昏璇︽儏 - } - - // 鐢熶笣绠$悊 - rawSilkController := new(controllers.RawSilkStandardController) - rawSilkApi := r.Group(urlPrefix + "/system") - { - rawSilkApi.GET("getPriceStandardList", rawSilkController.GetPriceStandardList) //鑾峰彇鐢熶笣瀹氫环鏍囧噯 - rawSilkApi.POST("savePriceStandard", rawSilkController.SavePriceStandard) //淇濆瓨鐢熶笣瀹氫环鏍囧噯 - rawSilkApi.DELETE("DeletePriceStandard/:id", rawSilkController.DeletePriceStandard) //鍒犻櫎鐢熶笣瀹氫环鏍囧噯 } return r -- Gitblit v1.8.0