Ejemplo n.º 1
0
        private void button21_Click(object sender, EventArgs e)
        {
            CmdLogs cmd = new CmdLogs()
            {
                CardInfoId = 1,
                CmdInfo    = "11111-22222-33333-44444-55555-66666-77777",
                CmdType    = GlareLedSysDefPub.CmdDefSetOilValue,
                CommDevId  = 1,
                CreateTime = DateTime.Now,
                Id         = 0,
                IsDetele   = 0,
                Result     = 0,
                ResultInfo = "",
                UpdateTime = DateTime.Now
            };
            string strError = "";

            CmdLogsBll.AddCommDevInfo(ref cmd, out strError);

            bool bSend    = InsertCmdToMemcached(cmd.Id);
            bool bRecived = false;

            if (bSend)
            {
                for (int i = 1; i < 10; i++)
                {
                    Thread.Sleep(1000);
                    if (RemoveCmdHandledInMemcached(cmd.Id))
                    {
                        bRecived = true;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public bool SendCMD(int id, string value)
        {
            bool bSend = false;

            if (!string.IsNullOrWhiteSpace(id.ToString()))
            {
                using (LedDb db = new LedDb())
                {
                    string strError = string.Empty;
                    GlareSysEfDbAndModels.CmdLogs aLog = new GlareSysEfDbAndModels.CmdLogs()
                    {
                        CardInfoId = id,
                        CmdInfo    = value,
                        CmdType    = GlareLedSysDefPub.CmdDefSetOilValue,
                        CommDevId  = id,
                        CreateTime = DateTime.Now,
                        IsDetele   = 0,
                        Result     = 0,
                        ResultInfo = "",
                        UpdateTime = DateTime.Now
                    };
                    bSend = CmdLogsBll.AddCommDevInfo(ref aLog, out strError);

                    bSend = InsertCmdToMemcached(aLog.Id);
                    if (bSend)
                    {
                        for (int i = 1; i < 10; i++)
                        {
                            Thread.Sleep(1000);
                            if (RemoveCmdHandledInMemcached(aLog.Id))
                            {
                                bSend = true;
                                break;
                            }
                        }
                    }
                }
            }
            else
            {
                bSend = false;
            }
            return(bSend);
        }
Ejemplo n.º 3
0
        private void buttonMdyCfg_Click(object sender, EventArgs e)
        {
            //1             //双面显示(单面为0x00)
            //3             //一面三个牌
            //5             //每个牌5个8(包含小8)
            //0             //是否显示9/10
            //8             //亮度等级

            CmdLogs cmd = new CmdLogs()
            {
                CardInfoId = 1,
                CmdInfo    = "1-3-5-0-8",
                CmdType    = GlareLedSysDefPub.CmdDefSetOilCfg,
                CommDevId  = 1,
                CreateTime = DateTime.Now,
                Id         = 0,
                IsDetele   = 0,
                Result     = 0,
                ResultInfo = "",
                UpdateTime = DateTime.Now
            };
            string strError = "";

            CmdLogsBll.AddCommDevInfo(ref cmd, out strError);

            bool bSend = InsertCmdToMemcached(cmd.Id);

            PiPublic.Log.LogMgr.WriteDebugDefSys("Insert To db,memdb id is:" + cmd.Id + " result is:" + bSend);
            bool bRecived = false;

            if (bSend)
            {
                for (int i = 1; i < 20; i++)
                {
                    Thread.Sleep(1000);
                    if (RemoveCmdHandledInMemcached(cmd.Id))
                    {
                        bRecived = true;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 设置小数点
        /// </summary>
        /// <param name="point"></param>
        /// <returns></returns>
        public bool SetPoint(int id, int IsDouble, int ScreenCount, string CardModel, int CardPointCount)
        {
            string strCardPointCount = string.Format("{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}", CardPointCount);

            // 设置小数点位数
            GlareSysEfDbAndModels.CmdLogs cmd = new GlareSysEfDbAndModels.CmdLogs()
            {
                CardInfoId = 1,
                CmdInfo    = strCardPointCount,//(默认重复12次,如果carkpoint是2,那么就是2-2-2-2....-2,如果是1则是1-1-1-1...-1),Web界面Add一个save界面
                CmdType    = GlareLedSysDefPub.CmdDefSetOilDigiCfg,
                CommDevId  = 1,
                CreateTime = DateTime.Now,
                Id         = 0,
                IsDetele   = 0,
                Result     = 0,
                ResultInfo = "",
                UpdateTime = DateTime.Now
            };
            string strError = "";

            CmdLogsBll.AddCommDevInfo(ref cmd, out strError);

            bool bSend    = InsertCmdToMemcached(cmd.Id);
            bool bRecived = false;

            if (bSend)
            {
                for (int i = 1; i < 10; i++)
                {
                    Thread.Sleep(1000);
                    if (RemoveCmdHandledInMemcached(cmd.Id))
                    {
                        bRecived = true;
                        break;
                    }
                }
            }
            if (bRecived)
            {
                SaveDev(id, IsDouble, ScreenCount, CardModel, CardPointCount);
            }
            return(bRecived);
        }
Ejemplo n.º 5
0
        private void button28_Click(object sender, EventArgs e)
        {
            // 读取小数点位数
            CmdLogs cmd = new CmdLogs()
            {
                CardInfoId = 1,
                CmdInfo    = "",
                CmdType    = GlareLedSysDefPub.CmdDefGetOilDigiCfg,
                CommDevId  = 1,
                CreateTime = DateTime.Now,
                Id         = 0,
                IsDetele   = 0,
                Result     = 0,
                ResultInfo = "",
                UpdateTime = DateTime.Now
            };
            string strError = "";

            CmdLogsBll.AddCommDevInfo(ref cmd, out strError);

            bool bSend    = InsertCmdToMemcached(cmd.Id);
            bool bRecived = false;

            if (bSend)
            {
                for (int i = 1; i < 10; i++)
                {
                    Thread.Sleep(1000);
                    if (RemoveCmdHandledInMemcached(cmd.Id))
                    {
                        MessageBox.Show("处理成功,查询数据库获取结果");
                        bRecived = true;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public void Run()
        {
            int iTestNoCmdTickCount = 0;

            while (_run)
            {
                try
                {
                    Thread.Sleep(100);
                    RemoveHendResultInMemcached();

                    string strIds = PiPublic.MemcachedMgr.GetVal("NewCmdIds");

                    PiPublic.MemcachedMgr.SetVal("NewCmdIds", "");
                    if (strIds.Length == 0)
                    {
                        iTestNoCmdTickCount++;
                        if (iTestNoCmdTickCount > 1000)
                        {
                            iTestNoCmdTickCount = 0;
                            PiPublic.MemcachedMgr.SetVal(GLLedPublic.GlareLedSysDefPub.MemcachedKeyCmdResult, "");
                        }
                        continue;
                    }


                    PiPublic.Log.LogMgr.WriteDebugDefSys("memcached cmd id is" + strIds);

                    iTestNoCmdTickCount = 0;
                    List <CmdLogs> lstCmd = CmdLogsBll.GetNewCmdsByMinutes(3);
                    if (lstCmd.Count == 0)
                    {
                        // 时间过期到命令
                        PiPublic.Log.LogMgr.WriteDebugDefSys("memcached cmd timeouted....");
                        PiPublic.MemcachedMgr.SetVal(GLLedPublic.GlareLedSysDefPub.MemcachedKeyNewCmd, "");
                        continue;
                    }

                    bool   bResult   = false;
                    string strResult = "";
                    foreach (var item in lstCmd)
                    {
                        LogMgr.WriteDebugDefSys("handleing cmd id is" + item.Id + "create dt is" + item.CreateTime);
                        if (item.CreateTime.Value.AddMinutes(1) < DateTime.Now)
                        {
                            RemoveNewCmdInMemcached(item.Id);
                            CmdLogsBll.UpdateACmdResult(item.Id, 99, "timeoutcmd");
                            continue;
                        }

                        if (item.CmdType == GlareLedSysDefPub.CmdDefSetOilValue)
                        {
                            bResult = SetOilValue(item.CommDevId.Value, item.CmdInfo);
                            CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, bResult ? "Success" : "Failed");
                            InsertNewHanedMemcached(item.Id);
                        }
                        else if (item.CmdType == GlareLedSysDefPub.CmdDefSetOilCfg)
                        {
                            bResult = SetOilCfg(item.CommDevId.Value, item.CmdInfo);
                            CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, bResult ? "Success" : "Failed");
                            InsertNewHanedMemcached(item.Id);
                        }
                        else if (item.CmdType == GlareLedSysDefPub.CmdDefGetOilCfg)
                        {
                            bResult = GetOilCfgBySpilits(item.CommDevId.Value, out strResult);
                            CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, strResult);
                            InsertNewHanedMemcached(item.Id);
                        }
                        else if (item.CmdType == GlareLedSysDefPub.CmdDefGetOilValue)
                        {
                            bResult = GetOilValue(item.CommDevId.Value, out strResult);
                            CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, strResult);
                            InsertNewHanedMemcached(item.Id);
                        }
                        else if (item.CmdType == GlareLedSysDefPub.CmdDefSetOilDigiCfg)
                        {
                            bResult = SetOilDigi(item.CommDevId.Value, item.CmdInfo);
                            CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, bResult ? "Success" : "Failed");
                            InsertNewHanedMemcached(item.Id);
                        }
                        else if (item.CmdType == GlareLedSysDefPub.CmdDefGetOilDigiCfg)
                        {
                            bResult = GetOilDigiCfgBySpilits(item.CommDevId.Value, out strResult);
                            CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, strResult);
                            InsertNewHanedMemcached(item.Id);
                        }
                        else
                        {
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogMgr.WriteErrorDefSys("cmd op thread ex:");
                    LogMgr.WriteErrorDefSys(ex.Message);
                }
            }
        }
Ejemplo n.º 7
0
        public ActionResult Setcfg(int id, int IsDouble, int ScreenCount, string CardModel, int CardPointCount)
        {
            object objResult = null;

            if (!string.IsNullOrWhiteSpace(id.ToString()))
            {
                using (LedDb db = new LedDb())
                {
                    string strError = string.Empty;

                    //1             //双面显示(单面为0x00)  isdouble
                    //3             //一面三个牌 screencount
                    //5             //每个牌5个8(包含小8) 价格数字的数量(CardModel,例如:GL-88888,那就填写5,GL-88888-8(上标小字),填写6
                    //0             //是否显示9/10(如果是GL-888-8-910,则为1,否则为0)
                    //8             //亮度等级,永远写8
                    string CmdInfo = "";
                    if (IsDouble == 1)//双面显示
                    {
                        CmdInfo = "1";
                    }
                    else
                    {
                        CmdInfo = "0x00";
                    }
                    CmdInfo = CmdInfo + "-" + ScreenCount.ToString();//screencount

                    string strEightModel = CardModel.Replace("GL", "").Replace("-", "");
                    int    iEightCount   = strEightModel.Length;
                    CmdInfo = CmdInfo + "-" + iEightCount.ToString(); //每个牌5个8(包含小8)

                    if (CardModel.Contains("910"))                    //是否显示9/10
                    {
                        CmdInfo = CmdInfo + "-1";
                    }
                    else
                    {
                        CmdInfo = CmdInfo + "-0";
                    }
                    CmdInfo = CmdInfo + "-8";//亮度
                    GlareSysEfDbAndModels.CmdLogs cmd = new GlareSysEfDbAndModels.CmdLogs()
                    {
                        CardInfoId = id,
                        CmdInfo    = CmdInfo,
                        CmdType    = GlareLedSysDefPub.CmdDefSetOilCfg,
                        CommDevId  = id,
                        CreateTime = DateTime.Now,
                        Id         = 0,
                        IsDetele   = 0,
                        Result     = 0,
                        ResultInfo = "",
                        UpdateTime = DateTime.Now
                    };
                    CmdLogsBll.AddCommDevInfo(ref cmd, out strError);

                    bool bSend    = InsertCmdToMemcached(cmd.Id);
                    bool bRecived = false;
                    if (bSend)
                    {
                        for (int i = 1; i < 10; i++)
                        {
                            Thread.Sleep(1000);
                            if (RemoveCmdHandledInMemcached(cmd.Id))
                            {
                                bRecived = true;
                                break;
                            }
                        }
                    }

                    if (bRecived)
                    {
                        bool bSetPoint = SetPoint(id, IsDouble, ScreenCount, CardModel, CardPointCount);
                        if (bSetPoint)
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = "Command issued Success",
                                Msg    = "Command issued Success",
                                Obj    = cmd,
                                Ret    = 1,
                                Status = true
                            };
                        }
                        else
                        {
                            objResult = new ResultHelper()
                            {
                                Desc   = "Setcfg Success,Command issued Faile,please try again",
                                Msg    = "Setcfg Success,Command issued Faile,please try again",
                                Obj    = cmd,
                                Ret    = -1,
                                Status = false
                            };
                        }
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Status = false,
                            Ret    = -1,
                            Obj    = null,
                            Msg    = strError,
                            Desc   = strError
                        };
                    }
                }
            }
            else
            {
                objResult = new ResultHelper()
                {
                    Status = false,
                    Ret    = -1,
                    Obj    = null,
                    Msg    = "id is null,Please try again later",
                    Desc   = "id is null,Please try again later"
                };
            }
            return(Json(objResult));
        }
Ejemplo n.º 8
0
        public ActionResult SendCMD(int id, string value)
        {
            object objResult = null;

            if (!string.IsNullOrWhiteSpace(id.ToString()))
            {
                using (LedDb db = new LedDb())
                {
                    string strError = string.Empty;
                    GlareSysEfDbAndModels.CmdLogs aLog = new GlareSysEfDbAndModels.CmdLogs()
                    {
                        CardInfoId = id,
                        CmdInfo    = value,
                        CmdType    = GlareLedSysDefPub.CmdDefSetOilValue,
                        CommDevId  = id,
                        CreateTime = DateTime.Now,
                        IsDetele   = 0,
                        Result     = 0,
                        ResultInfo = "",
                        UpdateTime = DateTime.Now
                    };
                    bool bSend = CmdLogsBll.AddCommDevInfo(ref aLog, out strError);

                    bSend = InsertCmdToMemcached(aLog.Id);
                    bool bRecived = false;
                    if (bSend)
                    {
                        for (int i = 1; i < 10; i++)
                        {
                            Thread.Sleep(1000);
                            if (RemoveCmdHandledInMemcached(aLog.Id))
                            {
                                bRecived = true;
                                break;
                            }
                        }
                    }

                    if (bRecived)
                    {
                        objResult = new ResultHelper()
                        {
                            Desc   = "Command issued Success",
                            Msg    = "Command issued Success",
                            Obj    = aLog,
                            Ret    = 1,
                            Status = true
                        };
                    }
                    else
                    {
                        objResult = new ResultHelper()
                        {
                            Status = false,
                            Ret    = -1,
                            Obj    = null,
                            Msg    = strError,
                            Desc   = strError
                        };
                    }
                }
            }
            else
            {
                objResult = new ResultHelper()
                {
                    Status = false,
                    Ret    = -1,
                    Obj    = null,
                    Msg    = "id is null,Please try again later",
                    Desc   = "id is null,Please try again later"
                };
            }
            return(Json(objResult));
        }