zhangqian
2024-04-25 2d6875c93b25d0b7336c7fa11e066d213259fe2e
model/task_status_sync.go
@@ -1,6 +1,7 @@
package model
import (
   "apsClient/constvar"
   "apsClient/pkg/sqlitex"
   "fmt"
   "github.com/jinzhu/gorm"
@@ -9,12 +10,17 @@
type (
   // TaskStatusSync 任务状态同步
   TaskStatusSync struct {
      gorm.Model
      WorkOrderId  string `json:"workOrderId"` //工单编号
      ProcedureID  string `json:"procedureId"` // 工序编号
      DeviceId     string `json:"deviceId"`    //设备编号
      IsProcessing bool   //是否处理中
      IsFinish     bool   //是否完成
      CommonModel
      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 {
@@ -23,6 +29,8 @@
      PageNum  int
      PageSize int
      Orm      *gorm.DB
      IDs      []uint
      SyncWait bool
   }
)
@@ -57,6 +65,26 @@
   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
}
func (slf *TaskStatusSyncSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
@@ -64,10 +92,26 @@
      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)
   }
   if slf.Order != "" {
      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
}