Example #1
0
        private bool CheckConfig(int checkid)
        {
            bool check = false;

            AgentConfig agentConfig = new AgentConfig();
            WeixinAgent weixinAgent = agentConfig.GetConfig();

            foreach (WeixinAgentItem item in weixinAgent.agentItem)
            {
                int    id        = item.id;
                bool   authorize = item.authorize;
                string begin     = item.begin; //.ToString("yyyy-MM-dd");
                string end       = item.end;   //.ToString("yyyy-MM-dd");

                //logs.Fatal("url:"+ url + "   checkurl:"+ checkurl+ "   begin:"+ begin+ "   end:"+ end);

                if (checkid == id && authorize)
                {
                    check = DateTimeManger.Availability(DateTime.Parse(begin), DateTime.Parse(end), DateTime.Now);
                    //logs.Fatal("check:" + check);

                    if (check)
                    {
                        break;
                    }
                }
            }

            return(check);
        }
Example #2
0
        /// <summary>
        /// 分派信息配置对象状态
        /// </summary>
        /// <returns></returns>
        public bool GetAgentStatus(WeixinAgentItem item)
        {
            string begin = item.begin; //.ToString("yyyy-MM-dd");
            string end   = item.end;   //.ToString("yyyy-MM-dd");

            return(DateTimeManger.Availability(DateTime.Parse(begin), DateTime.Parse(end), DateTime.Now));;
        }
Example #3
0
        private bool CheckConfig(string checkurl)
        {
            bool check = false;

            AgentConfig agentConfig = new AgentConfig();
            WeixinAgent weixinAgent = agentConfig.GetConfig();

            foreach (WeixinAgentItem item in weixinAgent.agentItem)
            {
                string url       = item.url;
                bool   signature = item.signature;
                string begin     = item.begin; //.ToString("yyyy-MM-dd");
                string end       = item.end;   //.ToString("yyyy-MM-dd");

                //logs.Fatal("url:"+ url + "   checkurl:"+ checkurl+ "   begin:"+ begin+ "   end:"+ end);

                if (checkurl == url && signature)
                {
                    check = DateTimeManger.Availability(DateTime.Parse(begin), DateTime.Parse(end), DateTime.Now);
                    //logs.Fatal("check:" + check);

                    if (check)
                    {
                        break;
                    }
                }
            }

            return(check);
        }
Example #4
0
        private void buttonExport_Click(object sender, EventArgs e)
        {
            GetReport();
            if (reportAll == null || reportAll.Count == 0)
            {
                MessageBox.Show("没有可以导出的报告", "提示");
                return;
            }
            string reportType = "周";

            if ((dateTimePickerSearchFrom.Value.Day == 1 && dateTimePickerSearchTo.Value - dateTimePickerSearchFrom.Value > new TimeSpan(7, 0, 0, 0)) ||
                (long)DateTimeManger.DateDiff(DateInterval.Month, dateTimePickerSearchFrom.Value, dateTimePickerSearchTo.Value) == 1)
            {
                reportType = "月";
            }
            ExportForm export = new ExportForm(reportAll, reportType);

            //export.ShowDialog();
            //export.Show(this);
            export.Show();
        }
Example #5
0
        /// <summary>
        /// 同步运单的最新状态
        /// </summary>
        public static void DoSyncTrackStates()
        {
            //获取指定商业伙伴同步的时间间隔和服务开启的状态
            string strSql     = "SELECT bit_synOpen,int_synSpacing FROM tb_Agent WHERE int_AGid=" + mainAGid.ToString();
            Agent  agent      = SQLHelper.GetObject <Agent>(strSql).FirstOrDefault();
            int?   intSpacing = 60;

            if (agent == null)
            {
                return;
            }
            intSpacing = agent.int_synSpacing;

            IList <SFITrackNum> tracks = new List <SFITrackNum>();

            string strRes       = "";
            int    intNew       = 0;
            int    intError     = 0;
            int    intCompleted = 0;
            //DateTime.

            long   intProcessCode = DateTimeManger.DateDiff(DateInterval.Minute, DateTime.Now.AddDays(-3), DateTime.Now);
            string strSysCode     = DateTime.Now.ToString("yyyyMMddhhmmss");
            string logMsg         = string.Empty;

            //记录系统运行的日志
            logMsg = $"{strSysCode}-Agent:{mainAGname} 检查点数据刷新服务启动{ProcessName}";
            SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg });
            try
            {
                if (!SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNum, new { intProcessCode = intProcessCode, mainSynSign = mainSynSign, mainAGid = mainAGid, intSpacing = intSpacing, mainOverTime = mainOverTime }))
                {
                    logMsg = $"{strSysCode}-Agent:{ mainAGname} 没有需要刷新的数据{ProcessName}";
                    SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg });
                    return;
                }

                tracks = SQLHelper.GetObjectByProc <SFITrackNum>(Constants.sp_Get_SFI_TrackNum, new { intProcessCode = intProcessCode, mainSynSign = mainSynSign }).ToList();
                if (tracks == null | tracks.Count == 0)
                {
                    logMsg = $"{strSysCode}-Agent:{mainAGname} 没有需要刷新的数据{ProcessName}";
                    SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg });
                    return;
                }
                logMsg = $" {strSysCode}-Agent:{mainAGname} 开始获取数据 - { tracks.Count}{ProcessName}";
                SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg });
                foreach (SFITrackNum track in tracks)
                {
                    try
                    {
                        //通过dpd单号去获取运单的状态信息
                        IList <TrackRecord>       records = GetDPDInfo(track.vchar_AGnum);
                        IEnumerable <TrackRecord> rcs     = GetTMSInfo(track.vchar_SFInum);
                        foreach (var item in rcs)
                        {
                            records.Add(item);
                        }
                        intNew   = 0;
                        intError = 0;
                        if (records.Count == 0)
                        {
                            #region 没有获取到运单的状态信息
                            strRes = WriteServerLog(track, "0|0|0|", $"未获取导数据,请尝试手工获取{ProcessName}");
                            #endregion
                        }
                        else
                        {
                            #region 获取到运单的状态信息
                            foreach (TrackRecord record in records)
                            {
                                strRes = UpdateTrackRecord(track, record);
                                if (strRes == "N")
                                {
                                    intNew += 1;
                                }
                                else if (strRes == "F")
                                {
                                    intError += 1;
                                }
                            }
                            strRes = WriteServerLog(track, $"{records.Count}|{intNew}|{intError}|", string.Empty);
                            #endregion
                        }
                        SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid });
                        intCompleted += 1;
                    }
                    catch (Exception ex)
                    {
                        strRes = WriteServerLog(track, "0|0|0|", ex.Message);
                        SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid });
                    }
                }
            }
            catch (Exception ex)
            {
                logMsg = $"{strSysCode}-Agent:{mainAGname} 服务运行错误:{ex.Message} {ProcessName}";
                SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg });
                if (tracks.Count != 0)
                {
                    foreach (SFITrackNum track in tracks)
                    {
                        SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid });
                    }
                }
                return;
            }
            if (tracks.Count != 0)
            {
                foreach (SFITrackNum track in tracks)
                {
                    SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid });
                }
            }
            logMsg = $"{strSysCode}-Agent:{mainAGname} 服务运行完成 - {intCompleted}{ProcessName}";
            SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg });
        }