zhangqian
2023-11-25 efec800478214f3a412f879d2b51c2968515995d
api/v1/plc.go
@@ -3,6 +3,7 @@
import (
   "apsClient/conf"
   "apsClient/constvar"
   "apsClient/model"
   "apsClient/model/request"
   "apsClient/model/response"
   _ "apsClient/model/response"
@@ -28,14 +29,30 @@
   if !ok {
      return
   }
   finishNumber, _ := service.PlcCacheGet(conf.Conf.CurrentDeviceID, params.Channel, constvar.PlcCacheKeyFinishNumber)
   totalNumber, _ := service.PlcCacheGet(conf.Conf.CurrentDeviceID, params.Channel, constvar.PlcCacheKeyTotalNumber)
   isConnect := service.PlcIsConnect()
   var (
      finishNumber interface{}
      totalNumber  interface{}
   )
   if isConnect {
      finishNumber, _ = service.PlcCacheGet(conf.Conf.CurrentDeviceID, params.Channel, constvar.PlcCacheKeyFinishNumber)
      totalNumber, _ = service.PlcCacheGet(conf.Conf.CurrentDeviceID, params.Channel, constvar.PlcCacheKeyTotalNumber)
   } else if params.ProcedureId != 0 {
      reportWork, err := service.GetLastReportWork(params.ProcedureId)
      if err == nil {
         finishNumber = reportWork.ReportAmount
      }
      workOrder, err := model.NewOrderSearch(nil).SetWorkOrderId(reportWork.WorkOrderID).First()
      if err == nil {
         totalNumber = workOrder.Amount.IntPart()
      }
   }
   resp := new(response.ProductProgress)
   resp.FinishNumber = cast.ToInt(finishNumber)
   resp.TotalNumber = cast.ToInt(totalNumber)
   plcStatus := 1 //断开连接
   isConnect := service.PlcIsConnect()
   if isConnect {
      lastUpdateTime := service.FinishUpdateTimeGet(conf.Conf.CurrentDeviceID, params.Channel)
      if time.Now().Unix()-cast.ToInt64(lastUpdateTime) < conf.Conf.PLC.StandbyTime { //生产