zhangqian
2023-12-08 84fb8e390b83dc9482524c12d7af6c93405c3fc1
model/task_status_sync.go
@@ -1,6 +1,7 @@
package model
import (
   "apsClient/constvar"
   "apsClient/pkg/sqlitex"
   "fmt"
   "github.com/jinzhu/gorm"
@@ -10,11 +11,16 @@
   // 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                //是否完成
      StartTs            int64               `json:"start_ts"`  //开始时间
      FinishTs           int64               `json:"finish_ts"` //结束时间
      FinishedQuantity   int                 `json:"finishedQuantity"`
      SyncStatus         constvar.SyncStatus `json:"-"`
   }
   TaskStatusSyncSearch struct {
@@ -24,6 +30,7 @@
      PageSize int
      Orm      *gorm.DB
      IDs      []uint
      SyncWait bool
   }
)
@@ -58,8 +65,23 @@
   return slf
}
func (slf *TaskStatusSyncSearch) SetProductProcedureId(productProcedureId string) *TaskStatusSyncSearch {
   slf.ProductProcedureID = productProcedureId
   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
}
func (slf *TaskStatusSyncSearch) SetSyncWait() *TaskStatusSyncSearch {
   slf.SyncWait = true
   return slf
}
@@ -70,6 +92,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)
   }
@@ -78,6 +104,14 @@
      db = db.Order(slf.Order)
   }
   if slf.WorkOrderId != "" {
      db = db.Where("work_order_id = ?", slf.WorkOrderId)
   }
   if slf.SyncWait {
      db = db.Where("sync_status != ?", constvar.SyncStatusOk)
   }
   return db
}