Ejemplo n.º 1
0
        public void SerializeTest()
        {
            DB.Serializer serializer = new DB.Serializer();
            var           ctx        = EntityChangeSetTests.RandomContext();

            for (int i = 0; i < 100; i++)
            {
                RCS       rcs     = RandomOutboundRCS(ctx);
                SerialRCS srcs    = new SerialRCS(new RCS.GenID(Int3.Zero, Int3.One, 0), rcs);
                string    json    = serializer.Serialize(srcs);
                SerialRCS backRCS = serializer.Deserialize <SerialRCS>(json);
                RCS       back    = backRCS.Deserialize();
                Assert.AreEqual(srcs, backRCS);
                Assert.AreEqual(rcs, back);
            }

            for (int i = 0; i < 100; i++)
            {
                SDS    sds     = RandomSDS(ctx);
                var    s       = new SerialSDS(sds, Simulation.ID.XYZ);
                string json    = serializer.Serialize(s);
                var    reverse = serializer.Deserialize <SerialSDS>(json);
                Assert.AreEqual(s, reverse);
                SDS rev2 = reverse.Deserialize();
                Assert.IsTrue(sds.ICMessagesAndEntitiesAreEqual(rev2));
            }
        }
Ejemplo n.º 2
0
        public static SDS GetMapping(SPWebApplication webApp)
        {
            var sds = new SDS();

            if (webApp.SiteDataServers.Count < 1)
            {
                return(null);
            }
            foreach (var t in webApp.SiteDataServers)
            {
                var uriList = t.Value.ToList();
                sds.Add(t.Key, uriList);
            }
            return(sds);
        }
Ejemplo n.º 3
0
 public Form1()
 {
     InitializeComponent();
     checkedListBox1.SetItemChecked(3, true);
     SDS.Select();
     if (Properties.Settings.Default.sciezka_odczytu_se.Count() > 4)
     {
         sciezka_zaczytania.Text = Properties.Settings.Default.sciezka_odczytu_se;
     }
     else
     {
         sciezka_zaczytania.Text = Directory.GetCurrentDirectory() + (char)92 + "SDS";
     }
     if (Properties.Settings.Default.sciezka_zapisu_se.Count() > 4)
     {
         sciezka_zapisu.Text = Properties.Settings.Default.sciezka_zapisu_se;
     }
     else
     {
         sciezka_zapisu.Text = Directory.GetCurrentDirectory() + (char)92 + "SDSP";
     }
 }
Ejemplo n.º 4
0
    private ReturnObject ReadSDS()
    {
        ReturnObject ro = new ReturnObject();

        try
        {
            if (File.Exists(gameSavePath + gds.Current_Game_ID + ".save"))
            {
                string stringSDS = File.ReadAllText(gameSavePath + gds.Current_Game_ID + ".save");
                SDS    sds       = JsonConvert.DeserializeObject <SDS>(stringSDS);

                gds.SDS.InventoryItems   = sds.InventoryItems;
                gds.SDS.PlayerInfo       = sds.PlayerInfo;
                gds.SDS.CurrentGameState = sds.CurrentGameState;

                sds = null;

                ro.Return_Status     = Enums.Return_Status.OK;
                ro.Friendly_Message  = "SDS has been loaded.";
                ro.Technical_Message = ro.Friendly_Message;
            }
            else
            {
                //Uh...file doesn't exist
            }
        }
        catch (Exception ex)
        {
            //Something went wrong with the reading of the save game file
            ro.Return_Status     = Enums.Return_Status.Error;
            ro.Friendly_Message  = "Unable to load the selected game.";
            ro.Technical_Message = "Unable to load the selected game: " + ex.Message;
            ro.Return_Object     = null;
        }

        return(ro);
    }
