zhangqian
2023-11-29 28addaa46cb97c20ad37e13eb10535de7b75e71c
crontask/cron_task.go
@@ -45,8 +45,8 @@
            }
            finishNumber := cast.ToInt64(value)
            if finishNumber != 0 {
               service.PlcCacheSet(addressItem.Channel, constvar.PlcCacheKeyFinishNumber, finishNumber)
               _ = service.NewProgressService().UpdateProgress(addressItem.Channel, cast.ToInt64(finishNumber))
               service.PlcCacheSet(conf.Conf.CurrentDeviceID, addressItem.Channel, constvar.PlcCacheKeyFinishNumber, finishNumber)
               _ = service.NewProgressService().UpdateProgress(conf.Conf.CurrentDeviceID, addressItem.Channel, cast.ToInt64(finishNumber))
            }
            logx.Infof("plc read finish number: %v", finishNumber)
         }
@@ -71,7 +71,7 @@
            }
            totalNumber := cast.ToInt64(value)
            if totalNumber != 0 {
               service.PlcCacheSet(addressItem.Channel, constvar.PlcCacheKeyTotalNumber, totalNumber)
               service.PlcCacheSet(conf.Conf.CurrentDeviceID, addressItem.Channel, constvar.PlcCacheKeyTotalNumber, totalNumber)
            }
            logx.Infof("plc read total number: %v", totalNumber)
         }
@@ -80,7 +80,7 @@
   })
   if isMaster {
      s.Every(60).Seconds().Do(SyncProductionProgress) //同步生产数据
      s.Every(20).Seconds().Do(SyncProductionProgress) //同步生产数据
      s.Every(30).Seconds().Do(SyncTaskStatus)         //同步任务状态
      s.Every(10).Seconds().Do(CheckNsqConn)           //查询nsq连接
      s.Every(30).Seconds().Do(ReportData)             //上报数据
@@ -115,12 +115,21 @@
   }
   syncOkIds := make([]uint, 0, len(records))
   for _, record := range records {
      var finishAmount int
      if record.IsFinish {
         progress, err := model.NewProductionProgressSearch(nil).SetWorkOrderId(record.WorkOrderId).SetProductProcedureId(record.ProductProcedureID).First()
         if err == nil {
            finishAmount = int(progress.FinishedQuantity)
         }
      }
      msg := &common.MsgTaskStatusUpdate{
         WorkOrderId:  record.WorkOrderId,
         ProcedureID:  record.ProcedureID,
         DeviceId:     record.DeviceId,
         IsProcessing: record.IsProcessing,
         IsFinish:     record.IsFinish,
         WorkOrderId:        record.WorkOrderId,
         ProcedureID:        record.ProcedureID,
         DeviceId:           record.DeviceId,
         IsProcessing:       record.IsProcessing,
         IsFinish:           record.IsFinish,
         FinishAmount:       finishAmount,
         ProductProcedureID: record.ProductProcedureID,
      }
      caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicTaskProcedureStatusUpdate, conf.Conf.NsqConf.NodeId), "")
      err = caller.Send(msg)