| | |
| | | import ( |
| | | "apsClient/conf" |
| | | "apsClient/constvar" |
| | | "apsClient/model" |
| | | "apsClient/model/request" |
| | | "apsClient/model/response" |
| | | _ "apsClient/model/response" |
| | |
| | | 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{} |
| | | ) |
| | | |
| | | resp := new(response.ProductProgress) |
| | | |
| | | 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() |
| | | } |
| | | } else { |
| | | procedure, workOrder, _ := service.NewTaskService().GetProcedureAndWorkOrder(params.ProcedureId) |
| | | if workOrder != nil { |
| | | totalNumber = workOrder.Amount.IntPart() |
| | | } |
| | | if procedure != nil { |
| | | resp.RealStartTime = procedure.RealStartTime |
| | | resp.RealEndTime = procedure.RealEndTime |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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 { //生产 |
| | |
| | | } |
| | | resp.PlcStatus = plcStatus |
| | | |
| | | resp.RealStartTime = service.TaskStartTimeGet(conf.Conf.CurrentDeviceID, params.Channel) |
| | | resp.RealEndTime = service.TaskEndTimeGet(conf.Conf.CurrentDeviceID, params.Channel) |
| | | if params.ProcedureId == 0 { |
| | | resp.RealStartTime = service.TaskStartTimeGet(conf.Conf.CurrentDeviceID, params.Channel) |
| | | resp.RealEndTime = service.TaskEndTimeGet(conf.Conf.CurrentDeviceID, params.Channel) |
| | | } |
| | | |
| | | ctx.OkWithDetailed(resp) |
| | | } |