123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Uninpho.DBOperation.Model;
- using Uninpho.DBOperation.Operation;
- using System.IO;
- namespace ZDHscript
- {
-
-
-
- class RunAlgorithmcs
- {
-
-
-
- public static void AlgorithmcsRun()
- {
-
- if (Store.GeofileAccount.Count != 0)
- {
- RunJHFX();
- }
- else
- {
- ColorClass.Console_MessageColor("几何算法没有新增数据,未执行算法");
- }
-
- RunWXSF();
-
-
-
-
-
-
-
-
-
- }
-
-
-
- public static void RunJHFX()
- {
- try
- {
- ColorClass.Console_MessageColor("几何算法开始执行");
- for (int i = 0; i < Store.GeofileAccount.Count; i++)
- {
- if (File.Exists(Store.GeofileAccount[i].Srlj))
- {
- ZDHDataAnalysisFun.JH_new(Store.GeofileAccount[i]);
- }
- }
- ColorClass.Console_MessageColor("几何算法开始完毕");
- }
- catch (Exception ex)
- {
- ColorClass.Console_EorrColor("几何算法执行错误:" + ex.Message);
- throw;
- }
- }
-
-
-
- public static void RunLGL()
- {
- try
- {
- ColorClass.Console_MessageColor("轮轨力算法开始执行");
- for (int i = 0; i < Store.BnyfileAccount.Count; i++)
- {
- if (File.Exists(Store.BnyfileAccount[i].Srlj))
- {
- ZDHDataAnalysisFun.LGL_new(Store.BnyfileAccount[i]);
- }
- }
- ColorClass.Console_MessageColor("轮轨力算法开始完毕");
- }
- catch (Exception ex)
- {
- ColorClass.Console_EorrColor("轮轨力算法执行错误:" + ex.Message);
- throw;
- }
- }
-
-
-
- public static void RunWXSF()
- {
- try
- {
- ColorClass.Console_MessageColor("微小算法开始执行");
-
- getWXSFdata();
-
- addWXSFReference();
-
- ZDHDataAnalysisFun.WXSFFun(Store.GeoJHAccount);
- ColorClass.Console_MessageColor("微小算法开始完毕");
- }
- catch (Exception ex)
- {
- ColorClass.Console_EorrColor("微小算法执行错误:" + ex.Message);
- throw;
- }
- }
-
-
-
-
- public static void getWXSFdata()
- {
- try
- {
- ColorClass.Console_MessageColor("正在检查未执行微小算法的数据");
- Store.GeoJHAccount = DataAnalysisToPG.QueryToPGByNameWXSFZD() as List<T_jihefenxi_account>;
- ColorClass.Console_MessageColor("检测完毕!共" + Store.GeoJHAccount.Count + "条数据满足执行微小算法的条件");
- }
- catch (Exception ex)
- {
- ColorClass.Console_EorrColor("微小算法未执行数据获取失败!" + ex.Message);
- throw;
- }
- }
-
-
-
- public static void addWXSFReference()
- {
- try
- {
- ColorClass.Console_MessageColor("正在检索参考数据(每条新增数据的上一次最新日期数据)");
-
-
- List<T_jihefenxi_account> quchong = WXSFquchong(Store.GeoJHAccount);
-
- List<List<T_jihefenxi_account>> datalist = DataAnalysisToPG.QueryToPGByNameWXSFZDReference(quchong);
-
- List<T_jihefenxi_account> cankao = dateCompare(datalist);
- for (int i = 0; i < cankao.Count; i++)
- {
- Store.GeoJHAccount.Add(cankao[i]);
- }
- ColorClass.Console_MessageColor("检测完毕!已添加参考数据" + cankao.Count + "条");
- }
- catch (Exception ex)
- {
- ColorClass.Console_EorrColor("检索失败!" + ex.Message);
- throw;
- }
- }
-
-
-
- public static List<T_jihefenxi_account> dateCompare(List<List<T_jihefenxi_account>> datalist)
- {
- List<T_jihefenxi_account> cankaolist = new List<T_jihefenxi_account>();
- foreach (var item in datalist)
- {
- T_jihefenxi_account cancan = new T_jihefenxi_account();
- cancan.Riqi = "1800年1月1日";
- foreach (var it in item)
- {
- var date1 = DateTime.Parse(cancan.Riqi);
- var date2 = DateTime.Parse(it.Riqi);
- if (DateTime.Compare(date1,date2 ) < 0)
- {
- cancan = it;
- }
- }
- cankaolist.Add(cancan);
- }
- return cankaolist;
- }
-
-
-
-
-
- public static List<T_jihefenxi_account> WXSFquchong(List<T_jihefenxi_account> datalist)
- {
- List<T_jihefenxi_account> cankaolist = new List<T_jihefenxi_account>();
- foreach (var item in datalist)
- {
- cankaolist.Add(new T_jihefenxi_account()
- {
- Xlm = item.Xlm,
- Xingbie = item.Xingbie,
- Jgjlc = item.Jgjlc,
- Riqi = item.Riqi,
- Jcc = item.Jcc
- });
- }
- cankaolist = cankaolist.Distinct().ToList();
- return cankaolist;
- }
- }
- }
|