From dcf393c077af5638ea12c05dd6e1754fa535be20 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 27 十一月 2023 16:30:04 +0800
Subject: [PATCH] 排程任务下发增加productProcedureID,报工表和工序表增加productProcedureID

---
 model/report_work.go   |   29 +++++----
 nsq/msg_handler.go     |   19 +++---
 service/report_work.go |   29 +++++----
 model/common/common.go |   29 +++++----
 model/procedures.go    |    1 
 docs/swagger.yaml      |   10 +++
 docs/docs.go           |   13 ++++
 docs/swagger.json      |   13 ++++
 8 files changed, 89 insertions(+), 54 deletions(-)

diff --git a/docs/docs.go b/docs/docs.go
index c172a0f..935673b 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -987,6 +987,9 @@
                 "procedureName": {
                     "type": "string"
                 },
+                "productProcedureID": {
+                    "type": "string"
+                },
                 "startTime": {
                     "type": "integer"
                 },
@@ -1466,6 +1469,10 @@
                     "description": "宸ヨ壓妯″瀷缂栧彿",
                     "type": "string"
                 },
+                "productProcedureID": {
+                    "description": "浜у搧宸ュ簭id",
+                    "type": "string"
+                },
                 "realEndTime": {
                     "type": "integer"
                 },
@@ -1539,7 +1546,7 @@
             "properties": {
                 "barCode": {
                     "description": "鏉″舰鐮�",
-                    "type": "integer"
+                    "type": "string"
                 },
                 "channel": {
                     "description": "閫氶亾",
@@ -1574,6 +1581,10 @@
                     "description": "procedures琛ㄧ殑id",
                     "type": "integer"
                 },
+                "productProcedureID": {
+                    "description": "浜у搧宸ュ簭id",
+                    "type": "string"
+                },
                 "reportAmount": {
                     "description": "鎶ュ伐鏁伴噺",
                     "type": "integer"
diff --git a/docs/swagger.json b/docs/swagger.json
index 2f8c92f..ec52546 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -975,6 +975,9 @@
                 "procedureName": {
                     "type": "string"
                 },
+                "productProcedureID": {
+                    "type": "string"
+                },
                 "startTime": {
                     "type": "integer"
                 },
@@ -1454,6 +1457,10 @@
                     "description": "宸ヨ壓妯″瀷缂栧彿",
                     "type": "string"
                 },
+                "productProcedureID": {
+                    "description": "浜у搧宸ュ簭id",
+                    "type": "string"
+                },
                 "realEndTime": {
                     "type": "integer"
                 },
@@ -1527,7 +1534,7 @@
             "properties": {
                 "barCode": {
                     "description": "鏉″舰鐮�",
-                    "type": "integer"
+                    "type": "string"
                 },
                 "channel": {
                     "description": "閫氶亾",
@@ -1562,6 +1569,10 @@
                     "description": "procedures琛ㄧ殑id",
                     "type": "integer"
                 },
+                "productProcedureID": {
+                    "description": "浜у搧宸ュ簭id",
+                    "type": "string"
+                },
                 "reportAmount": {
                     "description": "鎶ュ伐鏁伴噺",
                     "type": "integer"
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 052311a..f69843e 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -57,6 +57,8 @@
         type: string
       procedureName:
         type: string
+      productProcedureID:
+        type: string
       startTime:
         type: integer
       workHours:
@@ -397,6 +399,9 @@
       processModelNumber:
         description: 宸ヨ壓妯″瀷缂栧彿
         type: string
+      productProcedureID:
+        description: 浜у搧宸ュ簭id
+        type: string
       realEndTime:
         type: integer
       realStartTime:
@@ -448,7 +453,7 @@
     properties:
       barCode:
         description: 鏉″舰鐮�
-        type: integer
+        type: string
       channel:
         description: 閫氶亾
         type: integer
@@ -472,6 +477,9 @@
       proceduresId:
         description: procedures琛ㄧ殑id
         type: integer
+      productProcedureID:
+        description: 浜у搧宸ュ簭id
+        type: string
       reportAmount:
         description: 鎶ュ伐鏁伴噺
         type: integer
diff --git a/model/common/common.go b/model/common/common.go
index e47b1fd..dee9b4c 100644
--- a/model/common/common.go
+++ b/model/common/common.go
@@ -38,20 +38,21 @@
 	}
 
 	ProductProcedure struct {
-		ProcedureID       string               `gorm:"uniqueIndex:idx_product_procedure;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"`
-		ProcedureName     string               `gorm:"type:varchar(191);comment:宸ュ簭鍚嶇О锛屼粎鏌ヨ鐢�" json:"procedureName"`
-		NextProcedureID   string               `json:"nextProcedureId"`
-		NextProcedureName string               `json:"nextProcedureName"`
-		DeviceID          string               `gorm:"type:varchar(191);not null;comment:璁惧ID" json:"deviceId"`
-		DeviceName        string               `json:"deviceName"`
-		StartTime         int64                `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"`
-		EndTime           int64                `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"`
-		WorkHours         decimal.Decimal      `gorm:"type:decimal(35,18);comment:宸ユ椂" json:"workHours"`
-		InputMaterials    []*ProcedureMaterial `json:"inputMaterials"`    // 杈撳叆鐗╂枡鍒楄〃
-		OutputMaterials   []*ProcedureMaterial `json:"outputMaterials"`   // 杈撳嚭鐗╂枡鍒楄〃
-		Workers           []*ProcedureWorker   `json:"workers"`           // 浜哄憳鍒楄〃
-		AllProcedureNames []string             `json:"allProcedureNames"` // 鎵�灞炲伐鍗曞伐搴忓垪琛�
-		Channel           int32                `json:"channel"`           //閫氶亾搴忓彿
+		ProductProcedureID string               `gorm:"index;type:varchar(191);not null;comment:浜у搧宸ュ簭ID" json:"productProcedureID"`
+		ProcedureID        string               `gorm:"uniqueIndex:idx_product_procedure;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"`
+		ProcedureName      string               `gorm:"type:varchar(191);comment:宸ュ簭鍚嶇О锛屼粎鏌ヨ鐢�" json:"procedureName"`
+		NextProcedureID    string               `json:"nextProcedureId"`
+		NextProcedureName  string               `json:"nextProcedureName"`
+		DeviceID           string               `gorm:"type:varchar(191);not null;comment:璁惧ID" json:"deviceId"`
+		DeviceName         string               `json:"deviceName"`
+		StartTime          int64                `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"`
+		EndTime            int64                `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"`
+		WorkHours          decimal.Decimal      `gorm:"type:decimal(35,18);comment:宸ユ椂" json:"workHours"`
+		InputMaterials     []*ProcedureMaterial `json:"inputMaterials"`    // 杈撳叆鐗╂枡鍒楄〃
+		OutputMaterials    []*ProcedureMaterial `json:"outputMaterials"`   // 杈撳嚭鐗╂枡鍒楄〃
+		Workers            []*ProcedureWorker   `json:"workers"`           // 浜哄憳鍒楄〃
+		AllProcedureNames  []string             `json:"allProcedureNames"` // 鎵�灞炲伐鍗曞伐搴忓垪琛�
+		Channel            int32                `json:"channel"`           //閫氶亾搴忓彿
 	}
 
 	DeliverScheduleTask struct {
diff --git a/model/procedures.go b/model/procedures.go
index d2d85d5..d38401c 100644
--- a/model/procedures.go
+++ b/model/procedures.go
@@ -12,6 +12,7 @@
 type (
 	Procedures struct {
 		gorm.Model
+		ProductProcedureID string `gorm:"index;type:varchar(191);not null" json:"productProcedureID"` //浜у搧宸ュ簭id
 		WorkOrderID        string `gorm:"index;type:varchar(191);not null" json:"-"`
 		OrderID            string `gorm:"index;type:varchar(191);not null" json:"-"`
 		DeviceID           string `gorm:"index;type:varchar(191)" json:"deviceId"`
diff --git a/model/report_work.go b/model/report_work.go
index 379c664..658ff65 100644
--- a/model/report_work.go
+++ b/model/report_work.go
@@ -9,20 +9,21 @@
 type (
 	ReportWork struct {
 		gorm.Model
-		ProceduresID uint   `gorm:"index;type:varchar(191)" json:"proceduresId"` //procedures琛ㄧ殑id
-		WorkOrderID  string `gorm:"index;type:varchar(191);not null" json:"workOrderId"`
-		DeviceID     string `gorm:"index;type:varchar(191)" json:"deviceId"`
-		DeviceName   string `gorm:"index;type:varchar(191)" json:"deviceName"`
-		ProcedureID  string `gorm:"index;type:varchar(191)" json:"procedureId"`
-		Channel      int32  `gorm:"index;" json:"channel"` //閫氶亾
-		StartTime    int64  `json:"startTime"`
-		EndTime      int64  `json:"endTime"`
-		ReportAmount int    `json:"reportAmount"` //鎶ュ伐鏁伴噺
-		FinishAmount int    `json:"finishAmount"` //鏈鎶ュ伐 - 涓婃鎶ュ伐
-		WorkerID     string `json:"workerID"`     //鎶ュ伐浜篿d
-		WorkerName   string `json:"workerName"`   //鎶ュ伐浜哄鍚�
-		WorkerTime   int64  `json:"workerTime"`   //宸ユ椂锛屽崟浣嶇
-		BarCode      string `json:"barCode"`      //鏉″舰鐮�
+		ProceduresID       uint   `gorm:"index;type:varchar(191)" json:"proceduresId"`                //procedures琛ㄧ殑id
+		ProductProcedureID string `gorm:"index;type:varchar(191);not null" json:"productProcedureID"` //浜у搧宸ュ簭id
+		WorkOrderID        string `gorm:"index;type:varchar(191);not null" json:"workOrderId"`
+		DeviceID           string `gorm:"index;type:varchar(191)" json:"deviceId"`
+		DeviceName         string `gorm:"index;type:varchar(191)" json:"deviceName"`
+		ProcedureID        string `gorm:"index;type:varchar(191)" json:"procedureId"`
+		Channel            int32  `gorm:"index;" json:"channel"` //閫氶亾
+		StartTime          int64  `json:"startTime"`
+		EndTime            int64  `json:"endTime"`
+		ReportAmount       int    `json:"reportAmount"` //鎶ュ伐鏁伴噺
+		FinishAmount       int    `json:"finishAmount"` //鏈鎶ュ伐 - 涓婃鎶ュ伐
+		WorkerID           string `json:"workerID"`     //鎶ュ伐浜篿d
+		WorkerName         string `json:"workerName"`   //鎶ュ伐浜哄鍚�
+		WorkerTime         int64  `json:"workerTime"`   //宸ユ椂锛屽崟浣嶇
+		BarCode            string `json:"barCode"`      //鏉″舰鐮�
 	}
 
 	ReportWorkSearch struct {
diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go
index 82d2118..a45aed8 100644
--- a/nsq/msg_handler.go
+++ b/nsq/msg_handler.go
@@ -52,15 +52,16 @@
 		procedureRecords := make([]*model.Procedures, 0, len(task.Procedures))
 		for _, procedure := range task.Procedures {
 			procedureRecord := model.Procedures{
-				WorkOrderID:    task.WorkOrder.WorkOrderID,
-				OrderID:        task.WorkOrder.OrderID,
-				DeviceID:       procedure.DeviceID,
-				ProcedureID:    procedure.ProcedureID,
-				StartTime:      procedure.StartTime,
-				EndTime:        procedure.EndTime,
-				Status:         model.ProcedureStatusWaitProcess,
-				Channel:        procedure.Channel,
-				ProceduresInfo: common.ProductProcedure{},
+				ProductProcedureID: procedure.ProductProcedureID,
+				WorkOrderID:        task.WorkOrder.WorkOrderID,
+				OrderID:            task.WorkOrder.OrderID,
+				DeviceID:           procedure.DeviceID,
+				ProcedureID:        procedure.ProcedureID,
+				StartTime:          procedure.StartTime,
+				EndTime:            procedure.EndTime,
+				Status:             model.ProcedureStatusWaitProcess,
+				Channel:            procedure.Channel,
+				ProceduresInfo:     common.ProductProcedure{},
 			}
 			procedureData, err := json.Marshal(procedure)
 			if err != nil {
diff --git a/service/report_work.go b/service/report_work.go
index 68d1117..710b490 100644
--- a/service/report_work.go
+++ b/service/report_work.go
@@ -49,20 +49,21 @@
 	}
 
 	record := &model.ReportWork{
-		ProceduresID: params.ProcedureId,
-		WorkOrderID:  procedure.WorkOrderID,
-		DeviceID:     procedure.DeviceID,
-		DeviceName:   procedure.ProceduresInfo.DeviceName,
-		ProcedureID:  procedure.ProcedureID,
-		Channel:      procedure.Channel,
-		StartTime:    startTs,
-		EndTime:      nowTs,
-		ReportAmount: params.ReportAmount,
-		FinishAmount: finishAmount,
-		WorkerID:     params.WorkerID,
-		WorkerName:   workerName,
-		WorkerTime:   nowTs - startTs,
-		BarCode:      snowflake.GenerateIdStr(),
+		ProceduresID:       params.ProcedureId,
+		ProductProcedureID: procedure.ProductProcedureID,
+		WorkOrderID:        procedure.WorkOrderID,
+		DeviceID:           procedure.DeviceID,
+		DeviceName:         procedure.ProceduresInfo.DeviceName,
+		ProcedureID:        procedure.ProcedureID,
+		Channel:            procedure.Channel,
+		StartTime:          startTs,
+		EndTime:            nowTs,
+		ReportAmount:       params.ReportAmount,
+		FinishAmount:       finishAmount,
+		WorkerID:           params.WorkerID,
+		WorkerName:         workerName,
+		WorkerTime:         nowTs - startTs,
+		BarCode:            snowflake.GenerateIdStr(),
 	}
 
 	err = model.NewReportWorkSearch(nil).Create(record)

--
Gitblit v1.8.0