/// <summary> /// 机台命令处理 /// </summary> /// <param name="json"></param> public void CmdAccept(string json) { try { var mqCmds = JsonConvert.DeserializeObject <List <AppCmd> >(json); var mqCmd = mqCmds.FirstOrDefault(m => MachineConfig.MachineDict.Keys.Contains(m.machineCode.ToUpper())); if (mqCmd == null) { return; } //机台过滤 if (MachineConfig.MachineDict.Keys.Contains(mqCmd.machineCode.ToUpper())) { mqCmd.machineCode = mqCmd.machineCode.ToUpper(); //指定执行时间 if (mqCmd.execTime.HasValue) { var execTime = YUtil.UtcTimestampToLocalTime(mqCmd.execTime.Value); Console.WriteLine($"任务将在 {execTime.ToString("G")} 执行"); JobManager.AddJob(() => { App.Store.Dispatch(new MqActions.CmdAccept(mqCmd.machineCode, mqCmd)); }, (s) => s.ToRunOnceAt(execTime)); } else { App.Store.Dispatch(new MqActions.CmdAccept(mqCmd.machineCode, mqCmd)); } } } catch (Exception e) { Logger.Error("处理机台命令异常,命令为:" + json, e); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return("\\"); } try { var time = (JavaTime)value; var dateTime = YUtil.UtcTimestampToLocalTime(time.time); var format = "yyyy-MM-dd HH:mm:ss"; if (parameter != null && parameter is string formatParam) { format = formatParam; } return(dateTime.ToString(format)); } catch { return("\\"); } }
/// <summary> /// 接受到管道数据 /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void whenPipeReceived(object sender, YEventArgs args) { var pipeReceived = args.Payload as PipeReceived; if (pipeReceived != null) { var json = pipeReceived.Data; Cmd cmd = null; try { cmd = JsonConvert.DeserializeObject <Cmd>(json); if (cmd.SendTime.HasValue) { HmiLastActiveTime = YUtil.UtcTimestampToLocalTime(cmd.SendTime.Value); Logger.Debug("HmiPro 活动时间:" + HmiLastActiveTime); } } catch (Exception e) { Logger.Error("反序列化管道数据失败,数据:" + json, e); return; } cmd.Where = CmdWhere.FromPipe; } }
public void javaTimeTest() { Console.WriteLine(YUtil.UtcTimestampToLocalTime(1524712304000)); }