Ejemplo n.º 5
0
        /// <summary>
        /// 用SDS对象插入或更新条检测数据
        /// </summary>
        /// <param name="SDS">SDS</param>
        /// <returns>int 0为失败,1为插入成功,2为更新成功</returns>
        public int Save_SDS(SDS SDS)
        {
            string sqli = "insert into SDS(CLID,CLPH,COLOWCLZ,COLOWXZ,HCLOWCLZ,HCLOWXZ,COHIGHCLZ,COHIGHXZ,HCHIGHCLZ,HCHIGHXZ,LAMDAHIGHCLZ,LAMDAHIGHXZ,LAMDAHIGHPD,LOWPD,HIGHPD,ZHPD,JCRQ,WD,SD,DQY,SBMC,SBXH,SBZZC,FXYXH,FXYBH,FXYZZC,ZSJXH,ZSJBH,ZSJZZC) values(@CLID,@CLPH,@COLOWCLZ,@COLOWXZ,@HCLOWCLZ,@HCLOWXZ,@COHIGHCLZ,@COHIGHXZ,@HCHIGHCLZ,@HCHIGHXZ,@LAMDAHIGHCLZ,@LAMDAHIGHXZ,@LAMDAHIGHPD,@LOWPD,@HIGHPD,@ZHPD,@JCRQ,@WD,@SD,@DQY,@SBMC,@SBXH,@SBZZC,@FXYXH,@FXYBH,@FXYZZC,@ZSJXH,@ZSJBH,@ZSJZZC)";
            string sqlu = "update SDS set CLPH=@CLPH,COLOWCLZ=@COLOWCLZ,COLOWXZ=@COLOWXZ,HCLOWCLZ=@HCLOWCLZ,HCLOWXZ=@HCLOWXZ,COHIGHCLZ=@COHIGHCLZ,COHIGHXZ=@COHIGHXZ,HCHIGHCLZ=@HCHIGHCLZ,HCHIGHXZ=@HCHIGHXZ,LAMDAHIGHCLZ=@LAMDAHIGHCLZ,LAMDAHIGHXZ=@LAMDAHIGHXZ,LOWPD=@LOWPD,HIGHPD=@HIGHPD,ZHPD=@ZHPD,JCRQ=@JCRQ,WD=@WD,SD=@SD,DQY=@DQY,SBMC=@SBMC,SBXH=@SBXH,SBZZC=@SBZZC,FXYXH=@FXYXH,FXYBH=@FXYBH,FXYZZC=@FXYZZC,ZSJXH=@ZSJXH,ZSJBH=@ZSJBH,ZSJZZC=@ZSJZZC where CLID=@CLID";

            SqlParameter[] spr =
            {
                new SqlParameter("@CLID",         SDS.CLID),           //1
                new SqlParameter("@CLPH",         SDS.CLPH),
                new SqlParameter("@COLOWCLZ",     SDS.COLOWCLZ),
                new SqlParameter("@COLOWXZ",      SDS.COLOWXZ),
                new SqlParameter("@HCLOWXZ",      SDS.HCLOWXZ),
                new SqlParameter("@COHIGHCLZ",    SDS.COHIGHCLZ),               //6
                new SqlParameter("@COHIGHXZ",     SDS.COHIGHXZ),
                new SqlParameter("@HCHIGHCLZ",    SDS.HCHIGHCLZ),
                new SqlParameter("@HCHIGHXZ",     SDS.HCHIGHXZ),
                new SqlParameter("@LAMDAHIGHCLZ", SDS.LAMDAHIGHCLZ),
                new SqlParameter("@LAMDAHIGHXZ",  SDS.LAMDAHIGHXZ),       //11
                new SqlParameter("@LAMDAHIGHPD",  SDS.LAMDAHIGHPD),       //11
                new SqlParameter("@LOWPD",        SDS.LOWPD),
                new SqlParameter("@HIGHPD",       SDS.HIGHPD),            //11
                new SqlParameter("@ZHPD",         SDS.ZHPD),
                new SqlParameter("@JCRQ",         SDS.JCRQ),
                new SqlParameter("@WD",           SDS.WD),
                new SqlParameter("@SD",           SDS.SD),
                new SqlParameter("@DQY",          SDS.DQY),         //16
                new SqlParameter("@SBMC",         SDS.SBMC),
                new SqlParameter("@SBXH",         SDS.SBXH),
                new SqlParameter("@SBZZC",        SDS.SBZZC),
                new SqlParameter("@ZSJXH",        SDS.ZSJXH),
                new SqlParameter("@ZSJBH",        SDS.ZSJBH),           //21
                new SqlParameter("@ZSJZZC",       SDS.ZSJZZC),
                new SqlParameter("@FXYXH",        SDS.FXYXH),
                new SqlParameter("@FXYBH",        SDS.FXYBH),
                new SqlParameter("@FXYZZC",       SDS.FXYZZC)            //47
            };
            try
            {
                if (Have_SDS(SDS.CLID))
                {
                    if (DBHelperSQL.Execute(sqlu, spr) > 0)
                    {
                        return(2);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    if (DBHelperSQL.Execute(sqli, spr) > 0)
                    {
                        return(1);
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 用检测编号和次数查询一条检测数据
        /// </summary>
        /// <param name="jcbh">检测编号</param>
        /// <param name="jccs">检测次数</param>
        /// <returns>SDS检测数据Model</returns>
        public SDS Get_SDS(string CLID)
        {
            DateTime a;
            string   sql = "select * from SDS where CLID=@CLID";

            SqlParameter[] spr =
            {
                new SqlParameter("@CLID", CLID)
            };
            try
            {
                SDS       SDS = new SDS();
                DataTable dt  = DBHelperSQL.GetDataTable(sql, CommandType.Text, spr);
                if (dt.Rows.Count > 0)
                {
                    SDS.CLID         = dt.Rows[0]["CLID"].ToString();//1
                    SDS.CLPH         = dt.Rows[0]["CLPH"].ToString();
                    SDS.COLOWCLZ     = dt.Rows[0]["COLOWCLZ"].ToString();
                    SDS.COLOWXZ      = dt.Rows[0]["COLOWXZ"].ToString();
                    SDS.HCLOWCLZ     = dt.Rows[0]["HCLOWCLZ"].ToString();
                    SDS.HCLOWXZ      = dt.Rows[0]["HCLOWXZ"].ToString();//6
                    SDS.COHIGHCLZ    = dt.Rows[0]["COHIGHCLZ"].ToString();
                    SDS.COHIGHXZ     = dt.Rows[0]["COHIGHXZ"].ToString();
                    SDS.HCHIGHCLZ    = dt.Rows[0]["HCHIGHCLZ"].ToString();
                    SDS.HCHIGHXZ     = dt.Rows[0]["HCHIGHXZ"].ToString();
                    SDS.LAMDAHIGHCLZ = dt.Rows[0]["LAMDAHIGHCLZ"].ToString(); //11
                    SDS.LAMDAHIGHXZ  = dt.Rows[0]["LAMDAHIGHXZ"].ToString();  //11
                    SDS.LAMDAHIGHPD  = dt.Rows[0]["LAMDAHIGHPD"].ToString();  //11
                    SDS.LOWPD        = dt.Rows[0]["LOWPD"].ToString();        //11
                    SDS.HIGHPD       = dt.Rows[0]["HIGHPD"].ToString();       //11

                    SDS.COLOWPD  = dt.Rows[0]["COLOWPD"].ToString();          //11
                    SDS.COHIGHPD = dt.Rows[0]["COHIGHPD"].ToString();         //11
                    SDS.HCLOWPD  = dt.Rows[0]["HCLOWPD"].ToString();          //11
                    SDS.HCHIGHPD = dt.Rows[0]["HCHIGHPD"].ToString();         //11

                    SDS.ZHPD = dt.Rows[0]["ZHPD"].ToString();
                    DateTime.TryParse(dt.Rows[0]["JCRQ"].ToString(), out a);
                    if (a != null)
                    {
                        SDS.JCRQ = a;
                    }
                    else
                    {
                        SDS.JCRQ = DateTime.Today;
                    }
                    SDS.WD      = dt.Rows[0]["WD"].ToString();
                    SDS.SD      = dt.Rows[0]["SD"].ToString();
                    SDS.DQY     = dt.Rows[0]["DQY"].ToString();//16
                    SDS.SBMC    = dt.Rows[0]["SBMC"].ToString();
                    SDS.SBXH    = dt.Rows[0]["SBXH"].ToString();
                    SDS.SBZZC   = dt.Rows[0]["SBZZC"].ToString();
                    SDS.ZSJXH   = dt.Rows[0]["ZSJXH"].ToString();
                    SDS.ZSJBH   = dt.Rows[0]["ZSJBH"].ToString();//21
                    SDS.ZSJZZC  = dt.Rows[0]["ZSJZZC"].ToString();
                    SDS.FXYXH   = dt.Rows[0]["FXYXH"].ToString();
                    SDS.FXYBH   = dt.Rows[0]["FXYBH"].ToString();
                    SDS.FXYZZC  = dt.Rows[0]["FXYZZC"].ToString();
                    SDS.ZSLOW   = dt.Rows[0]["ZSLOW"].ToString();
                    SDS.ZSHIGH  = dt.Rows[0]["ZSHIGH"].ToString();
                    SDS.CO2HIGH = dt.Rows[0]["CO2HIGH"].ToString();
                    SDS.O2HIGH  = dt.Rows[0]["O2HIGH"].ToString();
                    SDS.CO2LOW  = dt.Rows[0]["CO2LOW"].ToString();
                    SDS.O2LOW   = dt.Rows[0]["O2LOW"].ToString();
                    if (dt.Columns.Contains("COLOWXXZ"))
                    {
                        SDS.COLOWXXZ   = dt.Rows[0]["COLOWXXZ"].ToString();
                        SDS.COHIGHXXZ  = dt.Rows[0]["COHIGHXXZ"].ToString();
                        SDS.COLOWXYZ   = dt.Rows[0]["COLOWXYZ"].ToString();
                        SDS.COHIGHXYZ  = dt.Rows[0]["COHIGHXYZ"].ToString();
                        SDS.CO2LOWXYZ  = dt.Rows[0]["CO2LOWXYZ"].ToString();
                        SDS.CO2HIGHXYZ = dt.Rows[0]["CO2HIGHXYZ"].ToString();
                        SDS.HCLOWXYZ   = dt.Rows[0]["HCLOWXYZ"].ToString();
                        SDS.HCHIGHXYZ  = dt.Rows[0]["HCHIGHXYZ"].ToString();
                    }
                }
                else
                {
                    SDS.CLID = "-2";
                }
                return(SDS);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 7
0
            public SerialSDS Finish()
            {
                SDS sds = new SDS(0, pool.ToArray(), InconsistencyCoverage.NewCommon());

                return(new SerialSDS(sds, sector));
            }
Ejemplo n.º 8
0
        private static void ReadResult()
        {
            bool   IsSave = false;
            string jcff   = IniHelper.ReadIni("RESULT", "JCFF", AppHelper.AppSetting.ShareFilePath + "DevResult.txt");

            Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", string.Join(" ", File.ReadAllLines(AppHelper.AppSetting.ShareFilePath + "DevResult.txt", Encoding.GetEncoding("GB2312"))));
            if ("40".Equals(jcff))
            {
                Task.Factory.StartNew(() => { Capture(JCLSH); });
                Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", $"读取测功结果[{JCLSH}]");
                YTH_CHECKDATA_ZJ zj   = null;
                DPCG             dpcg = new DPCG();
                FillEntityByIni(dpcg);
                zj = new YTH_CHECKDATA_ZJ();

                zj.GK_Judge = dpcg.GK_Judge.ChangePD();
                zj.GK_DBGL  = dpcg.GK_DBGL;
                zj.GK_EDCS  = dpcg.GK_EDCS;
                zj.GK_JZL   = dpcg.GK_JZL;
                zj.GK_WDCS  = dpcg.GK_WDCS;

                zj.CSPD = dpcg._SU_Judge.ChangePD();
                zj.CSZ  = dpcg._SU_Speed;


                zj.YH_PD  = dpcg.YH_PD.ChangePD();
                zj.YH_SCZ = dpcg.YH_SCZ;
                zj.YH_SD  = dpcg.YH_SD;
                zj.YH_JZL = dpcg.YH_JZL;
                zj.YH_LC  = dpcg.YH_LC;
                zj.JCLSH  = JCLSH;
                zj.YH_BZ  = dpcg.YH_BZ;
                zj.YCY    = YCY;
                hashtable.Clear();
                string[] ignoreField = zj.GetType().GetProperties().Where(p => p.GetValue(zj, null) == null || string.IsNullOrEmpty(p.GetValue(zj, null).ToString())).Select(p => p.Name).ToArray();
                zj.GetType().GetProperties().Where(p => p.GetValue(zj, null) != null && !string.IsNullOrEmpty(p.GetValue(zj, null).ToString())).ToList().ForEach(p => hashtable.Add($"{p.Name}", p.GetValue(zj, null)));
                IsSave = MssqlHelper.GetInstance().InsertOrUpdate(zj, hashtable, new string[] { "JCLSH" }, ignoreField);
            }
            else if ("15".Equals(jcff)) //双怠速
            {
                Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", "读取双怠速结果");
                SDS sds = new SDS();
                FillEntityByIni(sds);
                YTH_CHECKDATA yth = new YTH_CHECKDATA();
                yth.JCFFID   = "15";
                yth.GLKQXSXX = GlobalVar.GLKQXSXX;
                yth.GLKQXSSX = GlobalVar.GLKQXSSX;
                yth.GLKQXSJG = sds.R_H;
                yth.GLKQXSPD = sds.R_H_Judge.ChangePD();
                yth.DDSCOXZ  = sds.stdCO_L;
                yth.DDSCOJG  = sds.CO_L;
                yth.DDSCOPD  = sds.CO_L_Judge.ChangePD();
                yth.DDSHCXZ  = sds.stdHC_L;;
                yth.DDSHCJG  = sds.HC_L;
                yth.DDSHCPD  = sds.HC_L_Judge.ChangePD();
                yth.DDSZS    = sds.rev_L;
                yth.GDSZS    = sds.rev_H;
                yth.GDSCOXZ  = sds.stdCO_H;
                yth.GDSCOJG  = sds.CO_H_Judge.ChangePD();
                yth.GDSCOPD  = sds.CO_H_Judge;
                yth.GDSHCXZ  = sds.stdHC_H;
                yth.GDSHCJG  = sds.HC_H;
                yth.GDSHCPD  = sds.HC_H_Judge.ChangePD();
                yth.IGHJWD   = sds.OilTempAver;
                yth.IGHJSD   = sds.humidity;
                yth.IGHJDQY  = sds.pressure;
                yth.JCZT     = sds.All_Judge.ChangePD();
                yth.YCY      = YCY;
                yth.JCLSH    = JCLSH;
                yth.KSJCSJ   = sds.RunStartTime;
                yth.JSJCSJ   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                hashtable.Clear();
                string[] ignoreField = yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) == null || string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).Select(p => p.Name).ToArray();
                yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) != null && !string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).ToList().ForEach(p => hashtable.Add($"{p.Name}", p.GetValue(yth, null)));
                IsSave             = MssqlHelper.GetInstance().InsertOrUpdate(yth, hashtable, new string[] { "JCLSH" }, ignoreField);
                GlobalVar.GLKQXSSX = "1.05";
                GlobalVar.GLKQXSXX = "0.95";
            }
            else if ("14".Equals(jcff)) //不透光
            {
                Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", "读取不透光结果");
                ZYJS zyjs = new ZYJS();
                FillEntityByIni(zyjs);
                YTH_CHECKDATA yth = new YTH_CHECKDATA();
                yth.JCLSH    = JCLSH;
                yth.YCY      = YCY;
                yth.JCFFID   = "14";
                yth.BTGPFXZ  = zyjs.stdVelK;
                yth.BTGPFJG1 = zyjs.VelK1;
                yth.BTGPFJG2 = zyjs.VelK2;
                yth.BTGPFJG3 = zyjs.VelK3;
                yth.BTGPFPJZ = zyjs.VelKAver;
                yth.BTGDSZS  = zyjs.dsRev;
                yth.IGHJWD   = zyjs.temperature;
                yth.IGHJSD   = zyjs.humidity;
                yth.IGHJDQY  = zyjs.pressure;
                yth.JCZT     = zyjs.All_Judge.ChangePD();
                yth.YCY      = YCY;
                yth.JCLSH    = JCLSH;
                yth.KSJCSJ   = zyjs.RunStartTime;
                yth.JSJCSJ   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                hashtable.Clear();
                string[] ignoreField = yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) == null || string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).Select(p => p.Name).ToArray();
                yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) != null && !string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).ToList().ForEach(p => hashtable.Add($"{p.Name}", p.GetValue(yth, null)));
                IsSave = MssqlHelper.GetInstance().InsertOrUpdate(yth, hashtable, new string[] { "JCLSH" }, ignoreField);
            }
            else if ("28".Equals(jcff)) //VMAS
            {
                Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", "读取VMAS");
                VMAS vmas = new VMAS();
                FillEntityByIni(vmas);
                YTH_CHECKDATA yth = new YTH_CHECKDATA();
                yth.JCFFID = "28";
                if ("0".Equals(vmas.IS_HC_NOX))
                {
                    yth.HCPFXZ  = vmas.stdHC;
                    yth.HCPFJG  = vmas.HC;
                    yth.HCPFPD  = vmas.HC_Judge.ChangePD();
                    yth.NOXPFXZ = vmas.stdNox;
                    yth.NOXPFJG = vmas.Nox;
                    yth.NOXPFPD = vmas.Nox_Judge.ChangePD();
                }
                else
                {
                    yth.HCPFJG  = vmas.HC;
                    yth.HCPFPD  = vmas.HC_Judge.ChangePD();
                    yth.NOXPFJG = vmas.Nox;
                    yth.NOXPFPD = vmas.Nox_Judge.ChangePD();

                    yth.HC_NOXXZ = vmas.stdHC_Nox;
                    yth.HC_NOXJG = vmas.HC_Nox;
                    yth.HC_NOXPD = vmas.HC_Nox_Judge.ChangePD();
                }
                yth.JUDGETYPE = vmas.IS_HC_NOX;

                yth.COPFXZ = vmas.stdCO;
                yth.COPFJG = vmas.CO;
                yth.COPFPD = vmas.CO_Judge.ChangePD();

                yth.IGHJWD  = vmas.temperature;
                yth.IGHJSD  = vmas.humidity;
                yth.IGHJDQY = vmas.pressure;
                yth.JCZT    = vmas.All_Judge.ChangePD();
                yth.YCY     = YCY;
                yth.JCLSH   = JCLSH;
                yth.KSJCSJ  = DateTime.Now.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss");
                yth.JSJCSJ  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                hashtable.Clear();
                string[] ignoreField = yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) == null || string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).Select(p => p.Name).ToArray();
                yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) != null && !string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).ToList().ForEach(p => hashtable.Add($"{p.Name}", p.GetValue(yth, null)));
                IsSave = MssqlHelper.GetInstance().InsertOrUpdate(yth, hashtable, new string[] { "JCLSH" }, ignoreField);
            }
            else if ("13".Equals(jcff)) //LD
            {
                Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", "读取LD");
                LD ld = new LD();
                FillEntityByIni(ld);
                YTH_CHECKDATA yth = new YTH_CHECKDATA();
                yth.JCFFID   = "13";
                yth.ZDLBGLXZ = ld.stdMaxHP;
                yth.SCZDLBGL = ld.MaxHP;
                //yth.FDJEDZSSX = ld.MaxHP;
                //yth.FDJEDZSXX = ld.MaxHP;
                yth.SCFDJEDZS = ld.DSZS;
                yth.LDPFXZ    = ld.stdVelK;
                yth.PFJG100   = ld.VelK100;
                yth.PFJG80    = ld.VelK80;
                yth.PFJG90    = ld.NO80;

                yth.LDHJWD  = ld.temperature;
                yth.LDHJSD  = ld.humidity;
                yth.LDHJDQY = ld.pressure;

                yth.JCZT   = ld.All_Judge.ChangePD();
                yth.YCY    = YCY;
                yth.JCLSH  = JCLSH;
                yth.KSJCSJ = DateTime.Now.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss");
                yth.JSJCSJ = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                hashtable.Clear();
                string[] ignoreField = yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) == null || string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).Select(p => p.Name).ToArray();
                yth.GetType().GetProperties().Where(p => p.GetValue(yth, null) != null && !string.IsNullOrEmpty(p.GetValue(yth, null).ToString())).ToList().ForEach(p => hashtable.Add($"{p.Name}", p.GetValue(yth, null)));
                IsSave = MssqlHelper.GetInstance().InsertOrUpdate(yth, hashtable, new string[] { "JCLSH" }, ignoreField);
            }
            Live0xUtils.LogUtils.TxtLog.Append(AppHelper.LogFolder + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", "保存结果" + IsSave);
        }
