private string GetStringValue(double value, ParseEntity e)
        {
            if (e.name == "F" || e.name == "f")
            {
                var fcnt = e.value.Length;
                if (e.value[0] == '%')
                {
                    fcnt--;
                }
                var ret = value.ToString("f7").Substring(2, fcnt);
                if (e.name == "F")
                {
                    ret = ret.TrimEnd('0');
                }
                return(ret);
            }
            if (e.value.StartsWith("%") || e.value.Length == 1)
            {
                return(value.ToString(CultureInfo.CurrentCulture));
            }
            if (!char.IsDigit(e.value, 1))
            {
                return(value.ToString(e.value.Replace(e.value[0], '0')));
            }
            var precision = int.Parse(e.value.Substring(1));
            var newVal    = Math.Round(value, precision, MidpointRounding.AwayFromZero);

            return(newVal.ToString(CultureInfo.CurrentCulture));
        }
Exemplo n.º 2
0
        public ParseEntity get(String url)
        {
            RuntimeEntity runtime = runtimeService.get(url);

            ParseEntity result = null;

            if (runtime != null)
            {
                if (runtime.WaitQueue[url] != null)
                {
                    result = (ParseEntity)runtime.WaitQueue[url];
                }
                else if (runtime.StartQueue[url] != null)
                {
                    result = (ParseEntity)runtime.StartQueue[url];
                }
                else if (runtime.SuccessQueue[url] != null)
                {
                    result = (ParseEntity)runtime.SuccessQueue[url];
                }
                else if (runtime.ErrorQueue[url] != null)
                {
                    result = (ParseEntity)runtime.ErrorQueue[url];
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public async Task <object> SendMessage()
        {
            try
            {
                using (var _testContext = new TestContext())
                {
                    //读取请求信息
                    Stream reqStream = Request.Body;
                    string key       = "mYOxAyHTFNCoFg3c";
                    string text      = "";
                    using (StreamReader reader = new StreamReader(reqStream))
                    {
                        text = await reader.ReadToEndAsync();
                    }
                    //获取解密后的字符串
                    string      decrypt = AesDecrypt(text, key);
                    JObject     json    = JObject.Parse(decrypt);
                    ParseEntity PE      = new ParseEntity();
                    //获取CGSqlist
                    CGSqlist cg = PE.GetCGSQlist(json);
                    //获取CgsqListentry
                    List <CgsqListentry> cleList = PE.GetCgsqListentry(json, cg.Fbillid);
                    //获取审批痕迹
                    List <Reqlist> rlList = PE.GetReqlist(JObject.Parse(GetFlowRecord(cg.FormInstId, cg.FormCodeId)), cg.Fbillid);
                    //存入数据库
                    _testContext.CGSqlist.Add(cg);
                    _testContext.CgsqListentry.AddRange(cleList);
                    _testContext.Reqlist.AddRange(rlList);

                    var externalLog = new ExternalLog
                    {
                        StartTime  = cg.EventTime,
                        EndTime    = cg.EventTime,
                        QueryState = QueryState.成功
                    };
                    _testContext.ExternalLog.Add(externalLog);
                    await _testContext.SaveChangesAsync();

                    //创建后台任务读取审批状态
                    //BackgroundJob.Schedule(() => new BackJob().GetProcess(JObject.Parse(GetFlowRecord(cg.FormInstId, cg.FormCodeId)), cg.Fbillid), DateTime.Now.AddMinutes(3));
                    //返回值
                    return(new ReturnMessage {
                        Success = true
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ReturnMessage {
                    Success = false, Data = ex.Message.ToString()
                });
            }
        }
        private ParseEntity GetParsedTokens(Match m)
        {
            // Handle each match group
            var head = new ParseEntity(".", m, null);
            var list = head.children = new List <ParseEntity>();

            foreach (var gn in MyRegex.GetGroupNames())
            {
                if (gn != "OPT" && gn != "0")
                {
                    var g = m.Groups[gn];
                    if (g.Success)
                    {
                        foreach (Capture c in g.Captures)
                        {
                            list.Add(new ParseEntity(gn, c, head));
                        }
                    }
                }
            }
            list.Sort((p1, p2) => p1.start - p2.start);

            // Put in groupings
            foreach (Capture c in m.Groups["OPT"].Captures)
            {
                var f = list.FindIndex(p1 => p1.start > c.Index);
                var l = list.FindLastIndex(p1 => p1.start + p1.length < c.Index + c.Length);
                var p = new ParseEntity(null, c, head)
                {
                    children = list.GetRange(f, l - f + 1)
                };
                list.RemoveRange(f, l - f + 1);
                p.children.ForEach(delegate(ParseEntity pe) { pe.parent = p; });
                list.Insert(f, p);
            }
#if DEBUG
            for (var i = 0; i < list.Count; i++)
            {
                Debug.WriteLine(string.Format("Match {3} = \"{1}\" ({0}:{2})", list[i].start, list[i].value, list[i].length, list[i].name));
            }
#endif
            return(head);
        }
 public ParseEntity(string n, Capture c, ParseEntity p)
 {
     name = n; value = c.Value; start = c.Index; length = c.Length; parent = p;
 }
        private void ProcessParseEntity(ParseEntity e)
        {
            if (e.name == null && e.children == null)
            {
                e.output = string.Empty;
                return;
            }
            if (e.children != null)
            {
                var sb = new StringBuilder();
                sb.Append(e.name != "." ? @"(?:" : @"^\s*");
                for (var i = 0; i < e.children.Count; i++)
                {
                    ProcessParseEntity(e.children[i]);
                    sb.Append(e.children[i].output);
                }
                sb.Append(e.name != "." ? @")?" : @"\s*$");
                e.output = sb.ToString();
                return;
            }
            switch (e.name)
            {
            case "z":
                break;

            case "n":
                e.output = $@"(?<n>{Regex.Escape(CultureInfo.CurrentUICulture.NumberFormat.NegativeSign)})?";
                break;

            case "d":
            case "D":
            case "h":
            case "H":
            case "m":
            case "M":
            case "s":
            case "S":
            case "t":
            case "k":
            case "K":
            case "f":
            case "F":
            case "w":
            case "r":
                e.output = $@"(?<{e.name}>\d+)";
                break;

            case "p":
                e.output = $@"(?<p>\d+(?:{Regex.Escape(CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator)}\d{{0,{e.value.Substring(1)}}})?)";
                break;

            case "vd":
            case "vh":
            case "vm":
            case "vs":
            case "vk":
            case "vt":
                e.output = GetVerboseParseString(e.name);
                break;

            case "ts":
                e.output = Regex.Escape(CultureInfo.CurrentUICulture.DateTimeFormat.TimeSeparator);
                break;

            case "ds":
                e.output = Regex.Escape(CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator);
                break;

            case "ws":
                e.output = @"\s+";
                break;

            case "fs":
                e.output = @"\s*" + Regex.Escape(TimeSpanResources.TimeSpanSeparator.Trim()) + @"\s*";
                break;

            case "q":
            case "e":
            default:
                e.output = Regex.Escape(e.value);
                break;
            }
        }
        private bool ProcessFormatEntity(ParseEntity e, TimeSpan core)
        {
            if (e.name == null && e.children == null)
            {
                e.output = string.Empty;
                return(false);
            }
            bool foundValue = false, foundSep = false, foundSpace = false;

            if (e.children != null)
            {
                var sb = new StringBuilder();
                for (var i = 0; i < e.children.Count; i++)
                {
                    if (ProcessFormatEntity(e.children[i], core) && !foundValue)
                    {
                        foundValue = true;
                    }
                    if (e.children[i].name == "fs")
                    {
                        if (sb.Length > 0)
                        {
                            foundSep = true;
                        }
                    }
                    else if (e.children[i].name == "ws")
                    {
                        if (sb.Length > 0)
                        {
                            foundSpace = true;
                        }
                    }
                    else
                    {
                        if (foundSep && !string.IsNullOrEmpty(e.children[i].output))
                        {
                            sb.Append(TimeSpanResources.TimeSpanSeparator);
                            foundSep = false;
                        }
                        if (foundSpace && !string.IsNullOrEmpty(e.children[i].output))
                        {
                            sb.Append(' ');
                            foundSpace = false;
                        }
                        sb.Append(e.children[i].output);
                    }
                }
                e.output = foundValue ? sb.ToString() : string.Empty;
                return(foundValue);
            }
            switch (e.name)
            {
            case "n":
                if (core.Ticks < 0)
                {
                    e.output = CultureInfo.CurrentUICulture.NumberFormat.NegativeSign;
                }
                break;

            case "d":
            case "D":
            case "h":
            case "H":
            case "m":
            case "M":
            case "s":
            case "S":
            case "t":
            case "k":
            case "K":
            case "p":
            case "f":
            case "F":
            case "w":
            case "r":
                var val = GetValueForGroup(core, e.name);
                e.output   = GetStringValue(val, e);
                foundValue = val != 0;
                break;

            case "ts":
                e.output = CultureInfo.CurrentUICulture.DateTimeFormat.TimeSeparator;
                break;

            case "ds":
                e.output = CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator;
                break;

            case "ws":
                e.output = " ";
                break;

            case "fs":
                e.output = string.Empty;
                break;

            case "vd":
            case "vh":
            case "vm":
            case "vs":
            case "vk":
            case "vt":
                e.output = GetCultureString((long)GetValueForGroup(core, e.name.Substring(1)), e.value);
                break;

            case "q":
            case "e":
            default:
                e.output = e.value;
                break;
            }
            return(foundValue);
        }
Exemplo n.º 8
0
            public static void CleanAndCopy(ParseEntity source, ParseType parseType)
            {
                try {
                    var target = new ParseEntity {
                        CombinedDPS  = source.CombinedDPS,
                        DPS          = source.DPS,
                        DOTPS        = source.DOTPS,
                        CombinedHPS  = source.CombinedHPS,
                        HPS          = source.HPS,
                        HOTPS        = source.HOTPS,
                        HOHPS        = source.HOHPS,
                        HMPS         = source.HMPS,
                        CombinedDTPS = source.CombinedDTPS,
                        DTPS         = source.DTPS,
                        DTOTPS       = source.DTOTPS,
                        CombinedTotalOverallDamage               = source.CombinedTotalOverallDamage,
                        TotalOverallDamage                       = source.TotalOverallDamage,
                        TotalOverallDamageOverTime               = source.TotalOverallDamageOverTime,
                        CombinedTotalOverallHealing              = source.CombinedTotalOverallHealing,
                        TotalOverallHealing                      = source.TotalOverallHealing,
                        TotalOverallHealingOverTime              = source.TotalOverallHealingOverTime,
                        TotalOverallHealingOverHealing           = source.TotalOverallHealingOverHealing,
                        TotalOverallHealingMitigated             = source.TotalOverallHealingMitigated,
                        CombinedTotalOverallDamageTaken          = source.CombinedTotalOverallDamageTaken,
                        TotalOverallDamageTaken                  = source.TotalOverallDamageTaken,
                        TotalOverallDamageTakenOverTime          = source.TotalOverallDamageTakenOverTime,
                        PercentOfTotalOverallDamage              = source.PercentOfTotalOverallDamage,
                        PercentOfTotalOverallDamageOverTime      = source.PercentOfTotalOverallDamageOverTime,
                        PercentOfTotalOverallHealing             = source.PercentOfTotalOverallHealing,
                        PercentOfTotalOverallHealingOverTime     = source.PercentOfTotalOverallHealingOverTime,
                        PercentOfTotalOverallHealingOverHealing  = source.PercentOfTotalOverallHealingOverHealing,
                        PercentOfTotalOverallHealingMitigated    = source.PercentOfTotalOverallHealingMitigated,
                        PercentOfTotalOverallDamageTaken         = source.PercentOfTotalOverallDamageTaken,
                        PercentOfTotalOverallDamageTakenOverTime = source.PercentOfTotalOverallDamageTakenOverTime,
                        Players = new List <PlayerEntity>()
                    };
                    foreach (PlayerEntity playerEntity in source.Players)
                    {
                        try {
                            switch (parseType)
                            {
                            case ParseType.DPS:
                                double dps;
                                double.TryParse(Settings.Default.DPSVisibility, out dps);
                                if (playerEntity.CombinedDPS <= dps)
                                {
                                    continue;
                                }

                                break;

                            case ParseType.DTPS:
                                double dtps;
                                double.TryParse(Settings.Default.DTPSVisibility, out dtps);
                                if (playerEntity.CombinedDTPS <= dtps)
                                {
                                    continue;
                                }

                                break;

                            case ParseType.HPS:
                                double hps;
                                double.TryParse(Settings.Default.HPSVisibility, out hps);
                                if (playerEntity.CombinedHPS <= hps)
                                {
                                    continue;
                                }

                                break;
                            }

                            var entity = new PlayerEntity {
                                Name         = playerEntity.Name,
                                Job          = playerEntity.Job,
                                CombinedDPS  = playerEntity.CombinedDPS,
                                DPS          = playerEntity.DPS,
                                DOTPS        = playerEntity.DOTPS,
                                CombinedHPS  = playerEntity.CombinedHPS,
                                HPS          = playerEntity.HPS,
                                HOTPS        = playerEntity.HOTPS,
                                HOHPS        = playerEntity.HOHPS,
                                HMPS         = playerEntity.HMPS,
                                CombinedDTPS = playerEntity.CombinedDTPS,
                                DTPS         = playerEntity.DTPS,
                                DTOTPS       = playerEntity.DTOTPS,
                                CombinedTotalOverallDamage               = playerEntity.CombinedTotalOverallDamage,
                                TotalOverallDamage                       = playerEntity.TotalOverallDamage,
                                TotalOverallDamageOverTime               = playerEntity.TotalOverallDamageOverTime,
                                CombinedTotalOverallHealing              = playerEntity.CombinedTotalOverallHealing,
                                TotalOverallHealing                      = playerEntity.TotalOverallHealing,
                                TotalOverallHealingOverTime              = playerEntity.TotalOverallHealingOverTime,
                                TotalOverallHealingOverHealing           = playerEntity.TotalOverallHealingOverHealing,
                                TotalOverallHealingMitigated             = playerEntity.TotalOverallHealingMitigated,
                                CombinedTotalOverallDamageTaken          = playerEntity.CombinedTotalOverallDamageTaken,
                                TotalOverallDamageTaken                  = playerEntity.TotalOverallDamageTaken,
                                TotalOverallDamageTakenOverTime          = playerEntity.TotalOverallDamageTakenOverTime,
                                PercentOfTotalOverallDamage              = playerEntity.PercentOfTotalOverallDamage,
                                PercentOfTotalOverallDamageOverTime      = playerEntity.PercentOfTotalOverallDamageOverTime,
                                PercentOfTotalOverallHealing             = playerEntity.PercentOfTotalOverallHealing,
                                PercentOfTotalOverallHealingOverTime     = playerEntity.PercentOfTotalOverallHealingOverTime,
                                PercentOfTotalOverallHealingOverHealing  = playerEntity.PercentOfTotalOverallHealingOverHealing,
                                PercentOfTotalOverallHealingMitigated    = playerEntity.PercentOfTotalOverallHealingMitigated,
                                PercentOfTotalOverallDamageTaken         = playerEntity.PercentOfTotalOverallDamageTaken,
                                PercentOfTotalOverallDamageTakenOverTime = playerEntity.PercentOfTotalOverallDamageTakenOverTime,
                                Type = playerEntity.Type
                            };
                            target.Players.Add(entity);
                        }
                        catch (Exception ex) {
                            Logging.Log(Logger, new LogItem(ex, true));
                        }
                    }

                    // sort entity based on settings
                    switch (parseType)
                    {
                    case ParseType.DPS:
                        if (target.Players.Any())
                        {
                            switch (Settings.Default.DPSWidgetSortDirection)
                            {
                            case "Descending":
                                switch (Settings.Default.DPSWidgetSortProperty)
                                {
                                case "Name":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.Name));
                                    break;

                                case "Job":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.Job));
                                    break;

                                case "DPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.DPS));
                                    break;

                                case "CombinedDPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.CombinedDPS));
                                    break;

                                case "TotalOverallDamage":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.TotalOverallDamage));
                                    break;

                                case "CombinedTotalOverallDamage":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.CombinedTotalOverallDamage));
                                    break;

                                case "PercentOfTotalOverallDamage":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.PercentOfTotalOverallDamage));
                                    break;
                                }

                                break;

                            default:
                                switch (Settings.Default.DPSWidgetSortProperty)
                                {
                                case "Name":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.Name));
                                    break;

                                case "Job":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.Job));
                                    break;

                                case "DPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.DPS));
                                    break;

                                case "CombinedDPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.CombinedDPS));
                                    break;

                                case "TotalOverallDamage":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.TotalOverallDamage));
                                    break;

                                case "CombinedTotalOverallDamage":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.CombinedTotalOverallDamage));
                                    break;

                                case "PercentOfTotalOverallDamage":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.PercentOfTotalOverallDamage));
                                    break;
                                }

                                break;
                            }
                        }

                        DPSWidgetViewModel.Instance.ParseEntity = target;
                        break;

                    case ParseType.DTPS:
                        if (target.Players.Any())
                        {
                            switch (Settings.Default.DTPSWidgetSortDirection)
                            {
                            case "Descending":
                                switch (Settings.Default.DTPSWidgetSortProperty)
                                {
                                case "Name":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.Name));
                                    break;

                                case "Job":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.Job));
                                    break;

                                case "DTPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.DTPS));
                                    break;

                                case "CombinedDTPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.CombinedDTPS));
                                    break;

                                case "TotalOverallDamageTaken":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.TotalOverallDamageTaken));
                                    break;

                                case "CombinedTotalOverallDamageTaken":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.CombinedTotalOverallDamageTaken));
                                    break;

                                case "PercentOfTotalOverallDamageTaken":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.PercentOfTotalOverallDamageTaken));
                                    break;
                                }

                                break;

                            default:
                                switch (Settings.Default.DTPSWidgetSortProperty)
                                {
                                case "Name":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.Name));
                                    break;

                                case "Job":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.Job));
                                    break;

                                case "DTPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.DTPS));
                                    break;

                                case "CombinedDTPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.CombinedDTPS));
                                    break;

                                case "TotalOverallDamageTaken":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.TotalOverallDamageTaken));
                                    break;

                                case "CombinedTotalOverallDamageTaken":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.CombinedTotalOverallDamageTaken));
                                    break;

                                case "PercentOfTotalOverallDamageTaken":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.PercentOfTotalOverallDamageTaken));
                                    break;
                                }

                                break;
                            }
                        }

                        DTPSWidgetViewModel.Instance.ParseEntity = target;
                        break;

                    case ParseType.HPS:
                        if (target.Players.Any())
                        {
                            switch (Settings.Default.HPSWidgetSortDirection)
                            {
                            case "Descending":
                                switch (Settings.Default.HPSWidgetSortProperty)
                                {
                                case "Name":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.Name));
                                    break;

                                case "Job":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.Job));
                                    break;

                                case "HPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.HPS));
                                    break;

                                case "CombinedHPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.CombinedHPS));
                                    break;

                                case "TotalOverallHealing":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.TotalOverallHealing));
                                    break;

                                case "CombinedTotalOverallHealing":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.CombinedTotalOverallHealing));
                                    break;

                                case "PercentOfTotalOverallHealing":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderByDescending(p => p.PercentOfTotalOverallHealing));
                                    break;
                                }

                                break;

                            default:
                                switch (Settings.Default.HPSWidgetSortProperty)
                                {
                                case "Name":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.Name));
                                    break;

                                case "Job":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.Job));
                                    break;

                                case "HPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.HPS));
                                    break;

                                case "CombinedHPS":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.CombinedHPS));
                                    break;

                                case "TotalOverallHealing":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.TotalOverallHealing));
                                    break;

                                case "CombinedTotalOverallHealing":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.CombinedTotalOverallHealing));
                                    break;

                                case "PercentOfTotalOverallHealing":
                                    target.Players = new List <PlayerEntity>(target.Players.OrderBy(p => p.PercentOfTotalOverallHealing));
                                    break;
                                }

                                break;
                            }
                        }

                        HPSWidgetViewModel.Instance.ParseEntity = target;
                        break;
                    }
                }
                catch (Exception ex) {
                    Logging.Log(Logger, new LogItem(ex, true));
                }
            }
