private Hashtable CreateHtParam(EHS_ENTRY_HEAD info) { Hashtable ht = new Hashtable(); ht["SHIP_ID"] = info.SHIP_ID; ht["VOYAGE_NO"] = info.VOYAGE_NO; ht["BILL_NO"] = info.BILL_NO; ht["I_E_FLAG"] = info.I_E_FLAG; ht["I_E_PORT"] = info.I_E_PORT; ht["L_D_PORT"] = info.L_D_PORT; ht["TRAF_NAME"] = info.TRAF_NAME; ht["SEND_NAME"] = info.SEND_NAME; ht["OWNER_NAME"] = info.OWNER_NAME; ht["SEND_COUNTRY"] = info.SEND_COUNTRY; ht["SEND_CITY"] = info.SEND_CITY; ht["TRADE_CODE"] = info.TRADE_CODE; ht["TRADE_NAME"] = info.TRADE_NAME; ht["MAIN_G_NAME"] = info.MAIN_G_NAME; ht["PACK_NO"] = info.PACK_NO; ht["GROSS_WT"] = info.GROSS_WT; ht["TOTAL_VALUE"] = info.TOTAL_VALUE; ht["CURR_CODE"] = info.CURR_CODE; ht["I_E_DATE"] = info.I_E_DATE; ht["D_DATE"] = info.D_DATE; ht["ENTRY_TYPE"] = info.ENTRY_TYPE; ht["DEC_TYPE"] = info.DEC_TYPE; ht["DEC_ER"] = info.DEC_ER; ht["READ_DATE"] = info.READ_DATE; ht["DEC_DATE"] = info.DEC_DATE; ht["M_CHECKH"] = info.CHK_MARK; ht["READ_FLAG"] = "0"; return(ht); }
private int SaveInfo(EHS_ENTRY_HEAD info) { if (info == null) { return(0); } int rs = 0; try { //S(); string newDecType = ChangeDecType(info.TRADE_CODE, info.DEC_TYPE); info.DEC_TYPE = newDecType; bool billIsExist = CheckBillExist(info.BILL_NO); // E("", "判断"); // S(); if (billIsExist) { rs = UpdateHeadInfo(info); // FileHelper.WriteLog("更新 BILL_NO:" + info.BILL_NO + (rs > 0 ? "成功" : "失败")); } else { rs = InsertHeadInfo(info); // FileHelper.WriteLog("新增 BILL_NO:" + info.BILL_NO + (rs > 0 ? "成功" : "失败")); } // E("", "数据库存储"); } catch (Exception ex) { FileHelper.WriteLog("发生错误! BILL_NO:" + info.BILL_NO + "\r\n错误原因:" + ex.ToString()); } return(rs); }
public void ReadFiles() { DirectoryInfo di = new DirectoryInfo(HGPath); FileInfo newFile = null; MyXmlDocument doc = MyXmlDocument.CreateInstance(); //try //{ // while (true) // { // di = new DirectoryInfo(HGPath); // bool rs = di.Exists; // if (rs) // { // break; // } // Thread.Sleep(60000); // } //} //catch (Exception ex) //{ // Loger.LogMessage(ex.ToString()); //} // FileHelper.WriteLog("开始获取文件"); S(); FileInfo[] files = di.GetFiles(); // int icount = Math.Min(50, files.Length); int icount = files.Length; E("", "从海关服务器读取文件"); FileHelper.WriteLog("从海关服务上获取到" + icount + "个文件"); DateTime dtS = DateTime.Now; string dueTime, dueTxt; string newFilePath = ""; for (int i = 0; i < icount; i++) { try { dtS = DateTime.Now; S(); newFilePath = MoveFileToPath(files[i], ReadPath); CopyFileToPath(newFilePath, OtherPath); E(files[i].Name, "移动到Read文件夹"); S(); newFile = new FileInfo(newFilePath); // XmlDocument doc = new XmlDocument(); doc.Load(newFile.FullName); XmlNodeList node = doc.SelectNodes("DATA/ENTRY_HEAD"); IList <EHS_ENTRY_HEAD> infos = new List <EHS_ENTRY_HEAD>(); foreach (XmlNode item in node) { EHS_ENTRY_HEAD info = XmlHelper.Deserialize <EHS_ENTRY_HEAD>(item.OuterXml); infos.Add(info); } E(newFile.Name, "读取文件"); S(); int rs = 0; foreach (var info in infos) { rs += SaveInfo(info); } E(newFile.Name, "存储"); S(); if (rs > 0) { MoveFileToPath(newFile, true); } else { MoveFileToPath(newFile, false); } E(newFile.Name, "移动到Save文件夹"); dueTime = DateTime.Now.Subtract(dtS).TotalSeconds.ToString("0.00"); dueTxt = (newFile == null ? "未知文件" : newFile.Name) + "处理完成,用时:" + dueTime + "秒"; FileHelper.WriteLog(dueTxt); Console.WriteLine(dueTxt); } catch (Exception ex) { MoveFileToPath(newFile, false); Console.WriteLine((newFile == null ? "未知文件" : newFile.Name) + "处理失败,原因:" + ex.Message); Loger.LogMessage(ex.ToString()); } } }
private int UpdateHeadInfo(EHS_ENTRY_HEAD info) { Hashtable ht = CreateHtParam(info); return(UpdateTable(ht)); }
private int InsertHeadInfo(EHS_ENTRY_HEAD info) { Hashtable ht = CreateHtParam(info); return(InsertTable(ht)); }