public List <ManSpd> LoadLastSpdFile() { List <ManSpd> MSs = new List <ManSpd>(); var FnSn = GetSpdFileNLM(); using (var Xls = Tasker.XApp.Open(FnSn[0], FnSn[1])) { Xls.FeRoUT((l, strs) => { if (l == 1) { return(false); } var Mn = (ManName)Enum.Parse(typeof(ManName), strs[0]); var Ms = new ManSpd { Name = Mn }; float.TryParse(strs[1], out Ms.TotalPts); float.TryParse(strs[2], out Ms.Spd); MSs.Add(Ms); return(false); }); } return(MSs); }
public void SaveSpeed() { var Ents = GetTasks(Sql.Finished); //只统计可用人手 Dictionary <ManName, ManSpd> ManPts = new Dictionary <ManName, ManSpd>(); ManSpd All = new ManSpd { Name = ManName.TEAM, Spd = 0, TotalPts = 0 }; ManPts[ManName.TEAM] = All; foreach (var Ent in Ents) { if (ManPts.ContainsKey(Ent.ManRes)) { ManSpd Ms = ManPts[Ent.ManRes]; Ms.TotalPts += Ent.PtsPhs; } else { ManPts[Ent.ManRes] = new ManSpd { Name = Ent.ManRes, Spd = 0, TotalPts = Ent.PtsPhs }; } All.TotalPts += Ent.PtsPhs; } All.Spd = MathRound(All.TotalPts / Wd.WDaysInM, 1); List <ManSpd> MS = new List <ManSpd>(); foreach (var M in ManPts.Values) { M.Spd = M.TotalPts / Wd.WDaysInM; MS.Add(M); } var Ts = GetTesterSpeed(); foreach (var Tr in Ts) { MS.Add(Tr.Value); } MS.Sort((msA, msB) => { return(msA.Spd < msB.Spd ? 1 : (msA.Spd > msB.Spd ? -1 : 0)); }); Flr.WriteSpdFile(MS); }