From a8622c9cc1b20eac20e384e704aa98194372e72a Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 08 十月 2023 20:45:15 +0800
Subject: [PATCH] 工序保存使用的工艺参数编号
---
service/task.go | 16 +++++--
model/procedures.go | 25 ++++++------
api/v1/task.go | 26 +++++++-----
3 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/api/v1/task.go b/api/v1/task.go
index ac472cb..16b0969 100644
--- a/api/v1/task.go
+++ b/api/v1/task.go
@@ -156,11 +156,19 @@
ctx.Fail(ecode.DBErr)
return
}
-
- processModel, err := service.NewTaskService().GetProcessParams(procedure, order)
- if err != nil || processModel == nil || processModel.ParamsMap == nil {
- ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
- return
+ var processModel *model.ProcessModel
+ if procedure.ProcessModelNumber != "" {
+ processModel, err = service.GetProcessModelByNumber(procedure.ProcessModelNumber)
+ if err != nil || processModel == nil || processModel.ParamsMap == nil {
+ ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
+ return
+ }
+ } else {
+ processModel, err = service.NewTaskService().GetProcessParams(procedure, order)
+ if err != nil || processModel == nil || processModel.ParamsMap == nil {
+ ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
+ return
+ }
}
processParamsArr := make([]response.ProcessParams, 0, len(processModel.ParamsMap))
@@ -284,7 +292,7 @@
}
err = model.WithTransaction(func(db *gorm.DB) error {
- err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusProcessing, procedure.Channel)
+ err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusProcessing, procedure.Channel, processModel.Number)
if err != nil {
return err
}
@@ -309,11 +317,7 @@
if err != nil {
logx.Errorf("SendProcessParams: %v", err.Error())
err = model.WithTransaction(func(db *gorm.DB) error {
- err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusWaitProcess, procedure.Channel)
- if err != nil {
- return err
- }
- err = taskService.UpdateOrderStatus(db, order.ID, model.OrderStatusWaitProcess)
+ err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusWaitProcess, procedure.Channel, "")
if err != nil {
return err
}
diff --git a/model/procedures.go b/model/procedures.go
index 425a192..8a7f145 100644
--- a/model/procedures.go
+++ b/model/procedures.go
@@ -12,18 +12,19 @@
type (
Procedures struct {
- gorm.Model `json:"-"`
- ID int `gorm:"primarykey"`
- WorkOrderID string `gorm:"index;type:varchar(191);not null;comment:宸ュ崟ID" json:"-"`
- OrderID string `gorm:"index;type:varchar(191);not null;comment:璁㈠崟ID" json:"-"`
- DeviceID string `gorm:"index;type:varchar(191);comment:璁惧ID" json:"deviceId"`
- ProcedureID string `gorm:"index;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"`
- Channel int32 `gorm:"index;comment:閫氶亾" json:"channel"` //閫氶亾
- StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"`
- EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"`
- Status ProcedureStatus
- ProcedureData string `json:"-"` //common.ProductProcedure json涓�
- ProceduresInfo common.ProductProcedure `json:"procedure" gorm:"-"` //common.ProductProcedure 瀵硅薄
+ gorm.Model `json:"-"`
+ ID int `gorm:"primarykey"`
+ WorkOrderID string `gorm:"index;type:varchar(191);not null;comment:宸ュ崟ID" json:"-"`
+ OrderID string `gorm:"index;type:varchar(191);not null;comment:璁㈠崟ID" json:"-"`
+ DeviceID string `gorm:"index;type:varchar(191);comment:璁惧ID" json:"deviceId"`
+ ProcedureID string `gorm:"index;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"`
+ Channel int32 `gorm:"index;comment:閫氶亾" json:"channel"` //閫氶亾
+ ProcessModelNumber string `gorm:"index;comment:宸ヨ壓妯″瀷缂栧彿" json:"processModelNumber"` //宸ヨ壓妯″瀷缂栧彿
+ StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"`
+ EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"`
+ Status ProcedureStatus
+ ProcedureData string `json:"-"` //common.ProductProcedure json涓�
+ ProceduresInfo common.ProductProcedure `json:"procedure" gorm:"-"` //common.ProductProcedure 瀵硅薄
}
ProceduresSearch struct {
diff --git a/service/task.go b/service/task.go
index 885a66d..a9b75ca 100644
--- a/service/task.go
+++ b/service/task.go
@@ -131,13 +131,19 @@
return procedure, ecode.OK
}
-func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id int, status model.ProcedureStatus, channel int32) error {
- if status == model.ProcedureStatusFinished {
+func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id int, status model.ProcedureStatus, channel int32, processModelNumber string) error {
+ if status == model.ProcedureStatusFinished || status == model.ProcedureStatusWaitProcess {
ProgressCacheUnset(channel)
}
- return model.NewProceduresSearch(db).SetId(id).UpdateByMap(map[string]interface{}{
- "status": status,
- })
+
+ upMap := map[string]interface{}{"status": status}
+ if status == model.ProcedureStatusProcessing {
+ upMap["process_model_number"] = processModelNumber
+ } else if status == model.ProcedureStatusWaitProcess {
+ upMap["process_model_number"] = ""
+ }
+
+ return model.NewProceduresSearch(db).SetId(id).UpdateByMap(upMap)
}
func (slf TaskService) UpdateProcedureStatus(db *gorm.DB, id int, status model.ProcedureStatus, channel int32) error {
--
Gitblit v1.8.0