Exemplo n.º 9
0
 public async Task <object> TakeMissingLog([FromBody] ParamInput input)
 {
     try
     {
         using (var db = new TestContext())
         {
             //获取AccessToken
             string accessToken = CallExternal.GetAccessToken();
             //获取外部接口日志
             long          startTime = input.StartTime; //开始时间
             long          endTime   = input.EndTime;   //结束时间
             string        pageId    = null;            //页码Id 上一页则传当前最小记录id,下一页则传当前最大id,首页或者最后页传null
             string        pageType  = "first";         //页码类型 prev=上一页,next=下一页,first=第一页,last=最后一页
             var           pushLogs  = GetExternalLog(accessToken, startTime, endTime, pageId, pageType);
             List <string> insList   = new List <string>();
             pushLogs.ForEach(p =>
             {
                 string ins = GetInstance(p.FormInstId, p.FormCodeId, accessToken);
                 insList.Add(ins);
             });
             insList = insList.Where(i => i.Contains("true")).ToList();
             int totalCount = insList.Count();
             //获取实例
             pushLogs.ForEach(p =>
             {
                 string ins      = GetInstance(p.FormInstId, p.FormCodeId, accessToken);
                 JObject jObject = JObject.Parse(ins);
                 if (jObject["success"].ToString() == "True")
                 {
                     //解析数据存入数据库
                     //获取CGSqlist
                     ParseEntity PE = new ParseEntity();
                     CGSqlist cg    = PE.GetCGSQlist(jObject);
                     cg.FirstInput  = false;
                     //审批流
                     List <Reqlist> rlList = PE.GetReqlist(JObject.Parse(GetFlowRecord(cg.FormInstId, cg.FormCodeId)), cg.Fbillid);
                     rlList.ForEach(r =>
                     {
                         var list = db.Reqlist.AsNoTracking().Where(c => c.CreateTime == r.CreateTime)
                                    .Where(c => c.Fbillno == r.Fbillno).ToList();
                         if (list.Count() == 0)
                         {
                             db.Reqlist.Add(r);
                         }
                     });
                     var query = db.CGSqlist.AsNoTracking()
                                 .Where(c => c.SerialNumber.Equals(cg.SerialNumber))
                                 .ToList();
                     if (query.Count == 0)
                     {
                         //获取CgsqListentry
                         List <CgsqListentry> cleList = PE.GetCgsqListentry(jObject, cg.Fbillid);
                         db.CGSqlist.Add(cg);
                         db.CgsqListentry.AddRange(cleList);
                     }
                     db.SaveChanges();
                 }
             });
         }
         return(new ReturnMessage {
             Success = true, Data = "ok"
         });
     }
     catch (Exception e)
     {
         return(new ReturnMessage {
             Success = false, Data = e.Message
         });
     }
 }