public SearchTaskModule(string tableName, MergeBase mergeBase, IDataLoader dataLoader, DistributorModule distributor, BackgroundModule backgroundModule, ScriptParser scriptParser) { _tableName = tableName; _mergeBase = mergeBase; _dataLoader = dataLoader; _distributor = distributor; _backgroundModule = backgroundModule; _scriptParser = scriptParser; }
protected MergeBase Translate(Queue <string> queue, int ValCount, bool Flag = false) { MergeBase database = new MergeBase(); System.Reflection.PropertyInfo[] propList = typeof(MergeBase).GetProperties(); string temp = string.Empty; if (queue.Count == ValCount) { foreach (var item in propList) { if (item.Name == "GYYD") { continue; } if (queue.Count > 0) { temp = queue.Dequeue(); if (!string.IsNullOrEmpty(temp)) { if (item.PropertyType.Equals(typeof(double))) { double val; if (double.TryParse(temp, out val)) { item.SetValue(database, val, null); } else { Console.WriteLine(temp); } } else if (item.PropertyType.Equals(typeof(int))) { int m = 0; if (int.TryParse(temp, out m)) { item.SetValue(database, m, null); } else { Console.WriteLine(temp); } } else if (item.PropertyType.Equals(typeof(bool)) && !Flag) { switch (temp) { case "是": item.SetValue(database, true, null); break; case "否": item.SetValue(database, false, null); break; } } } } } } return(database); }
public void Doing() { this.List = Get("Select DKBH,QYBH,JZMJ from GYYD_YDDW"); //DD(this.List); var DKBHS = GetBase("Select DKBH from GYYD Group By DKBH"); foreach (var dkbh in DKBHS) { var tempList = this.List.Where(e => e.DKBH == dkbh).ToList(); var merge = new Merge() { DKBH = dkbh, CZQYSL = tempList.Count, Base = new MergeBase() }; foreach (var gydw in tempList) { if (merge.Hy == null) { merge.Hy = GetHY(string.Format("Select HYLB, HYDM from YDDW where QYBH='{0}'", gydw.QYBH)); } ReadData(new string[] { string.Format("Select SFGXQY,CYRS,LJGDZCTZ,YDL2012,YDL2013,YDL2014,GSRKSS2012,GSRKSS2013,GSRKSS2014,DSRKSS2012,DSRKSS2013,DSRKSS2014,ZYYSR2012,ZYYSR2013,ZYYSR2014,TDZMJ,SFGSQY,GDZCYJ from YDDW where QYBH='{0}'", gydw.QYBH) }); var mergebase = Translate(queue, 18); if (!merge.SFGSQY && mergebase.SFGSQY) { merge.SFGSQY = true; } if (mergebase.SFGXQY) { merge.SFGXQY++; } MergeBase margin = null; if (TempDict.ContainsKey(gydw.QYBH)) { var body = TempDict[gydw.QYBH]; if (body.merge == null) { TempDict[gydw.QYBH].merge = mergebase; } if (body.Count == 1) { margin = body.merge - body.Reduce; } else { TempDict[gydw.QYBH].Count--; margin = mergebase * gydw.Percent; TempDict[gydw.QYBH].Reduce = body.Reduce + margin; } if (MarginDict.ContainsKey(gydw.QYBH)) { MarginDict[gydw.QYBH].Add(margin); } //else //{ // if (body.Count > 1) // { // MarginDict.Add(gydw.QYBH, new List<MergeBase>() { margin }); // } //} } if (margin != null) { merge.Base = merge.Base + margin; } //merge.Base = merge.Base + mergebase * gydw.Percent; if (double.IsNaN(merge.Base.DSRKSS2012)) { Console.WriteLine(""); } } Dict.Add(dkbh, merge); } foreach (var key in Dict.Keys) { var tem = Dict[key]; var boolstr = tem.SFGSQY ? "是" : "否"; SQLText = string.Format("UPDATE GYYD SET LJGDZCTZ={0},ZYYSR2012={1},ZYYSR2013={2},ZYYSR2014={3},DSRKSS2012={4},DSRKSS2013={5},DSRKSS2014={6},GSRKSS2012={7},GSRKSS2013={8},GSRKSS2014={9},YDL2012={10},YDL2013={11},YDL2014={12},CYRS={13},TDZMJ={14},SFGXQY={15},SYDKS=1,SFGSQY='{16}',HYLB='{17}',HYDM='{18}',GDZCYJ={19} where DKBH='{20}'", tem.Base.LJGDZCTZ, tem.Base.ZYYSR2012, tem.Base.ZYYSR2013, tem.Base.ZYYSR2014, tem.Base.DSRKSS2012, tem.Base.DSRKSS2013, tem.Base.DSRKSS2014, tem.Base.GSRKSS2012, tem.Base.GSRKSS2013, tem.Base.GSRKSS2014, tem.Base.YDL2012, tem.Base.YDL2013, tem.Base.YDL2014, tem.Base.CYRS, tem.Base.TDZMJ, tem.SFGXQY, boolstr, tem.Hy.HYLB, tem.Hy.HYDM, tem.Base.GDZCYJ, tem.DKBH); //SQLText = string.Format("UPDATE GYYD SET LJGDZCTZ={0},ZYYSR2012={1},ZYYSR2013={2},ZYYSR2014={3},DSRKSS2012={4},DSRKSS2013={5},DSRKSS2014={6},GSRKSS2012={7},GSRKSS2013={8} where DKBH='{9}'", tem.Base.LJGDZCTZ, tem.Base.ZYYSR2012, tem.Base.ZYYSR2013, tem.Base.ZYYSR2014, tem.Base.DSRKSS2012, tem.Base.DSRKSS2013, tem.Base.DSRKSS2014, tem.Base.GSRKSS2012, tem.Base.GSRKSS2013, tem.DKBH); ExecuteQuery(SQLText); //SQLText = string.Format("UPDATE GYYD SET GSRKSS2014={0},YDL2012={1},YDL2013={2},YDL2014={3},CYRS={4},TDZMJ={5},SFGXQY={6},SYDKS=1,SFGSQY='{7}',HYLB='{8}',HYDM='{9}',GDZCYJ={10} where DKBH='{11}'", tem.Base.GSRKSS2014, tem.Base.YDL2012, tem.Base.YDL2013, tem.Base.YDL2014, tem.Base.CYRS, tem.Base.TDZMJ, tem.SFGXQY, boolstr, tem.Hy.HYLB, tem.Hy.HYDM, tem.Base.GDZCYJ, tem.DKBH); //ExecuteQuery(SQLText); try { } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } //Console.WriteLine("成功"); Working(); //BB(); Console.WriteLine("Success"); }