| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- using Newtonsoft.Json;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using WCS.Entity.Protocol;
 
- using WCS.Service.Extensions;
 
- using WCS.Service.Log;
 
- namespace WCS.Service.Helpers
 
- {
 
-     /// <summary>
 
-     /// 设备任务时长统计
 
-     /// </summary>
 
-     public static class DeviceTaskTimeHelper
 
-     {
 
-         public static List<DeviceTaskTimeViewModel> deviceTaskTimes = new List<DeviceTaskTimeViewModel>();
 
-         /// <summary>
 
-         /// 添加AGV开始记录
 
-         /// </summary>
 
-         public static void Add(this RGVDevice rgv)
 
-         {
 
-             if (deviceTaskTimes.Any(v => v.DeviceCode == rgv.Entity.CODE)) return;
 
-             deviceTaskTimes.Add(new DeviceTaskTimeViewModel
 
-             {
 
-                 DeviceCode = rgv.Entity.CODE,
 
-                 StartTime = DateTime.Now,
 
-                 TaskType = rgv.Data.TaskType_1.ToString(),
 
-                 StartAdd = rgv.CurrentStation().Entity.CODE,
 
-                 EndAdd = rgv.Data.DestPosition_1.ToString(),
 
-             });
 
-         }
 
-         /// <summary>
 
-         /// 添加AGV开始记录
 
-         /// </summary>
 
-         public static void End(this RGVDevice rgv)
 
-         {
 
-             if (deviceTaskTimes.Any(v => v.DeviceCode == rgv.Entity.CODE && v.TaskType == rgv.Data2.TaskType_1.ToString()))
 
-             {
 
-                 var deviceTaskTime = deviceTaskTimes.Find(v => v.DeviceCode == rgv.Entity.CODE);
 
-                 deviceTaskTime.EndTime = DateTime.Now;
 
-                 deviceTaskTime.SumTime = (deviceTaskTime.EndTime - deviceTaskTime.StartTime).TotalSeconds;
 
-                 InfoLog.INFO_DEVICETASKTIME(JsonConvert.SerializeObject(deviceTaskTime));
 
-                 deviceTaskTimes.Remove(deviceTaskTime);
 
-             }
 
-         }
 
-     }
 
-     /// <summary>
 
-     ///
 
-     /// </summary>
 
-     public class DeviceTaskTimeViewModel
 
-     {
 
-         /// <summary>
 
-         /// 设备号
 
-         /// </summary>
 
-         public string DeviceCode { get; set; }
 
-         /// <summary>
 
-         /// 开始时间
 
-         /// </summary>
 
-         public DateTime StartTime { get; set; }
 
-         /// <summary>
 
-         /// 结束时间
 
-         /// </summary>
 
-         public DateTime EndTime { get; set; }
 
-         /// <summary>
 
-         /// 总计时间
 
-         /// </summary>
 
-         public double SumTime { get; set; }
 
-         /// <summary>
 
-         /// 任务类型
 
-         /// </summary>
 
-         public string TaskType { get; set; }
 
-         /// <summary>
 
-         /// 起始地址
 
-         /// </summary>
 
-         public string StartAdd { get; set; }
 
-         /// <summary>
 
-         /// 目标地址
 
-         /// </summary>
 
-         public string EndAdd { get; set; }
 
-     }
 
- }
 
 
  |