public static void exportHandle2(XmlDBManager xmldb, OracleDBManagerV94 oracledb, string session_id, string ftplj, decimal?ltt_id) { try { if (oracledb == null) { return; } if (xmldb == null) { return; } OracleSequenceValueGenerator.Instance.DbManager = oracledb; string symboldir = Path.Combine(Assembly.GetExecutingAssembly().GetPhysicalDirectory(), "SymbolConfig.xml"); SimpleSymbolConfig.Instance = ElectronTransferFramework.Serialize.XmlSerializeUtils.Load <SimpleSymbolConfig>(symboldir, new Type[] { }); int i = 0; string[] allowStatus = new string[] { "EDIT", "ADD", "DELETE" }; int fnocount = SimpleSymbolConfig.Instance.Symbols.Count; foreach (var symbol in SimpleSymbolConfig.Instance.Symbols) { try { if (symbol.Fno == 140 || symbol.Fno == 141 || symbol.Fno == 142 || symbol.Fno == 163) { Type type; if (!string.IsNullOrEmpty(symbol.PtClassName)) { type = TypeCache.Instance.GetTypeFromCache(typeof(DBEntity), symbol.PtClassName); var symbolSet = oracledb.GetEntities(type, " where g3e_fid in (select g3e_fid from " + session_id + " where g3e_fno=" + symbol.Fno + ") ").Cast <ElectronBase>().ToList(); var ASet_symbol = from item in symbolSet.Where(o => o.GetValue <decimal?>("LTT_ID") == ltt_id && allowStatus.Contains(o.GetValue <string>("LTT_STATUS"))) group item by item.G3E_FID into g select g.OrderBy(o => o.G3E_ID).Last(); var BSet_symbol = from item in symbolSet.Where(o => o.GetValue <decimal?>("LTT_ID") == 0 && ASet_symbol.Count(a => a.G3E_FID == o.G3E_FID) == 0) select item; var UnionSet_symbol = ASet_symbol.Union(BSet_symbol); xmldb.InsertBulk_SetKxType(UnionSet_symbol.Cast <DBEntity>()); } i++; PublicMethod.write_state(ftplj, 0.81 + i * 0.15 / 4); } } //} catch (Exception ex) { CYZLog.writeLog(ex.ToString(), ""); } finally { } } } catch (Exception ex) { CYZLog.writeLog(ex.ToString(), ""); } }