zhangqian
2023-11-30 941666a9e9e48b0e86140d5e7d81983c7457f0d6
保存完成消息时查一下开始时间并存储
4个文件已修改
27 ■■■■ 已修改文件
crontask/cron_task.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/common/common.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/task_status_sync.go 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/task.go 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
crontask/cron_task.go
@@ -130,7 +130,8 @@
            IsFinish:           record.IsFinish,
            FinishAmount:       finishAmount,
            ProductProcedureID: record.ProductProcedureID,
            Ts:                 record.Ts,
            StartTs:            record.StartTs,
            FinishTs:           record.FinishTs,
        }
        caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicTaskProcedureStatusUpdate, conf.Conf.NsqConf.NodeId), "")
        err = caller.Send(msg)
model/common/common.go
@@ -128,7 +128,8 @@
    IsFinish           bool   //是否完成
    FinishAmount       int    `json:"finishAmount"`       //isFinish = true时取工序最终加工数传上去
    ProductProcedureID string `json:"productProcedureID"` //产品工序id
    Ts                 int64  `json:"ts"`                 //发生时间
    StartTs            int64  `json:"start_ts"`           //开始时间
    FinishTs           int64  `json:"finish_ts"`          //结束时间
}
// DeviceMsg 下发到终端的设备信息
model/task_status_sync.go
@@ -16,7 +16,8 @@
        DeviceId           string `json:"deviceId"`                                     //设备编号
        IsProcessing       bool   //是否处理中
        IsFinish           bool   //是否完成
        Ts                 int64  //发生时间
        StartTs            int64  `json:"start_ts"`  //开始时间
        FinishTs           int64  `json:"finish_ts"` //结束时间
    }
    TaskStatusSyncSearch struct {
@@ -65,6 +66,11 @@
    return slf
}
func (slf *TaskStatusSyncSearch) SetWorkOrderId(workOrderId string) *TaskStatusSyncSearch {
    slf.WorkOrderId = workOrderId
    return slf
}
func (slf *TaskStatusSyncSearch) SetIDs(ids []uint) *TaskStatusSyncSearch {
    slf.IDs = ids
    return slf
@@ -89,6 +95,10 @@
        db = db.Order(slf.Order)
    }
    if slf.WorkOrderId != "" {
        db = db.Where("work_order_id = ?", slf.WorkOrderId)
    }
    return db
}
service/task.go
@@ -206,7 +206,14 @@
// SaveTaskStatusSync 保存任务同步信息
func (slf TaskService) SaveTaskStatusSync(db *gorm.DB, record *model.TaskStatusSync) (err error) {
    record.Ts = time.Now().Unix()
    if record.IsProcessing {
        record.StartTs = time.Now().Unix()
    }
    if record.IsFinish {
        record.FinishTs = time.Now().Unix()
        startedRecord, _ := model.NewTaskStatusSyncSearch(db).SetProductProcedureId(record.ProductProcedureID).SetWorkOrderId(record.WorkOrderId).First()
        record.StartTs = startedRecord.StartTs
    }
    return model.NewTaskStatusSyncSearch(db).Create(record)
}