Ejemplo n.º 9
0
        private void ThreadMain()
        {
            if (lastHost.IsEmpty)
            {
                return;
            }
            Debug.Log("Sector: Thread active");

            try
            {
                while (!stop)
                {
                    try
                    {
                        Debug.Log("Attempting to connect to " + lastHost);
                        client = new TcpClient(lastHost.Host, lastHost.Port);
                        var stream = new LZ4.LZ4Stream(client.GetStream(), LZ4.LZ4StreamMode.Decompress);
                        var f      = new BinaryFormatter();
                        CSLogicProvider.AsyncFactory = ResolveProvider;

                        Debug.Log("Sector: Connected to " + lastHost);

                        while (client.Connected)
                        {
                            Debug.Log("Sector: Deserializing next object");
                            var obj = f.UnsafeDeserialize(stream, null);
                            Debug.Log("Sector: Deserialized object " + obj);

                            if (obj is ShardID)
                            {
                                privateID = (ShardID)obj;
                                Debug.Log("Sector: ID updated to " + privateID);
                                OnNewNeighbor(privateID, lastHost);
                            }
                            else if (obj is ObserverTimingInfo)
                            {
                                secondsPerTLG = (float)((ObserverTimingInfo)obj).msPerTLG / 1000f;
                            }
                            else if (obj is CSLogicProvider)
                            {
                                var prov = (CSLogicProvider)obj;
                                TaskCompletionSource <CSLogicProvider> entry;
                                while (!providerMap.TryGetValue(prov.AssemblyName, out entry))
                                {
                                    providerMap.TryAdd(prov.AssemblyName, new TaskCompletionSource <CSLogicProvider>());
                                }
                                if (!entry.Task.IsCompleted)
                                {
                                    entry.SetResult(prov);
                                }
                                Debug.Log("Sector: Added new provider " + prov.AssemblyName);
                            }
                            else if (obj is FullShardAddress)
                            {
                                var h = (FullShardAddress)obj;
                                newNeighbors.Add(h);
                            }
                            else if (obj is SDS)
                            {
                                SDS sds = (SDS)obj;
                                //Debug.Log("Sector: Got new SDS. Deserializing entities...");

                                foreach (var e in sds.FinalEntities)
                                {
                                    var logic = e.MyLogic as DynamicCSLogic;
                                    if (logic != null)
                                    {
                                        try
                                        {
                                            logic.FinishLoading(e.ID, TimeSpan.FromSeconds(1));
                                        }
                                        catch (ExecutionException ex)
                                        {
                                            Debug.LogException(ex);
                                        }
                                    }
                                }
                                //Debug.Log("Sector: SDS processed. Signalling change");
                                SDS        = sds;
                                sdsChanged = true;
                            }
                        }
                    }
                    catch (SocketException ex)
                    {
                        Debug.LogException(ex);
                    }
                    catch (IOException ex)
                    {
                        Debug.LogException(ex);
                    }
                    catch (Exception ex)
                    {
                        Debug.LogException(ex);
                        Debug.Log("Weird type: " + ex.GetType());
                    }
                    try
                    {
                        client.Close();
                    }
                    catch { };
                    {
                        var naddr = BaseDB.TryGetAddress(ExpectedID);
                        if (!naddr.IsEmpty)
                        {
                            lastHost = naddr.ObserverAddress;
                        }
                    }
                    Debug.Log("Waiting, then retrying");
                    Thread.Sleep(2000);
                }
            }
            catch (Exception ex)
            {
                Debug.LogError("Encountered terminal exception");
                Debug.LogException(ex);
            }
        }
