From 7d80867c1d2d8340da8e106b4af2ceaba3fc9fc1 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 19 三月 2024 19:16:50 +0800
Subject: [PATCH] 增加发货完成按钮

---
 api/v1/salesDetails.go        |   34 +++++++++++
 model/request/salesDetails.go |    5 +
 router/salesDetails.go        |    1 
 docs/swagger.yaml             |   24 ++++++++
 docs/docs.go                  |   38 ++++++++++++
 docs/swagger.json             |   38 ++++++++++++
 6 files changed, 140 insertions(+), 0 deletions(-)

diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go
index 9386b24..1de5dca 100644
--- a/api/v1/salesDetails.go
+++ b/api/v1/salesDetails.go
@@ -446,6 +446,40 @@
 	ctx.OkWithDetailed(nil)
 }
 
+// confirmOutputOver
+// @Tags    SalesDetails
+// @Summary	纭鍙戣揣
+// @Produce	application/json
+// @Param		object 	body request.ConfirmOutputOver	true	"鏄庣粏缂栫爜"
+// @Success	200	{object}	response.ListResponse
+// @Router		/api/salesDetails/confirmOutputOver [post]
+func (s *SalesDetailsApi) ConfirmOutputOver(c *gin.Context) {
+	var params request.ConfirmOutput
+	ctx, ok := contextx.NewContext(c, &params)
+	if !ok {
+		return
+	}
+	if params.SaleDetailNumber == "" {
+		ctx.FailWithMsg(ecode.ParamsErr, "鍙傛暟缂哄け")
+		return
+	}
+
+	salesDetails, err := salesDetailsService.GetSalesDetailsByNumber(params.SaleDetailNumber)
+	if err == gorm.ErrRecordNotFound || salesDetails.Number != params.SaleDetailNumber {
+		ctx.FailWithMsg(ecode.ParamsErr, "閿�鍞鍗曚笉瀛樺湪")
+		return
+	}
+
+	err = model.NewSalesDetailsSearch().SetId(salesDetails.Id).UpdateByMap(map[string]interface{}{"status": constvar.OverOutbound})
+
+	if err != nil {
+		ctx.FailWithMsg(ecode.DBErr, "淇敼澶辫触")
+		return
+	}
+
+	ctx.OkWithDetailed(nil)
+}
+
 // GetDeliveryList
 // @Tags		SalesDetails
 // @Summary	鍙戣揣鏄庣粏
diff --git a/docs/docs.go b/docs/docs.go
index e2c9bbf..875b1b9 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -7038,6 +7038,36 @@
                 }
             }
         },
+        "/api/salesDetails/confirmOutputOver": {
+            "post": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SalesDetails"
+                ],
+                "summary": "纭鍙戣揣",
+                "parameters": [
+                    {
+                        "description": "鏄庣粏缂栫爜",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.ConfirmOutputOver"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/response.ListResponse"
+                        }
+                    }
+                }
+            }
+        },
         "/api/salesDetails/delete": {
             "delete": {
                 "produces": [
@@ -15549,6 +15579,14 @@
                 }
             }
         },
+        "request.ConfirmOutputOver": {
+            "type": "object",
+            "properties": {
+                "saleDetailNumber": {
+                    "type": "string"
+                }
+            }
+        },
         "request.ConfirmOutputProducts": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 8309fa6..a2f030c 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -7026,6 +7026,36 @@
                 }
             }
         },
+        "/api/salesDetails/confirmOutputOver": {
+            "post": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SalesDetails"
+                ],
+                "summary": "纭鍙戣揣",
+                "parameters": [
+                    {
+                        "description": "鏄庣粏缂栫爜",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.ConfirmOutputOver"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/response.ListResponse"
+                        }
+                    }
+                }
+            }
+        },
         "/api/salesDetails/delete": {
             "delete": {
                 "produces": [
@@ -15537,6 +15567,14 @@
                 }
             }
         },
+        "request.ConfirmOutputOver": {
+            "type": "object",
+            "properties": {
+                "saleDetailNumber": {
+                    "type": "string"
+                }
+            }
+        },
         "request.ConfirmOutputProducts": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 4980a47..a7535cd 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -3466,6 +3466,11 @@
       saleDetailNumber:
         type: string
     type: object
+  request.ConfirmOutputOver:
+    properties:
+      saleDetailNumber:
+        type: string
+    type: object
   request.ConfirmOutputProducts:
     properties:
       number:
@@ -10904,6 +10909,25 @@
       summary: 纭鍙戣揣
       tags:
       - SalesDetails
+  /api/salesDetails/confirmOutputOver:
+    post:
+      parameters:
+      - description: 鏄庣粏缂栫爜
+        in: body
+        name: object
+        required: true
+        schema:
+          $ref: '#/definitions/request.ConfirmOutputOver'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            $ref: '#/definitions/response.ListResponse'
+      summary: 纭鍙戣揣
+      tags:
+      - SalesDetails
   /api/salesDetails/delete:
     delete:
       parameters:
diff --git a/model/request/salesDetails.go b/model/request/salesDetails.go
index 29f6fb2..33ac99e 100644
--- a/model/request/salesDetails.go
+++ b/model/request/salesDetails.go
@@ -63,6 +63,11 @@
 	Products         []ConfirmOutputProducts `json:"products"`
 }
 
+// ConfirmOutputOver 纭鍙戣揣瀹屾垚
+type ConfirmOutputOver struct {
+	SaleDetailNumber string `json:"saleDetailNumber"`
+}
+
 type ConfirmOutputProducts struct {
 	Number       string          `json:"number"`       //浜у搧缂栧彿
 	OutputAmount decimal.Decimal `json:"outputAmount"` //鏈鍙戣揣鏁伴噺
diff --git a/router/salesDetails.go b/router/salesDetails.go
index 75e32aa..0ab6f54 100644
--- a/router/salesDetails.go
+++ b/router/salesDetails.go
@@ -25,6 +25,7 @@
 		salesDetailsRouter.POST("getDeliveryPrepareInfo", salesDetailsApi.GetDeliveryPrepareInfo) // 鍙戣揣鍑嗗
 		salesDetailsRouter.POST("getDeliveryList", salesDetailsApi.GetDeliveryList)               // 鍙戣揣鏄庣粏
 		salesDetailsRouter.POST("confirmOutput", salesDetailsApi.ConfirmOutput)                   // 纭鍙戣揣
+		salesDetailsRouter.POST("confirmOutputOver", salesDetailsApi.ConfirmOutputOver)           // 鍙戣揣瀹屾垚
 
 	}
 }

--
Gitblit v1.8.0