From ea0cff094c11ffe6c16daf5faf4b4e02aa234412 Mon Sep 17 00:00:00 2001
From: dsmzx <dsmzx@123.com>
Date: 星期二, 25 六月 2024 13:53:36 +0800
Subject: [PATCH] 出库/入库 打印 fileTemplateAttachment中添加仓库id和const中添加两个模板属性

---
 constvar/const.go                  |   10 +++--
 controllers/operation.go           |   66 ++++++++++++++++++++++++++++++---
 models/file_template_attachment.go |   14 +++++-
 3 files changed, 77 insertions(+), 13 deletions(-)

diff --git a/constvar/const.go b/constvar/const.go
index e2dc960..c128d57 100644
--- a/constvar/const.go
+++ b/constvar/const.go
@@ -286,10 +286,12 @@
 type FileTemplateCategory int
 
 const (
-	FileTemplateCategory_Selfmade      FileTemplateCategory = iota + 1 //鍏ュ簱-鑷埗
-	FileTemplateCategory_Output                                        //鍑哄簱
-	FileTemplateCategory_JialianInput  = 14                            //鍢夎仈鍏ュ簱
-	FileTemplateCategory_JialianOutput = 15                            //鍢夎仈鍑哄簱
+	FileTemplateCategory_Selfmade        FileTemplateCategory = iota + 1 //鍏ュ簱-鑷埗
+	FileTemplateCategory_Output                                          //鍑哄簱
+	FileTemplateCategory_JialianInput1   = 14                            //鍢夎仈鍏ュ簱妯℃澘1
+	FileTemplateCategory_JialianOutput1  = 15                            //鍢夎仈鍑哄簱妯″潡1
+	FileWarehouseCategory_JialianInput2  = 16                            //鍢夎仈鍏ュ簱妯℃澘2
+	FileWarehouseCategory_JialianOutput2 = 17                            //鍢夎仈鍑哄簱妯″潡2
 )
 
 type CodeStandardType string
diff --git a/controllers/operation.go b/controllers/operation.go
index 2b5fdc5..cc7030d 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -697,7 +697,7 @@
 	util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛")
 }
 
-// outputOperation
+// OutputOperation
 //
 //	@Tags		鍏ュ簱/鍑哄簱
 //	@Summary	鎵撳嵃
