2025-04-24 19:31:28 +08:00
|
|
|
|
using JiShe.CollectBus.Common.Extensions;
|
2025-04-25 14:35:59 +08:00
|
|
|
|
using JiShe.CollectBus.Protocol.Interfaces;
|
2025-04-24 19:31:28 +08:00
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
|
|
2025-04-27 09:16:37 +08:00
|
|
|
|
namespace JiShe.CollectBus.Protocol.T37612012.Appendix
|
2025-04-24 19:31:28 +08:00
|
|
|
|
{
|
2025-04-29 09:16:48 +08:00
|
|
|
|
public class Appendix_A1 : IAnalysisStrategy<List<string>>
|
2025-04-24 19:31:28 +08:00
|
|
|
|
{
|
|
|
|
|
|
private readonly ILogger<Appendix_A1> _logger;
|
|
|
|
|
|
|
|
|
|
|
|
public Appendix_A1(ILogger<Appendix_A1> logger)
|
|
|
|
|
|
{
|
|
|
|
|
|
_logger = logger;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-04-29 09:16:48 +08:00
|
|
|
|
public async Task<bool> ExecuteAsync(List<string> data, Action<dynamic>? result = null)
|
2025-04-24 19:31:28 +08:00
|
|
|
|
{
|
|
|
|
|
|
var seconds = data[0];
|
|
|
|
|
|
var minutes = data[1];
|
|
|
|
|
|
var hours = data[2];
|
|
|
|
|
|
var day = data[3];
|
|
|
|
|
|
string binString = data[4].HexTo4BinZero();
|
|
|
|
|
|
var months = (binString.Substring(3, 1).BinToDec() * 10) + Convert.ToInt32(binString.Substring(4, 4).BinToHex());
|
2025-05-08 17:20:07 +08:00
|
|
|
|
var week = binString.Substring(0, 3).BinToHex();
|
2025-04-24 19:31:28 +08:00
|
|
|
|
var year = $"{DateTime.Now.ToString("yyyy").Substring(0, 2)}{data[5]}";
|
2025-05-08 17:20:07 +08:00
|
|
|
|
string date= $"{year}-{months.ToString().PadLeft(2, '0')}-{day} {hours}:{minutes}:{seconds}";
|
|
|
|
|
|
string[] weekdays = {"", "星期一", "星期二", "星期三","星期四", "星期五", "星期六", "星期日"};
|
|
|
|
|
|
int.TryParse(week, out int weekday);
|
|
|
|
|
|
// Item1=日期,Item2=星期几
|
|
|
|
|
|
result?.Invoke(Tuple.Create(date, weekdays[weekday]));
|
2025-04-29 09:16:48 +08:00
|
|
|
|
return await Task.FromResult(true);
|
2025-04-24 19:31:28 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|