示例#1
0
        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);
        }
示例#2
0
        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);
        }