From 778f7fbabb2ad5cdb8e203e1695ae2a8c7327edb Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 28 十一月 2023 19:19:21 +0800 Subject: [PATCH] 兼容 --- service/report_work.go | 14 +++++-- model/production_progress.go | 9 ++++ crontask/cron_task.go | 2 model/task_status_sync.go | 20 +++++++-- api/v1/task.go | 22 ++++++----- 5 files changed, 47 insertions(+), 20 deletions(-) diff --git a/api/v1/task.go b/api/v1/task.go index f866127..f9741cb 100644 --- a/api/v1/task.go +++ b/api/v1/task.go @@ -228,11 +228,12 @@ return err } record := model.TaskStatusSync{ - WorkOrderId: procedure.WorkOrderID, - ProcedureID: procedure.ProcedureID, - DeviceId: procedure.DeviceID, - IsProcessing: false, - IsFinish: true, + WorkOrderId: procedure.WorkOrderID, + ProcedureID: procedure.ProcedureID, + DeviceId: procedure.DeviceID, + ProductProcedureID: procedure.ProductProcedureID, + IsProcessing: false, + IsFinish: true, } return service.NewTaskService().SaveTaskStatusSync(db, &record) }) @@ -331,11 +332,12 @@ return err } record := model.TaskStatusSync{ - WorkOrderId: procedure.WorkOrderID, - ProcedureID: procedure.ProcedureID, - DeviceId: procedure.DeviceID, - IsProcessing: true, - IsFinish: false, + WorkOrderId: procedure.WorkOrderID, + ProcedureID: procedure.ProcedureID, + DeviceId: procedure.DeviceID, + ProductProcedureID: procedure.ProductProcedureID, + IsProcessing: true, + IsFinish: false, } return service.NewTaskService().SaveTaskStatusSync(db, &record) }) diff --git a/crontask/cron_task.go b/crontask/cron_task.go index 7791a2e..f754783 100644 --- a/crontask/cron_task.go +++ b/crontask/cron_task.go @@ -117,7 +117,7 @@ for _, record := range records { var finishAmount int if record.IsFinish { - progress, err := model.NewProductionProgressSearch(nil).SetProcedureId(record.ProcedureID).First() + progress, err := model.NewProductionProgressSearch(nil).SetWorkOrderId(record.WorkOrderId).SetProductProcedureId(record.ProductProcedureID).First() if err == nil { finishAmount = int(progress.FinishedQuantity) } diff --git a/model/production_progress.go b/model/production_progress.go index b01a417..58bc036 100644 --- a/model/production_progress.go +++ b/model/production_progress.go @@ -76,6 +76,11 @@ return slf } +func (slf *ProductionProgressSearch) SetProductProcedureId(productProcedureId string) *ProductionProgressSearch { + slf.ProductProcedureID = productProcedureId + return slf +} + func (slf *ProductionProgressSearch) SetId(id uint) *ProductionProgressSearch { slf.ID = id return slf @@ -130,6 +135,10 @@ db = db.Where("finished_quantity < total_quantity") } + if slf.ProductProcedureID != "" { + db = db.Where("product_procedure_id = ?", slf.ProductProcedureID) + } + return db } diff --git a/model/task_status_sync.go b/model/task_status_sync.go index 78560b3..f9a6c14 100644 --- a/model/task_status_sync.go +++ b/model/task_status_sync.go @@ -10,11 +10,12 @@ // TaskStatusSync 浠诲姟鐘舵�佸悓姝� TaskStatusSync struct { gorm.Model - WorkOrderId string `json:"workOrderId"` //宸ュ崟缂栧彿 - ProcedureID string `json:"procedureId"` // 宸ュ簭缂栧彿 - DeviceId string `json:"deviceId"` //璁惧缂栧彿 - IsProcessing bool //鏄惁澶勭悊涓� - IsFinish bool //鏄惁瀹屾垚 + WorkOrderId string `json:"workOrderId"` //宸ュ崟缂栧彿 + ProductProcedureID string `gorm:"type:varchar(191);" json:"productProcedureID"` //浜у搧宸ュ簭id + ProcedureID string `json:"procedureId"` // 宸ュ簭缂栧彿 + DeviceId string `json:"deviceId"` //璁惧缂栧彿 + IsProcessing bool //鏄惁澶勭悊涓� + IsFinish bool //鏄惁瀹屾垚 } TaskStatusSyncSearch struct { @@ -58,6 +59,11 @@ return slf } +func (slf *TaskStatusSyncSearch) SetProductProcedureId(productProcedureId string) *TaskStatusSyncSearch { + slf.ProductProcedureID = productProcedureId + return slf +} + func (slf *TaskStatusSyncSearch) SetIDs(ids []uint) *TaskStatusSyncSearch { slf.IDs = ids return slf @@ -70,6 +76,10 @@ db = db.Where("id = ?", slf.ID) } + if slf.ProductProcedureID != "" { + db = db.Where("product_procedure_id = ?", slf.ProductProcedureID) + } + if len(slf.IDs) != 0 { db = db.Where("id in (?)", slf.IDs) } diff --git a/service/report_work.go b/service/report_work.go index 1c9c50e..4a9db04 100644 --- a/service/report_work.go +++ b/service/report_work.go @@ -71,7 +71,7 @@ BarCode: snowflake.GenerateIdStr(), } err = model.WithTransaction(func(db *gorm.DB) error { - err = model.NewReportWorkSearch(nil).Create(record) + err = model.NewReportWorkSearch(db).Create(record) if err != nil { return err } @@ -80,17 +80,23 @@ if err != nil { return err } - err = model.NewReportsToCloudSearch(nil).Create(&model.ReportsToCloud{ + err = model.NewReportsToCloudSearch(db).Create(&model.ReportsToCloud{ ReportType: constvar.ReportTypeReportWork, Content: string(content), }) - return err + if err != nil { + return err + } + + return nil }) if err != nil { logx.Errorf("save report work transaction error: %v", err) return err } - _ = NewProgressService().UpdateProgressByProceduresId(procedure.ID, int64(params.ReportAmount)) + + err = NewProgressService().UpdateProgressByProceduresId(procedure.ID, int64(params.ReportAmount)) + return nil } -- Gitblit v1.8.0