Example #1
0
        public static List <ProjectFAViewModules> RetrieveDoneFAData(string pjkey, Controller ctrl)
        {
            var ret = new List <ProjectFAViewModules>();

            var issuedict = IssueViewModels.RRetrieveFAByPjkey(pjkey, Resolute.Done, 2000, ctrl);

            foreach (var d in issuedict)
            {
                if (d.CommentList.Count == 2)
                {
                    bool sameas = false;
                    foreach (var com in d.CommentList)
                    {
                        if (com.Comment.Contains("<p>Issue Same As <a"))
                        {
                            sameas = true;
                            break;
                        }

                        if (com.Comment.Contains("passed") &&
                            string.Compare(com.Reporter, "System", true) == 0)
                        {
                            sameas = true;
                            break;
                        }
                    }
                    if (sameas)
                    {
                        continue;
                    }
                }

                if (d.Summary.Contains("@Burn-In Step"))
                {
                    var pjdata = BITestData.RetrieveProjectTestDataByDataID(d.IssueKey);
                    if (pjdata.Count > 0)
                    {
                        var pd = new ProjectTestData();
                        pd.ModuleSerialNum = pjdata[0].ModuleSerialNum;
                        pd.ErrAbbr         = pjdata[0].ErrAbbr;
                        pd.ProjectKey      = d.ProjectKey;
                        ret.Add(new ProjectFAViewModules(d, pd));
                    }
                }
                else
                {
                    var pjdata = ProjectTestData.RetrieveProjectTestData(d.IssueKey);
                    if (pjdata.Count > 0)
                    {
                        ret.Add(new ProjectFAViewModules(d, pjdata[0]));
                    }
                }
            }

            return(ret);
        }
        public static ProjectYieldViewModule GetYieldByDateRange(string pjkey, string sdate, string edate, ProjectViewModels pvm, Cache mycache)
        {
            var ret = new ProjectYieldViewModule();

            ret.ProjectKey = pjkey;
            ret.StartDate  = DateTime.Parse(sdate);
            ret.EndDate    = DateTime.Parse(edate);

            var startdate = DateTime.Parse(DateTime.Parse(sdate).ToString("yyyy-MM-dd") + " 07:30:00").ToString();
            var enddate   = DateTime.Parse(DateTime.Parse(edate).ToString("yyyy-MM-dd") + " 07:30:00").ToString();

            if (startdate == enddate)
            {
                return(ret);
            }

            var plist = ProjectTestData.RetrieveProjectTestData(pjkey, startdate, DateTime.Parse(enddate).AddYears(5).ToString(), false, mycache);

            if (plist.Count == 0)
            {
                return(ret);
            }


            var fdatalist = new List <ProjectTestData>();
            var enddatet  = DateTime.Parse(enddate);

            foreach (var item in plist)
            {
                if (enddatet >= item.TestTimeStamp)
                {
                    fdatalist.Add(item);
                }
            }

            //var fdatalist = ProjectTestData.RetrieveProjectTestData(pjkey, startdate, enddate, false);
            RetrieveRealTimeYield(ret, fdatalist, pvm);

            var tplist    = new List <ProjectTestData>();
            var datacount = fdatalist.Count - 1;

            for (int idx = datacount; idx >= 0; idx--)
            {
                tplist.Add(fdatalist[idx]);
            }

            //var tplist = ProjectTestData.RetrieveProjectTestData(pjkey, startdate, enddate, true);

            var snstationdict = ProjectTestData.RetrieveSNBeforeDateWithStation(pjkey, startdate, mycache);
            var sndict        = new Dictionary <string, bool>();

            foreach (var kvpair in snstationdict)
            {
                var endindex = kvpair.Key.LastIndexOf('-');
                var sn       = kvpair.Key.Substring(0, endindex);
                if (!sndict.ContainsKey(sn))
                {
                    sndict.Add(sn, true);
                }
            }


            //var sndict = ProjectTestData.RetrieveSNBeforeDate(pjkey, startdate);
            var validatedict = new Dictionary <string, bool>();

            foreach (var item in tplist)
            {
                if (!sndict.ContainsKey(item.ModuleSerialNum))
                {
                    if (!validatedict.ContainsKey(item.ModuleSerialNum))
                    {
                        validatedict.Add(item.ModuleSerialNum, true);
                    }
                }
            }

            //var plist = ProjectTestData.RetrieveProjectTestData(pjkey, startdate,DateTime.Parse(enddate).AddYears(5).ToString(), false);
            var filteredPjData2 = new List <ProjectTestData>();

            foreach (var item in plist)
            {
                if (validatedict.ContainsKey(item.ModuleSerialNum))
                {
                    filteredPjData2.Add(item);
                }
            }
            RetrieveSNYield(ret, filteredPjData2, pvm);


            //plist = ProjectTestData.RetrieveProjectTestData(pjkey, startdate, enddate, true);
            //snlist = ProjectTestData.RetrieveSNBeforeDateWithStation(pjkey, startdate);
            validatedict = new Dictionary <string, bool>();
            var filteredPjData = new List <ProjectTestData>();

            foreach (var item in tplist)
            {
                if (!snstationdict.ContainsKey(item.ModuleSerialNum + "-" + item.WhichTest))
                {
                    filteredPjData.Add(item);
                    if (!validatedict.ContainsKey(item.ModuleSerialNum))
                    {
                        validatedict.Add(item.ModuleSerialNum, true);
                    }
                }
            }

            RetrieveFirstYield(ret, filteredPjData, pvm);


            //plist = ProjectTestData.RetrieveProjectTestData(pjkey, startdate, enddate, false);
            filteredPjData2 = new List <ProjectTestData>();
            foreach (var item in fdatalist)
            {
                if (validatedict.ContainsKey(item.ModuleSerialNum))
                {
                    filteredPjData2.Add(item);
                }
            }

            RetrieveCummYield(ret, filteredPjData2, pvm);

            plist.Clear();
            snstationdict.Clear();
            sndict.Clear();
            validatedict.Clear();
            GC.Collect();
            GC.WaitForPendingFinalizers();

            return(ret);
        }
