| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using Winsoft.GOV.Framework.Model;
- using Winsoft.GOV.Framework.Provider;
- using System.Configuration;
- namespace Winsoft.GOV.ConsoleSyncData
- {
- class Program
- {
- static void Main(string[] args)
- {
- DateTime t = GetUpdateDate();
- PowerMattersDetail last = new PowerMattersDetail {
- UPDATE_DATE = t
- };
- try
- {
- while (true)
- {
- Console.WriteLine("最近更新时间:" + t.ToString());
- IEnumerable<PowerMattersDetail> pms = QLSXProvider.Instance.Select(t);
- foreach (PowerMattersDetail pm in pms)
- {
- if (pm.QL_NAME.First<char>() == '$')
- {
- Console.WriteLine(String.Format("忽略--权力单位:{0}; 数据推送时间:{1}", pm.QL_DEP, pm.UPDATE_DATE.ToString()));
- continue;
- }
- Branch b = BranchProvider.Instance.Find(pm.OUGUID);
- if (b == null)
- {
- b = new Branch()
- {
- ShortName = pm.QL_DEP,
- GUID = pm.OUGUID,
- Position = 999
- };
- BranchProvider.Instance.Insert(b);
- }
- PowerMettersDetailProvider.Instance.UpdateOrInsert(pm);
- PowerMattersBase p = new PowerMattersBase()
- {
- QL_NAME = pm.QL_NAME,
- QL_INNER_CODE = pm.QL_INNER_CODE,
- QL_DEP = b.ShortName,
- OUGUID = pm.OUGUID,
- QL_STATE = pm.QL_STATE
- };
-
- if (!PowerMettersBaseProvider.Instance.IsExistByQL_INNER_CODE(pm.QL_INNER_CODE))
- {
- Console.WriteLine(String.Format("新增--权力单位:{0}; 数据推送时间:{1}", p.QL_DEP, pm.UPDATE_DATE.ToString()));
- PowerMettersBaseProvider.Instance.Insert(p);
- }
- else
- {
- Console.WriteLine(String.Format("更新--权力单位:{0}; 数据推送时间:{1}", p.QL_DEP, pm.UPDATE_DATE.ToString()));
- PowerMettersBaseProvider.Instance.Update(p);
- }
-
- }
- if (pms != null && pms.Count() > 0)
- {
- t = pms.Last().UPDATE_DATE;
- continue;
- }
- else
- {
- SaveUpdateDate(t);
- Console.WriteLine("休眠1小时");
- Thread.Sleep(3600000);
- }
- }
- }
- catch(Exception e)
- {
- Console.WriteLine(e.Message);
- Console.ReadKey();
- }
- }
- private static DateTime GetUpdateDate()
- {
- //获取Configuration对象
- DateTime t = DateTime.Now;
- Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- if (config.AppSettings.Settings["UpdateDate"] == null)
- {
- t = PowerMettersDetailProvider.Instance.FindLastUpdateDate();
- return t;
- }
- else
- {
-
- DateTime t2 = PowerMettersDetailProvider.Instance.FindLastUpdateDate();
- if (DateTime.TryParse(config.AppSettings.Settings["UpdateDate"].Value, out t))
- {
- Console.WriteLine("是否指定开始时间?");
- if (Console.ReadKey().KeyChar == 'y')
- {
- return t;
- }
- return t > t2 ? t : t2;
- }
- else
- return t2;
- }
- }
-
- private static void SaveUpdateDate(DateTime t)
- {
- Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- if (config.AppSettings.Settings["UpdateDate"] == null)
- {
- config.AppSettings.Settings.Add("UpdateDate", t.ToString());
- }
- else
- {
- config.AppSettings.Settings["UpdateDate"].Value = t.ToString();
- }
- config.Save(ConfigurationSaveMode.Modified);
- ConfigurationManager.RefreshSection("appSettings");
- }
- }
- }
|