@@ -737,10 +737,37 @@
 	if operation.BaseOperationType == constvar.BaseOperationTypeIncoming {
 		if companyName == "jialian" {
 			// 鍏ュ簱
-			fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianInput, operation)
+			oT, err := models.NewOperationTypeSearch().SetID(uint(operation.OperationTypeId)).First()
 			if err != nil {
 				util.ResponseFormat(c, code.RequestParamError, err.Error())
 				return
+			}
+			fileTemplateAttachments, err := models.NewFileTemplateAttachmentSearch().SetWarehouseId(oT.WarehouseId).Find()
+			if err != nil {
+				util.ResponseFormat(c, code.RequestParamError, err.Error())
+				return
+			}
+			for _, fileTemplateAttachment := range fileTemplateAttachments {
+				if fileTemplateAttachment.Category == constvar.FileTemplateCategory_JialianInput1 {
+					//fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianInput1, operation)
+					fileUrl, err = JialianOperation(fileTemplateAttachment.Category, operation)
+					// 鍑哄簱
+					//fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianOutput1, operation)
+					if err != nil {
+						util.ResponseFormat(c, code.RequestParamError, err.Error())
+						return
+					}
+					break
+				} else if fileTemplateAttachment.Category == constvar.FileWarehouseCategory_JialianInput2 {
+					fileUrl, err = JialianOperation(fileTemplateAttachment.Category, operation)
+					// 鍑哄簱
+					//fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianOutput1, operation)
+					if err != nil {
+						util.ResponseFormat(c, code.RequestParamError, err.Error())
+						return
+					}
+					break
+				}
 			}
 		} else if companyName == "geruimi" {
 			fileUrl, err = ExportInputSelfmade(constvar.FileTemplateCategory_Selfmade, operation)
@@ -751,12 +778,39 @@
 		}
 	} else if operation.BaseOperationType == constvar.BaseOperationTypeOutgoing { // 浜よ揣
 		if companyName == "jialian" {
-			// 鍑哄簱
-			fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianOutput, operation)
+			oT, err := models.NewOperationTypeSearch().SetID(uint(operation.OperationTypeId)).First()
 			if err != nil {
 				util.ResponseFormat(c, code.RequestParamError, err.Error())
 				return
 			}
+			fileTemplateAttachments, err := models.NewFileTemplateAttachmentSearch().SetWarehouseId(oT.WarehouseId).Find()
+			if err != nil {
+				util.ResponseFormat(c, code.RequestParamError, err.Error())
+				return
+			}
+			for _, fileTemplateAttachment := range fileTemplateAttachments {
+				if fileTemplateAttachment.Category == constvar.FileTemplateCategory_JialianOutput1 {
+					//fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianInput1, operation)
+					fileUrl, err = JialianOperation(fileTemplateAttachment.Category, operation)
+					// 鍑哄簱
+					//fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianOutput1, operation)
+					if err != nil {
+						util.ResponseFormat(c, code.RequestParamError, err.Error())
+						return
+					}
+					break
+				} else if fileTemplateAttachment.Category == constvar.FileWarehouseCategory_JialianOutput2 {
+					fileUrl, err = JialianOperation(fileTemplateAttachment.Category, operation)
+					// 鍑哄簱
+					//fileUrl, err = JialianOperation(constvar.FileTemplateCategory_JialianOutput1, operation)
+					if err != nil {
+						util.ResponseFormat(c, code.RequestParamError, err.Error())
+						return
+					}
+					break
+				}
+			}
+
 		} else if companyName == "geruimi" {
 			fileUrl, err = ExportInputSelfmade(constvar.FileTemplateCategory_Output, operation)
 			if err != nil {
@@ -800,9 +854,9 @@
 	defer f.Close()
 
 	sheet := "Sheet1"
-	if category == constvar.FileTemplateCategory_JialianInput {
+	if category == constvar.FileTemplateCategory_JialianInput1 {
 		sheet = "鍏ュ簱鍗�"
-	} else if category == constvar.FileTemplateCategory_JialianOutput {
+	} else if category == constvar.FileTemplateCategory_JialianOutput1 {
 		sheet = "鍑哄簱鍗�"
 	}
 
diff --git a/models/file_template_attachment.go b/models/file_template_attachment.go
index a55c0db..1b1a89f 100644
--- a/models/file_template_attachment.go
+++ b/models/file_template_attachment.go
@@ -10,9 +10,10 @@
 type (
 	FileTemplateAttachment struct {
 		WmsModel
-		Id       int                           `json:"id"  gorm:"column:id;primary_key;AUTO_INCREMENT"`
-		Category constvar.FileTemplateCategory `json:"category" gorm:"type:int(11);comment:妯$増绉嶇被"`
-		Name     string                        `json:"name" gorm:"type:varchar(63);comment:妯$増鍚嶇О"`
+		Id          int                           `json:"id"  gorm:"column:id;primary_key;AUTO_INCREMENT"`
+		Category    constvar.FileTemplateCategory `json:"category" gorm:"type:int(11);comment:妯$増绉嶇被"`
+		WarehouseId int                           `json:"warehouseId" gorm:"type:int(11);comment:浠撳簱id"`
+		Name        string                        `json:"name" gorm:"type:varchar(63);comment:妯$増鍚嶇О"`
 		//AttachmentId uint                          `json:"attachmentId" gorm:"comment:闄勪欢琛ㄥ閿�"`
 		//Attachment   Attachment                    `json:"attachment" gorm:"foreignKey:AttachmentId;references:Id"`
 		TableInfo string `json:"tableInfo" gorm:"type:varchar(31);comment:琛ㄥ悕"`
@@ -51,6 +52,10 @@
 	slf.Order = order
 	return slf
 }
+func (slf *FileTemplateAttachmentSearch) SetWarehouseId(warehouseId int) *FileTemplateAttachmentSearch {
+	slf.WarehouseId = warehouseId
+	return slf
+}
 
 func (slf *FileTemplateAttachmentSearch) SetID(id int) *FileTemplateAttachmentSearch {
 	slf.Id = id
@@ -78,6 +83,9 @@
 	if slf.Id != 0 {
 		db = db.Where("id = ?", slf.Id)
 	}
+	if slf.WarehouseId != 0 {
+		db = db.Where("warehouse_id = ?", slf.Id)
+	}
 	if slf.Order != "" {
 		db = db.Order(slf.Order)
 	}

--
Gitblit v1.8.0