Example #1
0
        //private static readonly string _connString = "server=wuxsg01;database=mesystem;user id=root;password=Jabil12345;CharacterSet=gb2312;";
        public int Insert(PCCActionInfo info)
        {
            string cmdText = @"insert into actiontrack(Application,Bay,WarningData,WarningFrom,WarningOwner,Proposal,ActualAction,WarningStatus,ElapseMins,WarningInfo,ACTStatus)
                                values (@Application,@Bay,@WarningData,@WarningFrom,@WarningOwner,@Proposal,@ActualAction,@WarningStatus,@ElapseMins,@WarningInfo,@ACTStatus); select @@identity;";

            MySqlParameter[] paras = new MySqlParameter[] {
                new MySqlParameter("@Application", info.Application),
                new MySqlParameter("@Bay", info.Bay),
                new MySqlParameter("@WarningData", info.WarningData),
                new MySqlParameter("@WarningFrom", info.WarningFrom),
                new MySqlParameter("@WarningOwner", info.WarningOwner),
                new MySqlParameter("@Proposal", info.Proposal),
                new MySqlParameter("@ActualAction", info.ActualAction),
                new MySqlParameter("@WarningStatus", info.WarningStatus),
                new MySqlParameter("@ElapseMins", info.ElapseMins),
                new MySqlParameter("@WarningInfo", info.WarningInfo),
                new MySqlParameter("@ACTStatus", info.ACTStatus)
            };

            using (MySqlConnection conn = new MySqlConnection(_connString))
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(cmdText, conn);
                cmd.Parameters.AddRange(paras);
                return(Convert.ToInt32(cmd.ExecuteScalar()));
            }
        }
Example #2
0
        public void InsertTest()
        {
            SPI_PCC.DAL.PCCAction _pccDal = new DAL.PCCAction();

            PCCActionInfo pccActionInfo = new PCCActionInfo();

            pccActionInfo.Application   = "SPI PCC";
            pccActionInfo.Bay           = "Bay-08-1";
            pccActionInfo.WarningData   = 0;
            pccActionInfo.WarningFrom   = System.DateTime.Now;
            pccActionInfo.WarningOwner  = "CX Zhou";
            pccActionInfo.WarningStatus = "Open";
            pccActionInfo.ElapseMins    = 0;
            pccActionInfo.ActualAction  = "Edit";
            pccActionInfo.ACTStatus     = "";


            pccActionInfo.Proposal    = "Check SPI X Flag";
            pccActionInfo.WarningInfo = "ROA1286240" + " / XFlag= 1000 out of spec1";
            _pccDal.Insert(pccActionInfo);

            Assert.IsTrue(_pccDal.Insert(pccActionInfo) > 0);
        }
Example #3
0
        public void RulesCheck()
        {
            _list.Insert(0, this._info);

            bool hasReCalculatedCL = false;

            hasReCalculatedCL = ReCalculateCLXR(_list.Count);

            if (hasReCalculatedCL)
            {
                Model modelBLL = new Model(_info.Model);
                modelBLL.Update();
            }

            if (hasReCalculatedCL)
            {
                //reset the flag
                foreach (TestRecordInfo tr in _list)
                {
                    tr.XFlag = Status.WithinSpec;
                    tr.RFlag = Status.WithinSpec;
                }

                // recheck rule1 for previous N points
                foreach (TestRecordInfo tr in _list)
                {
                    if (tr.X > _info.Model.UCL_X || tr.X < _info.Model.LCL_X)
                    {
                        tr.XFlag |= Status.OutOfSpec1;
                    }

                    if (tr.R > _info.Model.UCL_R || tr.R < _info.Model.LCL_R)
                    {
                        tr.RFlag |= Status.OutOfSpec1;
                    }
                }

                // recheck rule2 for previous N points
                //Rule2_1Check();
            }
            else
            {
                //Rule1Check(_list);

                PCCActionInfo pccActionInfo = new PCCActionInfo();
                pccActionInfo.Application   = System.Configuration.ConfigurationManager.AppSettings["Application"].ToString();
                pccActionInfo.Bay           = _info.Line;
                pccActionInfo.WarningData   = 0;
                pccActionInfo.WarningFrom   = System.DateTime.Now;
                pccActionInfo.WarningOwner  = System.Configuration.ConfigurationManager.AppSettings["ApplicationOwner"].ToString();
                pccActionInfo.WarningStatus = "Open";
                pccActionInfo.ElapseMins    = 0;
                pccActionInfo.ActualAction  = "Edit";
                pccActionInfo.ACTStatus     = "";

                if (!Rule1CheckX())
                {
                    pccActionInfo.Proposal    = "Check SPI X Flag";
                    pccActionInfo.WarningInfo = _info.Model.ModelName + " / XFlag=" + _info.X + " out of spec1";
                    _pccDal.Insert(pccActionInfo);
                }
                if (!Rule1CheckR())
                {
                    pccActionInfo.Proposal    = "Check SPI Y Flag";
                    pccActionInfo.WarningInfo = _info.Model.ModelName + " / RFlag=" + _info.R + " out of spec1";
                    _pccDal.Insert(pccActionInfo);
                }

                if (_list.Count >= 7)
                {
                    //_list.RemoveRange(7, _list.Count - 7);

                    //Rule2Check(_list);


                    if (!Rule3CheckX(_list) && !Is8PointsRiseOrDeclineX(_list))
                    {
                        pccActionInfo.Proposal    = "Check SPI X Flag";
                        pccActionInfo.WarningInfo = _info.Model.ModelName + " / X out of spec3";
                        _pccDal.Insert(pccActionInfo);
                    }

                    if (!Rule3CheckR(_list) && !Is8PointsRiseOrDeclineR(_list))
                    {
                        pccActionInfo.Proposal    = "Check SPI R Flag";
                        pccActionInfo.WarningInfo = _info.Model.ModelName + " / R out of spec3";
                        _pccDal.Insert(pccActionInfo);
                    }
                }
            }

            foreach (TestRecordInfo info in _list)
            {
                _dal.info = info;
                _dal.Update();
            }
        }