zhangqian
2023-11-28 778f7fbabb2ad5cdb8e203e1695ae2a8c7327edb
兼容
5个文件已修改
67 ■■■■ 已修改文件
api/v1/task.go 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
crontask/cron_task.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/production_progress.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/task_status_sync.go 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/report_work.go 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
    })
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)
            }
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
}
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)
    }
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
}