Ejemplo n.º 10
0
        // Update is called once per frame
        public void Update()
        {
            {
                FullShardAddress t;
                while (newNeighbors.TryTake(out t))
                {
                    Debug.Log(name + ": received neighbor update: " + t);
                    OnNewNeighbor(t.ShardID, t.ObserverAddress);
                }
            }



            if (sdsChanged)
            {
                sdsChanged = false;

                {
                    var id = privateID;
                    if (id != publicID)
                    {
                        Debug.Log("ID change detected: " + id);
                        publicID       = id;
                        name           = publicID.ToString();
                        transform.name = publicID.ToString();
                        onNewID?.Invoke(id);
                        if (cube != null)
                        {
                            cube.transform.position = Convert(publicID.XYZ) * Scale;
                        }
                    }
                }


                //Debug.Log("Sector: processing change");
                updateNo++;

                SDS source = SDS;
                //Debug.Log("Sector: got "+transform.childCount+" children");
                LazyList <GameObject> toDestroy = new LazyList <GameObject>();
                foreach (Transform child in transform)
                {
                    var obj = child.gameObject;
                    if (obj.name == "cube")
                    {
                        //Debug.Log("Sector: got cube");
                        continue;
                    }
                    if (obj.hideFlags == HideFlags.HideAndDontSave)
                    {
                        continue;
                    }
                    obj.hideFlags = HideFlags.HideAndDontSave;
                    obj.GetComponent <Renderer>().enabled = false;

                    if (!availableEntityObjects.ContainsKey(obj.name))
                    {
                        availableEntityObjects.Add(obj.name, obj);
                    }
                    else
                    {
                        toDestroy.Add(obj);
                    }
                }
                foreach (var obj in toDestroy)
                {
                    if (availableEntityObjects.ContainsValue(obj))
                    {
                        Debug.LogError("Object " + obj.name + " still in use");
                    }
                    else
                    {
                        Destroy(obj);
                    }
                }


                //Debug.Log("Sector: recovered " + availableEntityObjects.Count + " objects");
                int reused = 0;
                foreach (var e in source.FinalEntities)
                {
                    GameObject obj;
                    var        next = Convert(e.ID.Position) * Scale;
                    Vector3    prev = next;
                    string     key  = e.ID.Guid.ToString();
                    if (!availableEntityObjects.ContainsKey(key))
                    {
                        obj = entityPrototype != null?Instantiate(entityPrototype, transform) : new GameObject();

                        obj.GetComponent <Renderer>().material.color = myColor;
                        obj.transform.parent = transform;
                        obj.name             = key;
                    }
                    else
                    {
                        obj = availableEntityObjects[key];
                        availableEntityObjects.Remove(key);
                        if (obj == null)
                        {
                            Debug.LogError("Object " + key + " is null. Bad shit will happen");
                        }
                        obj.hideFlags = HideFlags.None;
                        obj.GetComponent <Renderer>().enabled = true;
                        prev = obj.transform.position;
                        reused++;
                    }
                    var c = obj.GetComponent <EntityComponent>();
                    if (c == null)
                    {
                        c = obj.AddComponent <EntityComponent>();
                    }
                    c.SetState(next - Convert(e.Velocity) * Scale, next, secondsPerTLG);
                    obj.transform.position = next;
                }
                //Debug.Log("Sector: got " + transform.childCount + " children, reusing "+reused);
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 用SDS对象插入或更新条检测数据
        /// </summary>
        /// <param name="SDS">SDS</param>
        /// <returns>int 0为失败,1为插入成功,2为更新成功</returns>
        public int Save_SDS(SDS SDS)
        {
            string sqli = "insert into SDS(JYLSH,JYCS,SBRZBM,CLID,JCBGBH,CLPH,COLOWCLZ,COLOWXZ,HCLOWCLZ,HCLOWXZ,COHIGHCLZ,COHIGHXZ,HCHIGHCLZ,HCHIGHXZ,LAMDAHIGHCLZ,LAMDAHIGHXZ,LAMDAHIGHPD,LOWPD,HIGHPD,ZHPD,JCRQ,WD,SD,DQY,SBMC,SBXH,SBZZC,FXYXH,FXYBH,FXYZZC,ZSJXH,ZSJBH,ZSJZZC,COLOWPD,HCLOWPD,ZSLOW,JYWDLOW,COHIGHPD,HCHIGHPD,ZSHIGH,JYWDHIGH,SHY,SYNCHDATE,YW,GLKQXSSX,GLKQXSXX,JCKSSJ,JCJSSJ,CO2HIGH,O2HIGH,CO2LOW,O2LOW,COLOWXXZ,COHIGHXXZ,COLOWXYZ,COHIGHXYZ,CO2LOWXYZ,CO2HIGHXYZ,HCLOWXYZ,HCHIGHXYZ) values(@JYLSH,@JYCS,@SBRZBM,@CLID,@JCBGBH,@CLPH,@COLOWCLZ,@COLOWXZ,@HCLOWCLZ,@HCLOWXZ,@COHIGHCLZ,@COHIGHXZ,@HCHIGHCLZ,@HCHIGHXZ,@LAMDAHIGHCLZ,@LAMDAHIGHXZ,@LAMDAHIGHPD,@LOWPD,@HIGHPD,@ZHPD,@JCRQ,@WD,@SD,@DQY,@SBMC,@SBXH,@SBZZC,@FXYXH,@FXYBH,@FXYZZC,@ZSJXH,@ZSJBH,@ZSJZZC,@COLOWPD,@HCLOWPD,@ZSLOW,@JYWDLOW,@COHIGHPD,@HCHIGHPD,@ZSHIGH,@JYWDHIGH,@SHY,@SYNCHDATE,@YW,@GLKQXSSX,@GLKQXSXX,@JCKSSJ,@JCJSSJ,@CO2HIGH,@O2HIGH,@CO2LOW,@O2LOW,@COLOWXXZ,@COHIGHXXZ,@COLOWXYZ,@COHIGHXYZ,@CO2LOWXYZ,@CO2HIGHXYZ,@HCLOWXYZ,@HCHIGHXYZ)";
            string sqlu = "update SDS set JYLSH=@JYLSH,JYCS=@JYCS,SBRZBM=@SBRZBM,CLPH=@CLPH,JCBGBH=@JCBGBH,COLOWCLZ=@COLOWCLZ,COLOWXZ=@COLOWXZ,HCLOWCLZ=@HCLOWCLZ,HCLOWXZ=@HCLOWXZ,COHIGHCLZ=@COHIGHCLZ,COHIGHXZ=@COHIGHXZ,HCHIGHCLZ=@HCHIGHCLZ,HCHIGHXZ=@HCHIGHXZ,LAMDAHIGHCLZ=@LAMDAHIGHCLZ,LAMDAHIGHXZ=@LAMDAHIGHXZ,LAMDAHIGHPD=@LAMDAHIGHPD,LOWPD=@LOWPD,HIGHPD=@HIGHPD,ZHPD=@ZHPD,JCRQ=@JCRQ,WD=@WD,SD=@SD,DQY=@DQY,SBMC=@SBMC,SBXH=@SBXH,SBZZC=@SBZZC,FXYXH=@FXYXH,FXYBH=@FXYBH,FXYZZC=@FXYZZC,ZSJXH=@ZSJXH,ZSJBH=@ZSJBH,ZSJZZC=@ZSJZZC,COLOWPD=@COLOWPD,HCLOWPD=@HCLOWPD,ZSLOW=@ZSLOW,JYWDLOW=@JYWDLOW,COHIGHPD=@COHIGHPD,HCHIGHPD=@HCHIGHPD,ZSHIGH=@ZSHIGH,JYWDHIGH=@JYWDHIGH,SHY=@SHY,SYNCHDATE=@SYNCHDATE,YW=@YW,GLKQXSSX=@GLKQXSSX,GLKQXSXX=@GLKQXSXX,JCKSSJ=@JCKSSJ,JCJSSJ=@JCJSSJ,CO2HIGH=@CO2HIGH,O2HIGH=@O2HIGH,CO2LOW=@CO2LOW,O2LOW=@O2LOW,COLOWXXZ=@COLOWXXZ,COHIGHXXZ=@COHIGHXXZ,COLOWXYZ=@COLOWXYZ,COHIGHXYZ=@COHIGHXYZ,CO2LOWXYZ=@CO2LOWXYZ,CO2HIGHXYZ=@CO2HIGHXYZ,HCLOWXYZ=@HCLOWXYZ,HCHIGHXYZ=@HCHIGHXYZ where CLID=@CLID";

            SqlParameter[] spr =
            {
                new SqlParameter("@JYLSH",        SDS.JYLSH),
                new SqlParameter("@JYCS",         SDS.JYCS),
                new SqlParameter("@SBRZBM",       SDS.SBRZBM),
                new SqlParameter("@CLID",         SDS.CLID),           //1
                new SqlParameter("@JCBGBH",       SDS.JCBGBH),         //1
                new SqlParameter("@CLPH",         SDS.CLPH),
                new SqlParameter("@COLOWCLZ",     SDS.COLOWCLZ),
                new SqlParameter("@COLOWXZ",      SDS.COLOWXZ),
                new SqlParameter("@HCLOWCLZ",     SDS.HCLOWCLZ),
                new SqlParameter("@HCLOWXZ",      SDS.HCLOWXZ),
                new SqlParameter("@COHIGHCLZ",    SDS.COHIGHCLZ),               //6
                new SqlParameter("@COHIGHXZ",     SDS.COHIGHXZ),
                new SqlParameter("@HCHIGHCLZ",    SDS.HCHIGHCLZ),
                new SqlParameter("@HCHIGHXZ",     SDS.HCHIGHXZ),
                new SqlParameter("@LAMDAHIGHCLZ", SDS.LAMDAHIGHCLZ),
                new SqlParameter("@LAMDAHIGHXZ",  SDS.LAMDAHIGHXZ),       //11
                new SqlParameter("@LAMDAHIGHPD",  SDS.LAMDAHIGHPD),       //11
                new SqlParameter("@LOWPD",        SDS.LOWPD),
                new SqlParameter("@HIGHPD",       SDS.HIGHPD),            //11
                new SqlParameter("@ZHPD",         SDS.ZHPD),
                new SqlParameter("@JCRQ",         SDS.JCRQ),
                new SqlParameter("@WD",           SDS.WD),
                new SqlParameter("@SD",           SDS.SD),
                new SqlParameter("@DQY",          SDS.DQY),         //16
                new SqlParameter("@SBMC",         SDS.SBMC),
                new SqlParameter("@SBXH",         SDS.SBXH),
                new SqlParameter("@SBZZC",        SDS.SBZZC),
                new SqlParameter("@ZSJXH",        SDS.ZSJXH),
                new SqlParameter("@ZSJBH",        SDS.ZSJBH),           //21
                new SqlParameter("@ZSJZZC",       SDS.ZSJZZC),
                new SqlParameter("@FXYXH",        SDS.FXYXH),
                new SqlParameter("@FXYBH",        SDS.FXYBH),
                new SqlParameter("@FXYZZC",       SDS.FXYZZC),            //47

                new SqlParameter("@COLOWPD",      SDS.COLOWPD),
                new SqlParameter("@HCLOWPD",      SDS.HCLOWPD),
                new SqlParameter("@ZSLOW",        SDS.ZSLOW),           //21
                new SqlParameter("@JYWDLOW",      SDS.JYWDLOW),
                new SqlParameter("@COHIGHPD",     SDS.COHIGHPD),
                new SqlParameter("@HCHIGHPD",     SDS.HCHIGHPD),
                new SqlParameter("@ZSHIGH",       SDS.ZSHIGH),            //21
                new SqlParameter("@JYWDHIGH",     SDS.JYWDHIGH),
                new SqlParameter("@SHY",          SDS.SHY),
                new SqlParameter("@SYNCHDATE",    SDS.SYNCHDATE),
                new SqlParameter("@YW",           SDS.YW),        //21
                new SqlParameter("@GLKQXSSX",     SDS.GLKQXSSX),
                new SqlParameter("@GLKQXSXX",     SDS.GLKQXSXX),
                new SqlParameter("@JCKSSJ",       SDS.JCKSSJ),
                new SqlParameter("@JCJSSJ",       SDS.JCJSSJ),
                new SqlParameter("@CO2HIGH",      SDS.CO2HIGH),
                new SqlParameter("@O2HIGH",       SDS.O2HIGH),
                new SqlParameter("@CO2LOW",       SDS.CO2LOW),
                new SqlParameter("@O2LOW",        SDS.O2LOW),
                new SqlParameter("@COLOWXXZ",     SDS.COLOWXXZ),
                new SqlParameter("@COHIGHXXZ",    SDS.COHIGHXXZ),
                new SqlParameter("@COLOWXYZ",     SDS.COLOWXYZ),
                new SqlParameter("@COHIGHXYZ",    SDS.COHIGHXYZ),
                new SqlParameter("@CO2LOWXYZ",    SDS.CO2LOWXYZ),
                new SqlParameter("@CO2HIGHXYZ",   SDS.CO2HIGHXYZ),
                new SqlParameter("@HCLOWXYZ",     SDS.HCLOWXYZ),
                new SqlParameter("@HCHIGHXYZ",    SDS.HCHIGHXYZ)
                //47
            };
            try
            {
                if (Have_SDS(SDS.CLID))
                {
                    if (DBHelperSQL.Execute(sqlu, spr) > 0)
                    {
                        return(2);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    if (DBHelperSQL.Execute(sqli, spr) > 0)
                    {
                        return(1);
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }