From e695d7c697196a36f8cdafc90e6a403a12707591 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期六, 21 十月 2023 17:43:36 +0800
Subject: [PATCH] 1.拆分报废、调拨、盘点列表接口

---
 controllers/product_controller.go |    4 +---
 controllers/operation.go          |   17 ++++++++++-------
 models/operation.go               |    8 ++++++++
 docs/swagger.yaml                 |    6 ++++--
 request/operation.go              |    5 +++--
 docs/docs.go                      |    7 +++++--
 docs/swagger.json                 |    7 +++++--
 router/router.go                  |    2 +-
 8 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index dc07598..7f0bad0 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -128,8 +128,8 @@
 		return errors.New("璇峰~鍏ユ簮鍗曞彿")
 	}
 
-	if params.OperationTypeId == 0 {
-		return errors.New("operationTypeId涓�0")
+	if params.OperationTypeId == 0 || int(params.BaseOperationType) == 0 {
+		return errors.New("鏈瘑鍒璁板綍绫诲瀷")
 	}
 
 	if params.OperationDate == "" {
@@ -177,6 +177,9 @@
 	search.SetPage(params.Page, params.PageSize)
 	if params.Number != "" {
 		search.SetKeyword(params.Number)
+	}
+	if int(params.Status) != 0 {
+		search.SetStatus(params.Status)
 	}
 	list, total, err := search.SetOperationTypeId(params.OperationTypeId).SetPreload(true).SetOrder("created_at desc").Find()
 	if err != nil {
@@ -440,14 +443,14 @@
 	util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛")
 }
 
-// ListAll
+// listTransfer
 // @Tags      鍏ュ簱/鍑哄簱
-// @Summary   璋冩嫧
+// @Summary   搴撳瓨璋冩嫧鍒楄〃
 // @Produce   application/json
 // @Param     object  body  request.OperationAllList true  "鍙傛暟"
 // @Success   200 {object} util.Response "鎴愬姛"
-// @Router    /api-wms/v1/operation/listAll [post]
-func (slf OperationController) ListAll(c *gin.Context) {
+// @Router    /api-wms/v1/operation/listTransfer [post]
+func (slf OperationController) ListTransfer(c *gin.Context) {
 	var params request.OperationAllList
 	if err := c.BindJSON(&params); err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�:"+err.Error())
@@ -463,7 +466,7 @@
 	if params.Number != "" {
 		search.SetKeyword(params.Number)
 	}
-	list, total, err := search.SetPreload(true).SetOrder("created_at desc").Find()
+	list, total, err := search.SetPreload(true).SetBaseOperationType(constvar.BaseOperationTypeInternal).SetOrder("created_at desc").Find()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error())
 		return
diff --git a/controllers/product_controller.go b/controllers/product_controller.go
index 2903cb3..7bd1f90 100644
--- a/controllers/product_controller.go
+++ b/controllers/product_controller.go
@@ -399,9 +399,7 @@
 		return
 	}
 
-	//db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,wms_operation_details.product_name,wms_operation_details.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id")
-
-	db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,material.name as product_name,material.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").InnerJoins("inner join material on material.id=wms_operation_details.product_id")
+	db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,material.name as product_name,material.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").InnerJoins("inner join material on material.id=wms_operation_details.product_id").Where("wms_operation.base_operation_type=?", constvar.BaseOperationTypeDisuse)
 
 	if params.Number != "" {
 		db = db.Where("wms_operation.number like ? or wms_operation.source_number like ? or material.name like ?", fmt.Sprintf("%%%v%%", params.Number), fmt.Sprintf("%%%v%%", params.Number), fmt.Sprintf("%%%v%%", params.Number))
diff --git a/docs/docs.go b/docs/docs.go
index 61803f5..ef5a6d6 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -943,7 +943,7 @@
                 }
             }
         },
