|
|
@@ -18,26 +18,43 @@ namespace Vbdsm.Gen
|
|
|
public string TerminalIds { get; set; }
|
|
|
public string? CompanyId { get; set; }
|
|
|
|
|
|
- public string GenTerminals(string? date = null)
|
|
|
+ public string GenTerminals(long date)
|
|
|
{
|
|
|
- date = date ?? $"{DateTime.Now:yyyyMMddHH}{(DateTime.Now.Minute - DateTime.Now.Minute % 15):D2}00";
|
|
|
+ //date = date ?? $"{DateTime.Now:yyyyMMddHH}{(DateTime.Now.Minute - DateTime.Now.Minute % 15):D2}00";
|
|
|
var str = $"st=01;cn={CompanyId};datatime={date};cphh=&&";
|
|
|
var tidList = TerminalIds.Split(',');
|
|
|
foreach (var tid in tidList)
|
|
|
{
|
|
|
- str += GenTerminal(tid) + "$";
|
|
|
+ var terminalStr = GenTerminal(tid, date);
|
|
|
+ if (string.IsNullOrEmpty(terminalStr))
|
|
|
+ {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ str += terminalStr + "$";
|
|
|
}
|
|
|
str = str.TrimEnd('$');
|
|
|
- Console.WriteLine($"\t {str}");
|
|
|
byte[] bytes = StrHexHelper.HexStrToArray(StrHexHelper.StrToHexStr(str, Encoding.Default));
|
|
|
var result = $"##{str.Length:D6}{str}{StrHexHelper.do_CRC(bytes)}\r\n";
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private string GenTerminal(string terminalId)
|
|
|
+ // public long GetGenDateTime(string terminalId)
|
|
|
+ // {
|
|
|
+ // string fileName = $"{CompanyId}@{terminalId}";
|
|
|
+ // TerminalData terminalData = FileHelper.ReadFileInfo<TerminalData>(fileName) ?? new TerminalData(CompanyId, terminalId);
|
|
|
+ // return terminalData.GenDateTime;
|
|
|
+ // }
|
|
|
+
|
|
|
+ private string GenTerminal(string terminalId, long date)
|
|
|
{
|
|
|
string fileName = $"{CompanyId}@{terminalId}";
|
|
|
TerminalData terminalData = FileHelper.ReadFileInfo<TerminalData>(fileName) ?? new TerminalData(CompanyId, terminalId);
|
|
|
+ var genDate = terminalData.GenDateTime;
|
|
|
+ if (genDate != 0 && genDate >= date)
|
|
|
+ {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
var str = $"tid={terminalId}";
|
|
|
var power = new PowerEnergy();
|
|
|
var dp = Helper.GetRan(22000, 3000, 100);
|
|
|
@@ -47,7 +64,7 @@ namespace Vbdsm.Gen
|
|
|
var ps = terminalData.Total_P + dp;
|
|
|
var qs = terminalData.Total_E + de;
|
|
|
power.SetEngine(pe, qe, ps, ps);
|
|
|
- terminalData.SetMouthTotal_P(pe == 0 ? (decimal)0.01 : pe).SetMouthTotal_E(qe == 0 ? (decimal)0.01 : qe).SetTotal_P(ps).SetTotal_E(qs).Save();
|
|
|
+ terminalData.SetMouthTotal_P(pe == 0 ? (decimal)0.01 : pe).SetMouthTotal_E(qe == 0 ? (decimal)0.01 : qe).SetTotal_P(ps).SetTotal_E(qs).SetGenDateTime(date).Save();
|
|
|
str += "&" + power.GetStr();
|
|
|
var hia = new Harmonic("a").SetI(power.ia);
|
|
|
str += "&" + hia.GetStr_I();
|