zhangqian
2023-09-15 915253f87d4ef04d886bebb50135d75082ae0eee
service/progress.go
@@ -13,20 +13,24 @@
   return &ProgressService{}
}
func (slf ProgressService) AddProgress(db *gorm.DB, procedure *model.Procedures, order *model.Order) error {
   progress := &model.ProductionProgress{
      WorkOrderID:   procedure.WorkOrderID,
      OrderID:       procedure.OrderID,
      ProcedureID:   procedure.ProceduresInfo.ProcedureID,
      DeviceID:      procedure.DeviceID,
      TotalQuantity: order.Amount.IntPart(),
      Position:      procedure.Position,
func (slf ProgressService) Upsert(db *gorm.DB, procedure *model.Procedures, order *model.Order) error {
   _, err := model.NewProductionProgressSearch(db).SetProcedureId(procedure.ProcedureID).SetWorkOrderId(procedure.WorkOrderID).First()
   if err == gorm.ErrRecordNotFound {
      progress := &model.ProductionProgress{
         WorkOrderID:   procedure.WorkOrderID,
         OrderID:       procedure.OrderID,
         ProcedureID:   procedure.ProceduresInfo.ProcedureID,
         DeviceID:      procedure.DeviceID,
         TotalQuantity: order.Amount.IntPart(),
         Position:      procedure.Position,
      }
      err := model.NewProductionProgressSearch(db).Create(progress)
      if err != nil {
         return err
      }
      ProgressCacheSet(procedure.Position, progress)
   }
   err := model.NewProductionProgressSearch(db).Create(progress)
   if err != nil {
      return err
   }
   ProgressCacheSet(procedure.Position, progress)
   return nil
}