| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System.Text;
- using StressClient.Common;
- using Vbdsm.Common;
- using Vbdsm.Model;
- namespace Vbdsm.Gen
- {
- public class GenData
- {
- public GenData(string terminalIds, string? companyId)
- {
- TerminalIds = terminalIds;
- CompanyId = companyId;
- }
- public string TerminalIds { get; set; }
- public string? CompanyId { get; set; }
- public string GenTerminals(long date)
- {
- //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)
- {
- var terminalStr = GenTerminal(tid, date);
- if (string.IsNullOrEmpty(terminalStr))
- {
- return "";
- }
- str += terminalStr + "$";
- }
- str = str.TrimEnd('$');
- byte[] bytes = StrHexHelper.HexStrToArray(StrHexHelper.StrToHexStr(str, Encoding.Default));
- var result = $"##{str.Length:D6}{str}{StrHexHelper.do_CRC(bytes)}\r\n";
- return result;
- }
- // 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);
- var de = Helper.GetRan(6600, 600, 100);
- var pe = terminalData.GetCurMonthTotal_P() == 0 ? 0 : terminalData.GetCurMonthTotal_P() + dp;
- var qe = terminalData.GetCurMonthTotal_E() == 0 ? 0 : terminalData.GetCurMonthTotal_E() + de;
- 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).SetGenDateTime(date).Save();
- str += "&" + power.GetStr();
- var hia = new Harmonic("a").SetI(power.ia);
- str += "&" + hia.GetStr_I();
- var hib = new Harmonic("b").SetI(power.ib);
- str += "&" + hib.GetStr_I();
- var hic = new Harmonic("c").SetI(power.ic);
- str += "&" + hic.GetStr_I();
- var hua = new Harmonic("a").SetU(power.ua);
- str += "&" + hua.GetStr_U();
- var hub = new Harmonic("b").SetU(power.ub);
- str += "&" + hub.GetStr_U();
- var huc = new Harmonic("c").SetU(power.uc);
- str += "&" + huc.GetStr_U();
- return str;
- }
- }
- }
|