| 123456789101112131415161718192021222324252627282930313233343536373839 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- namespace SKMC.Api.Process.Model
- {
- /// <summary>
- /// 路由分支步骤
- /// </summary>
- public class ProcessRouteStep : ProcessStep
- {
- /// <summary>
- /// 循环扫码间隔时间(ms)
- /// </summary>
- public int CT { get; set; } = 100;
- /// <summary>
- /// 路由分支动作, 该动作通常包含分支判断与Step跳转
- /// <return>true表示分支结束, false表示未结束</return>
- /// </summary>
- public Func<bool> Routes { get; set; }
- public ProcessRouteStep()
- {
- Actions = () =>
- {
- while (true)
- {
- Thread.Sleep(CT);
- if (ProcessStation.CheckTaskCancelled()) return;
- if (Routes != null && Routes.Invoke()) return;
- }
- };
- }
- }
- }
|