-        "/api-wms/v1/operation/listAll": {
+        "/api-wms/v1/operation/listTransfer": {
             "post": {
                 "produces": [
                     "application/json"
@@ -951,7 +951,7 @@
                 "tags": [
                     "鍏ュ簱/鍑哄簱"
                 ],
-                "summary": "璋冩嫧",
+                "summary": "搴撳瓨璋冩嫧鍒楄〃",
                 "parameters": [
                     {
                         "description": "鍙傛暟",
@@ -3192,6 +3192,9 @@
                 "pageSize": {
                     "description": "姣忛〉澶у皬",
                     "type": "integer"
+                },
+                "status": {
+                    "$ref": "#/definitions/constvar.OperationStatus"
                 }
             }
         },
diff --git a/docs/swagger.json b/docs/swagger.json
index 54e4fa3..971a4ab 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -931,7 +931,7 @@
                 }
             }
         },
-        "/api-wms/v1/operation/listAll": {
+        "/api-wms/v1/operation/listTransfer": {
             "post": {
                 "produces": [
                     "application/json"
@@ -939,7 +939,7 @@
                 "tags": [
                     "鍏ュ簱/鍑哄簱"
                 ],
-                "summary": "璋冩嫧",
+                "summary": "搴撳瓨璋冩嫧鍒楄〃",
                 "parameters": [
                     {
                         "description": "鍙傛暟",
@@ -3180,6 +3180,9 @@
                 "pageSize": {
                     "description": "姣忛〉澶у皬",
                     "type": "integer"
+                },
+                "status": {
+                    "$ref": "#/definitions/constvar.OperationStatus"
                 }
             }
         },
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index b126c9c..a2594cc 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -914,6 +914,8 @@
       pageSize:
         description: 姣忛〉澶у皬
         type: integer
+      status:
+        $ref: '#/definitions/constvar.OperationStatus'
     type: object
   request.PageInfo:
     properties:
@@ -1844,7 +1846,7 @@
       summary: 鍏ュ簱/鍑哄簱鍒楄〃
       tags:
       - 鍏ュ簱/鍑哄簱
-  /api-wms/v1/operation/listAll:
+  /api-wms/v1/operation/listTransfer:
     post:
       parameters:
       - description: 鍙傛暟
@@ -1860,7 +1862,7 @@
           description: 鎴愬姛
           schema:
             $ref: '#/definitions/util.Response'
-      summary: 璋冩嫧
+      summary: 搴撳瓨璋冩嫧鍒楄〃
       tags:
       - 鍏ュ簱/鍑哄簱
   /api-wms/v1/operation/operation:
diff --git a/models/operation.go b/models/operation.go
index 5a126b3..cd60146 100644
--- a/models/operation.go
+++ b/models/operation.go
@@ -111,6 +111,10 @@
 	slf.Status = status
 	return slf
 }
+func (slf *OperationSearch) SetBaseOperationType(baseOperationType constvar.BaseOperationType) *OperationSearch {
+	slf.BaseOperationType = baseOperationType
+	return slf
+}
 
 func (slf *OperationSearch) build() *gorm.DB {
 	var db = slf.Orm.Model(&Operation{})
@@ -154,6 +158,10 @@
 		db = db.Where("status = ?", slf.Status)
 	}
 
+	if int(slf.BaseOperationType) != 0 {
+		db = db.Where("base_operation_type=?", slf.BaseOperationType)
+	}
+
 	return db
 }
 
diff --git a/request/operation.go b/request/operation.go
index a507a13..ba5b594 100644
--- a/request/operation.go
+++ b/request/operation.go
@@ -40,8 +40,9 @@
 
 type OperationList struct {
 	PageInfo
-	OperationTypeId int    `json:"operationTypeId" form:"operationTypeId"`
-	Number          string `json:"number"`
+	OperationTypeId int                      `json:"operationTypeId" form:"operationTypeId"`
+	Number          string                   `json:"number"`
+	Status          constvar.OperationStatus `json:"status"`
 }
 
 type UpdateOperation struct {
diff --git a/router/router.go b/router/router.go
index 1ac4c3f..cdc3be6 100644
--- a/router/router.go
+++ b/router/router.go
@@ -82,7 +82,7 @@
 		operationAPI.POST("update", operationController.Update)
 		operationAPI.DELETE("operation/:id", operationController.Delete)
 		operationAPI.PUT("finish/:id", operationController.Finish)
-		operationAPI.POST("listAll", operationController.ListAll)
+		operationAPI.POST("listTransfer", operationController.ListTransfer)
 
 	}
 

--
Gitblit v1.8.0