Example #3
0
        public static List <ProjectFAViewModules> RetrievePendingFAData(string pjkey, Controller ctrl)
        {
            var ret        = new List <ProjectFAViewModules>();
            var issuedict  = IssueViewModels.RRetrieveFAByPjkey(pjkey, Resolute.Working, 50, ctrl);
            var issuedict2 = IssueViewModels.RRetrieveFAByPjkey(pjkey, Resolute.Pending, 500, ctrl);

            issuedict.AddRange(issuedict2);

            var bisndict = new Dictionary <string, string>();
            var fasndict = new Dictionary <string, string>();

            foreach (var d in issuedict)
            {
                if (d.Summary.Contains("@Burn-In Step"))
                {
                    var sn     = "";
                    var pjdata = BITestData.RetrieveProjectTestDataByDataID(d.IssueKey);
                    if (pjdata.Count > 0)
                    {
                        sn = pjdata[0].ModuleSerialNum;
                    }

                    if (!string.IsNullOrEmpty(sn) && !bisndict.ContainsKey(sn))
                    {
                        bisndict.Add(sn, d.ReportDate.ToString());
                        var pd = new ProjectTestData();
                        pd.ModuleSerialNum = sn;
                        pd.ErrAbbr         = pjdata[0].ErrAbbr;
                        pd.ProjectKey      = d.ProjectKey;
                        ret.Add(new ProjectFAViewModules(d, pd));
                    }
                    else if (!string.IsNullOrEmpty(sn) && bisndict.ContainsKey(sn))
                    {
                        //close automaticlly
                        IssueViewModels.CloseDupBIIssueAutomaticlly(d.ProjectKey, sn, bisndict[sn]);
                    }
                }
                else
                {
                    var sn     = "";
                    var pjdata = ProjectTestData.RetrieveProjectTestData(d.IssueKey);
                    if (pjdata.Count > 0)
                    {
                        sn = pjdata[0].ModuleSerialNum;
                    }

                    if (!string.IsNullOrEmpty(sn) && !fasndict.ContainsKey(sn))
                    {
                        fasndict.Add(sn, d.ReportDate.ToString());
                        ret.Add(new ProjectFAViewModules(d, pjdata[0]));
                    }
                    else if (!string.IsNullOrEmpty(sn) && fasndict.ContainsKey(sn))
                    {
                        //close automaticlly
                        IssueViewModels.CloseDupIssueAutomaticlly(d.ProjectKey, sn, fasndict[sn]);
                    }
                }
            }

            return(ret);
        }